小编Ami*_*ble的帖子

制作.batch文件来启动/停止程序?

我需要一个批处理(.bat)文件,如果程序未打开则打开程序,如果程序打开则停止程序.我有一个游戏,当发射器关闭时,它在后台保持打开状态.我必须以任务管理器结束它,否则我无法启动它,因为当应用程序打开两次时它不喜欢它(它不允许它),所以我想要一个批处理文件来执行此操作对我来说,然后将它绑定到一个宏.

batch-file

2
推荐指数
1
解决办法
4796
查看次数

使用匿名类型返回已过滤的IQueryable <T>

我有一组报告,我需要在返回输出之前执行过滤.我想用一个匿名方法执行此操作,以避免在不同的存储库中复制相同的代码.我正在使用Entity Framework,因此模型类型都与数据库相关,并从一个名为的基类继承ReportBase.

这就是我当前实现过滤的方式,每种报告类型都必须使用不同的上下文实现此方法并返回不同的IQueryable类型.

private IQueryable<ReviewAgreement> GetFiltered(ReportFilter filter)
{
    IQueryable<ReviewAgreement> reviewAgreementQueryable = Context.ReviewAgreements.Where(p => p.ClientWorkflowId == filter.ClientWorkflowId);
    if (filter.AppraisalLevelId.HasValue)
    {
        reviewAgreementQueryable = reviewAgreementQueryable.Where(p => p.AppraisalLevelId == filter.AppraisalLevelId.Value);
    }
    return reviewAgreementQueryable;
}
Run Code Online (Sandbox Code Playgroud)

我一直试图匿名实现这个,所以我可以重用它,就像在这个非功能性的例子中一样.

public IQueryable<T> GetFiltered(ReportFilter filter)
{
    IQueryable<T> reportQueryable = Context.Set<T>();
    reportQueryable = reportQueryable.Where(p => p.ClientWorkflowId == filter.ClientWorkflowId);

    if (filter.AppraisalLevelId.HasValue)
    {
        reportQueryable = reportQueryable.Where(p => p.AppraisalLevelId == filter.AppraisalLevelId.Value);
    }

    return reportQueryable;
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题当然是使用Where模糊,所以无法解决p.ClientWorkflowId.

我已经尝试使用Func<T, TResult>委托传递过滤选项,但Where操作似乎想要返回一个列表.

实际上是否有一种方法可以用来实现我想要的效果?

c# entity-framework iqueryable anonymous-types

2
推荐指数
1
解决办法
1672
查看次数

C#Linq在多个列上联接2个表,并使用GROUP BY进行计数

我需要在五个列上加入两个实体,并且需要在SELECT中的每一列上加上GROUP BY,并在每个GROUP BY上获得一个COUNT。尽管这对SQL来说对我来说是小菜一碟,但我却对我为LINQ找到的每个示例都感到困惑。

我发现了以下两个问题(在多个列[重复]上的C#Linq分组依据在多个列上分组),但我仍然对如何执行此操作感到困惑。这是我的SQL语句:

SELECT  o.org_hq_name,
        o.org_command_name,
        o.org_region_name,
        o.org_installation_name,
        o.org_site_name,
        o.org_subsite_name,
        o.org_hq_id,
        o.org_command_id,
        o.org_region_id,
        o.org_installation_id,
        o.org_site_id,
        count(org_site_id) AS count

FROM    organization o, asset a

WHERE      o.org_hq_id = hq_org_id
AND        o.org_command_id = a.command_org_id
AND        o.org_region_id = a.region_org_id
AND        o.org_installation_id = a.installation_org_id
AND        o.org_site_id = a.site_org_id

GROUP BY o.org_hq_name,
        o.org_command_name,
        o.org_region_name,
        o.org_installation_name,
        o.org_site_name,
        o.org_subsite_name,
        o.org_hq_id,
        o.org_command_id,
        o.org_region_id,
        o.org_installation_id,
        o.org_site_id
Run Code Online (Sandbox Code Playgroud)

我在下面有一个加入:

var join1 =  from m in context.asset
             join o in context.organization
             on new {hqID = a.hq_org_id, commandID = …
Run Code Online (Sandbox Code Playgroud)

linq join group-by aggregate count

2
推荐指数
1
解决办法
5934
查看次数

捕获异常并保持GUI逻辑分离

在这种情况下,您如何纠正处理异常的方法?最初,我希望以下列方式使用trycatch将捕获上载失败时助手类抛出的异常.

我的目标是返回"false"并打开一个Messagebox,并显示错误消息,我将从我的上传尝试中取出HTML响应.我试图这样做,而不是采取不好的做法,并将GUI代码放入我的助手类.

        try
        {
            // returns bool
            successful = UploadHelper.Upload(uploadToPath, File.ReadAllBytes(uploadFromPath), properties);
        }
        catch (Exception ex)
        {
            string error = ex.Message;
        }
Run Code Online (Sandbox Code Playgroud)

助手班:

    public static bool Upload(string webUrl, string documentName, byte[] bytes, Dictionary<string, object> metaInfo, out string result)
    {
        try
        {
            using (WebClient webClient = new WebClient())
            {
                //result is HTML string containing data
                result = Encoding.UTF8.GetString(webClient.UploadData(webUrl + "/_vti_bin/_vti_aut/author.dll", "POST", data.ToArray()));

                // if fails throw exception
                if (result.IndexOf("\n<p>message=successfully") < 0)
                    throw new Exception(result);
            }
        }
        catch (Exception ex)
        {
            result …
Run Code Online (Sandbox Code Playgroud)

.net c# exception-handling exception

1
推荐指数
1
解决办法
1568
查看次数

C#:使exe不能直接运行

我需要让主要的.exe不可用(当你尝试直接启动它时,你得到一条消息:无法直接启动,如果它从二级exe运行(只有它,我必须有一个crc验证)然后启动.

希望我自己清楚First .exe无法直接启动第二个.exe可以启动第一个exe(仅限)

c# exe

1
推荐指数
2
解决办法
422
查看次数

找出字符串中最长的数字序列

我正在尝试清除低质量 OCR 读取的结果,试图删除我可以安全地认为是错误的所有内容。

所需的结果是一个 6 位数字字符串,因此我可以从结果中排除任何不是数字的字符。我也知道这些数字是按顺序出现的,所以任何乱序的数字也很可能是不正确的。

(是的,修复质量是最好的,但不......他们不会/不能更改他们的文件)

我立即Trim()删除空格,因为这些将作为文件名结束,我也删除了所有非法字符。

我已经找出了哪些字符是数字,并将它们添加到字典中,以查找它们所在的数组位置。这让我对数字序列有了清晰的视觉指示,但我正在努力研究如何让我的程序识别这一点的逻辑。

使用字符串“ Oct', 2$3622 ”进行测试(实际读取错误)理想的输出是“ 3662对人类很明显

    public String FindLongest(string OcrText)
    {
        try
        {
            Char[] text = OcrText.ToCharArray();
            List<char> numbers = new List<char>();

            Dictionary<int, char> consec = new Dictionary<int, char>();

            for (int a = 0; a < text.Length; a++)
            {
                if (Char.IsDigit(text[a]))
                {
                    consec.Add(a, text[a]);

                    // Won't allow duplicates?
                    //consec.Add(text[a].ToString(), true);
                }
            }

            foreach (var item in consec.Keys)
            {
                #region Idea that didn't work
                // Combine values with consecutive keys …
Run Code Online (Sandbox Code Playgroud)

c# string

1
推荐指数
1
解决办法
2250
查看次数

如何获得laravel工作的@layout功能?

我是laravel的新手,试图学习BLADE,但有一个问题让我感到震惊.我有一个

index.blade.php

@layout('master')
Run Code Online (Sandbox Code Playgroud)

我也有一个

master.blade.php
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Laravel: A Framework For Web Artisans</title>
<meta name="viewport" content="width=device-width">

</head>
<body>
hi from body
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

问题是,当我试图调用index.blade.php时,它给我一个错误说

Unhandled Exception
Message:

View [master] doesn't exist.

Location:

C:\xampp\htdocs\laravel-laravel2\laravel\view.php on line 170

Stack Trace:

#0 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(107): Laravel\View->path('master')
#1 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(218): Laravel\View-                                >__construct('master', Array)
#2 C:\xampp\htdocs\laravel-laravel2\laravel\helpers.php(526): Laravel\View::make('master', Array)
#3 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(386) : eval()'d code(2): view('master')
#4 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(386): eval()
#5 C:\xampp\htdocs\laravel-laravel2\laravel\blade.php(71): Laravel\View->get()
#6 [internal function]: Laravel\Blade::Laravel\{closure}(Object(Laravel\View))
#7 C:\xampp\htdocs\laravel-laravel2\laravel\event.php(199): call_user_func_array(Object(Closure), Array)
#8 C:\xampp\htdocs\laravel-laravel2\laravel\event.php(138): …
Run Code Online (Sandbox Code Playgroud)

layout view laravel blade

1
推荐指数
1
解决办法
2705
查看次数

Vb.net在文本框中运行脚本

我想知道是否有一种方法可以执行Textbox1中的脚本,就像您在textbox1中编写此代码一样

msgbox("Hello World")
Run Code Online (Sandbox Code Playgroud)

当您单击按钮或按Enter时,它将运行您在Textbox1中编写的命令/脚本

vb.net textbox

1
推荐指数
1
解决办法
2978
查看次数

Makefile目标永远不会满足

我觉得这是一个相当普遍的问题,但我无法在任何地方找到答案.我有一个这样的目标:

initfs.tar: $(INITFS_FILES)
    rm -f ./initfs.tar
    cd initfs_root
    tar --format ustar --exclude-vcs -cf ../initfs.tar ./
Run Code Online (Sandbox Code Playgroud)

INITFS_FILES定义为:

INITFS_FILES:=$(shell find ./initfs_root/ -not -path '*/.*/*' -not -name '.*' -type f)
Run Code Online (Sandbox Code Playgroud)

每次打电话make initfs.tar,都会运行此目标.在initfs_root目录中没有触及任何文件(并且使用该find命令找到所有文件).确实创建了initfs.tar.

有没有人知道为什么会这样?这对我来说没有意义,根据我在互联网上遇到的所有其他帖子以及我目前的专业知识,我认为一切都是正确的(尽管显然,我的专业知识在Makefile领域缺乏;)

dependencies makefile target

0
推荐指数
1
解决办法
91
查看次数

伪代码找到数组中最长的运行

我知道A run是一系列相邻的重复值,你如何编写伪代码来计算数组中最长运行的长度,例如

5将是这个整数数组中运行时间最长的.

1 2 4 4 3 1 2 4 3 5 5 5 5 3 6 5 5 6 3 1

任何想法都会有所帮助.

pseudocode

0
推荐指数
1
解决办法
7028
查看次数

如何运行/启动VBA程序mac excel 2011

我是VBA编程新手,想在我的Mac上练习.但是,看起来我的excel文档顶部的栏通过按下播放按钮开始/运行程序已经消失了.现在我不能再运行我的程序了,因为我之前用来启动程序的栏已经不见了.非常感谢再次获得该工具栏的帮助.或者,在mac上运行vba程序的命令是什么?在PC上它是F9,F5.有什么相似的吗?

macos excel vba

0
推荐指数
1
解决办法
2万
查看次数