小编Nat*_*ggy的帖子

26
推荐指数
4
解决办法
5万
查看次数

按列消除部分重复的行并保留最后一行

我有一个看起来像这样的文件:

2011-03-21 name001 line1
2011-03-21 name002 line2
2011-03-21 name003 line3
2011-03-22 name002 line4
2011-03-22 name001 line5
Run Code Online (Sandbox Code Playgroud)

对于每个名字,我只想要它的最后一次出现.所以,我希望结果如下:

2011-03-21 name003 line3
2011-03-22 name002 line4
2011-03-22 name001 line5
Run Code Online (Sandbox Code Playgroud)

有人可以用bash/awk/sed给我一个解决方案吗?

bash awk text-processing sed

24
推荐指数
3
解决办法
2万
查看次数

如何清除查找列表框中的所有条目?

我想清除我在"查找"对话框中输入的所有搜索字符串.怎么实现呢?

notepad++

24
推荐指数
2
解决办法
3万
查看次数

拉伸控件以填充ItemsControl

我正在尝试编写一个简单的WPF学习项目,该项目在可调整大小的主窗口中创建一组按钮.还有就是要成为一个Button每一个集合中的条目,该集合的内容可能会在运行时有所不同.我希望按钮能够填满整个窗口(例如1个按钮@ 100%宽度,2个按钮@ 50%宽度,3个按钮@ 33%宽度等等都在100%高度).我到目前为止所编写的简化版本是:

<ItemsControl x:Name="itemscontrolButtons" ItemsSource="{Binding}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Button Tag="{Binding}">
        <TextBlock Text="{Binding}" />
      </Button>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <StackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
</ItemsControl>
...    
List<string> listButtonTexts = new List<string>() { "Button1", "Button2" };
...
itemscontrolButtons.DataContext = listButtonTexts;
Run Code Online (Sandbox Code Playgroud)

这导致:

替代文字

我一直无法使按钮拉伸以适应宽度,我尝试使用Grid而不是StackPanel没有结果.

然后,作为一个可选的改进,我将很感激如何调整它的建议,如果有这么多的按钮,他们不能正确地适合在一条线上或比一个阈值窄,它将包裹到一个新的线(从而减半按钮高度,如果从1到2行).

我想强调一下,我想知道如何以WPF的方式做到这一点.我意识到我可以使用窗口调整大小的消息并显式调整控件的大小,这就是我用MFC或WinForms完成它的方式,但从我读过的内容并不是如何用WPF完成的.

.net wpf xaml itemscontrol

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

包含使用Pyinstaller的目录

Pyinstaller的所有文档都讨论了包含单个文件.是否可以包含目录,还是应该编写一个函数来遍历我的include目录来创建include数组?

python installation packaging include pyinstaller

19
推荐指数
5
解决办法
2万
查看次数

对DevExpress WPF控制的起诉是否有效以及什么是好的替代供应商?

我的公司正在使用DevExpress WPF控件启动一个主要的绿地开发项目.我刚刚阅读了他们对WPF控件的评论:

[...] DevExpress开发人员在开发WPF控件时完全误解了WPF.我真的不能给你足够的印象,只是他们使用他们的控件有多么不满.我觉得谈论一个有这种消极性的供应商是非常可怕的(几乎内疚),但是他们在他们的WPF套件中犯了一个严重的错误,它是我在大约十年开发软件时最令人沮丧的单一来源.

您是否同意DevExpress不了解WPF范例并且会在开发和维护期间引起开发人员的悲痛?你能建议一个WPF控件的替代供应商吗?我正在寻找一个具有WPF控件的供应商,它将增强我们的应用程序,同时适合WPF API,绑定和MVVM.


关键博客帖子的链接(上方)已被破坏.原作者说:

我写了原始文章,并决定在与他们交谈后以私人身份与DevExpress合作,所以我很遗憾地决定删除帖子.此致,艾拉

wpf devexpress custom-controls wpf-controls

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

"以编程方式将我的Windows桌面扩展到此监视器上"

我希望能够通过代码设置"将我的Windows桌面扩展到此监视器上".PowerShell脚本是理想的.WMI似乎是前进的方向,但我对WMI知之甚少.

windows powershell wmi multiple-monitors

17
推荐指数
3
解决办法
3万
查看次数

如何与Visual Studio 2017一起安装LocalDB 2016?

安装Visual Studio 2017并检查SQL Server数据工具功能后,我注意到没有安装LocalDB.如何将SQL Server LocalDB 2016添加到Visual Studio 2017安装中?我在安装VS2017时错过了一个复选框,还是安装程序中没有包含它?如果是这样,我如何配置VS2017,以便在Visual Studio的服务器浏览器中查看和连接我手动安装的LocalDB数据库?

visual-studio localdb visual-studio-2017

16
推荐指数
3
解决办法
4万
查看次数

为什么extern"C"组C++类(不是标题)在这里?

我正在搜索SVM库并遇到BudgetedSVM.

在源代码中,我发现了一个不寻常的用法,就像这样:

#sample.h

#ifndef SAMPLE_H
#define SAMPLE_H

//no header included or namespace declared here

#ifdef __cplusplus
extern "C" {
#endif

//no header included or namespace declared too

class Sample: public Parent
{
public:
    Sample();
    ~Sample();

    type0 fun(type1 val1, type2 val2);
    ...
};

#ifdef __cplusplus
}
#endif

#endif // SAMPLE_H
Run Code Online (Sandbox Code Playgroud)

如图所示,标头中不需要额外的头或命名空间,这些都在cpp文件中.

这是我的想法:

  1. 为什么extern "C"(通常用于C接口)将C++类分组?这种用法对某些东西有用吗?

  2. 即使type0,type1type2出现了,自己的头在这里没有包括在内,但在cpp文件(如sample.h).当我调用类的Sample,但是,我必须包括这些报头(例如type0.h,type1.h,type2.h),这似乎很不方便.

c++ linkage

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

如何通过GSS-API获取kerberos服务票?

有谁知道如何使用Java GSS-API从密钥分发中心(KDC)获取服务票证?

我有一个胖客户端应用程序,首先通过JAAS使用Krb5LoginModule从票证缓存中获取TGT进行身份验证(后台:Windows例如使用kerberos实现并将票证授予票证存储在安全的内存区域).从LoginManager我得到包含TGT的Subject对象.现在我希望当我为我的服务创建一个特定的GSSCredential对象时,服务票证也将被放入Subject的私人凭证中(我已经在网上的某处读过).所以我尝试了以下方法:

// Exception handling ommitted
LoginContext lc = new LoginContext("HelloEjbClient", new DialogCallbackHandler());
lc.login()
Subject.doAs(lc.getSubject(), new PrivilegedAction() {

    public Object run() {
        GSSManager manager = GSSManager.getInstance();
        GSSName clientName = manager.createName("clientUser", GSSName.NT_USER_NAME);
        GSSCredential clientCreds = manager.createCredential(clientName, 8 * 3600, createKerberosOid(), GSSCredential.INITIATE_ONLY);

        GSSName serverName = manager.createName("myService@localhost", GSSName.NT_HOSTBASED_SERVICE);
        manager.createCredential(serverName, GSSCredential.INDEFINITE_LIFETIME, createKerberosOid(), GSSCredential.INITIATE_ONLY);
        return null;
    }

    private Oid createKerberosOid() {
        return new Oid("1.2.840.113554.1.2.2");
    }

});
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到了GSSException:没有提供有效的凭据(机制级别:找不到任何Kerberos tgt).

java kerberos single-sign-on

14
推荐指数
2
解决办法
3万
查看次数