问题列表 - 第16493页

如何在Windows资源管理器中查找文件

我有一个应用程序列出用户机器中的所有音乐文件,"资源管理器"按钮用于快速打开Windows资源管理器并在Windows资源管理器中突出显示该文件.我尝试过ShellExecute,但它不起作用,API将启动关联应用程序.任何Windows API都可以做到这一点?提前致谢.

winapi file

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

使用utf8编码的Perl脚本,它可以打开编码为GB2312的文件名吗?

我不是在谈论用utf-8或非utf-8编码和东西读取文件内容.这是关于文件名.通常我将Perl脚本保存为系统默认编码,在我的情况下为"GB2312",我不会有任何文件打开问题.但是出于处理目的,我现在有一些以utf-8编码保存的Perl脚本文件.问题是:这些脚本无法打开名称由"GB2312"编码编码的字符组成的文件,我不喜欢重命名文件的想法.

有没有人碰巧有处理这种情况的经验?总是感谢任何指导.

编辑

这是用于演示我的问题的最小化代码:

# I'm running ActivePerl 5.10.1 on Windows XP (Simplified Chinese version)
# The file system is NTFS

#!perl -w
use autodie;

my $file = "./??.txt"; #the file name consists of two Chinese characters
open my $in,'<',"$file";

while (<$in>){
print;
}
Run Code Online (Sandbox Code Playgroud)

如果以"ANSI"编码保存,则此测试脚本可以运行良好(我假设ANSI编码与用于显示中文字符的GB2312相同).但如果保存为"UTF-8"则不起作用,错误信息如下:

Can't open './???.txt' for reading: 'No such file or directory'.

在此警告消息中,"娴嬭瘯"是无意义的垃圾字符.

更新

我尝试首先将文件名编码为GB2312但它似乎不起作用:(这是我尝试的:

#!perl -w
use autodie;
use Encode;

my $file = "./??.txt";
encode("gb2312", decode("utf-8", $file));
open my $in,'<',"$file";

while (<$in>){
print;
}
Run Code Online (Sandbox Code Playgroud)

我目前的想法是:我的操作系统中的文件名是测试.txt,但编码为GB2312.在Perl脚本中,文件名与人眼看起来相同,仍然是测试.txt.但对于Perl来说,它们是不同的,因为它们具有不同的内部表示.但是我不明白为什么当我已经将Perl中的文件名转换为GB2312时问题仍然存在,如上面的代码所示.

更新 …

perl filenames encoding utf-8

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

在<alt-tab>之后自动写入VIM缓冲区

我如何配置VIM autowrite与切换后缓冲器alt- tab到另一个应用程序?

vim macvim

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

如何创建符号表?

我可以使用malloc添加符号表条目吗?如何遍历表格以检查是否已存在某些内容?

c symbol-tables

-3
推荐指数
1
解决办法
2133
查看次数

当Brendan Eich谈到为JavaScript添加糖和宏时,他的意思是什么?

我正在阅读"工作中的编码员",而我正在采访Brendan Eich.至少可以说,与前面的章节相比,它有点密集.在144页左右,他谈到了为JavaScript添加糖和宏.这些术语是什么意思?为什么要加入它们呢?

javascript macros syntactic-sugar

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

TDD与单元测试

我的公司对我们的代码进行单元测试是相当新的.我已经阅读了一段时间关于TDD和单元测试的信息并且确信它们的价值.我试图让我们的团队相信TDD值得学习和改变我们的编程思路,但这是一场斗争.这让我想到了我的问题.

TDD社区中有很多人非常虔诚地写测试然后编写代码(我和他们一起),但对于一个正在与TDD斗争的团队来说,妥协仍然会带来额外的好处吗?

编写代码后,我可能成功让团队编写单元测试(可能是检查代码的要求),我的假设是编写单元测试仍然有价值.

将陷入困境的团队带入TDD的最佳方式是什么?如果失败的话,即使代码写完之后仍然值得编写单元测试吗?

编辑

我从这里得到的是,在编码过程中的某个地方开始进行单元测试非常重要.对于那些接受概念的团队成员,开始更多地转向TDD并首先进行测试.感谢大家的投入.

跟进

我们最近开始了一个新的小项目,并且团队的一小部分使用了TDD,其余的在代码之后编写了单元测试.在我们完成了项目的编码部分之后,那些编写单元测试代码后,他们惊讶地看到TDD编码器已经完成并且代码更加可靠.这是赢得怀疑论者的好方法.我们仍然有很多成长的痛苦,但意志之战似乎已经结束.感谢所有提供建议的人!

language-agnostic tdd unit-testing

117
推荐指数
7
解决办法
9262
查看次数

如何将Swing模型与快速变化的"真实"模型同步?

众所周知,必须在事件派发线程上完成与Swing组件相关的任何事情.这也适用于组件背后的模型,例如TableModel.在基本情况下足够简单,但如果模型是必须在单独的线程上运行的事物的"实时视图",因为它正在快速变化,事情变得相当复杂.例如,JTable上股票市场的实时视图.股票市场通常不会发生在美国东部时间.

那么,什么是(de)耦合必须在EDT上的Swing模型的优选模式,以及必须随时随地更新的"真正的"线程安全模型?一种可能的解决方案是将模型实际拆分为两个单独的副本:"真实"模型加上其Swing对应物,这是"真实"模型的快照.然后它们会在EDT上同时(双向)同步.但这感觉就像臃肿.这真的是唯一可行的方法,还是有其他或更标准的方法?有用的图书馆 什么?

java swing multithreading

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

如果一次实现多个COM接口,我如何向IUnknown转发?

假设我的COM对象实现了两个或更多COM接口:

class CMyClass : public IPersistFile, public IPersistStream {
};
Run Code Online (Sandbox Code Playgroud)

在实现QueryInterface()时,我需要能够返回一个IUnknown*指针.由于两个基接口都是从IUnknown派生出来的,所以我无法隐式转发 - 这种向上转换是不明确的.要明确地向上转换,我需要使用以下两种方法之一:

 if( iid == __uuidof( IUnknown ) ) {
     *ppv = static_cast<IPersistFile*>( this );
     static_cast<IPersistFile*>( this )->AddRef();
     return S_OK;
 }
Run Code Online (Sandbox Code Playgroud)

要么

 if( iid == __uuidof( IUnknown ) ) {
     *ppv = static_cast<IPersistStream*>( this );
     static_cast<IPersistStream*>( this )->AddRef();
     return S_OK;
 }
Run Code Online (Sandbox Code Playgroud)

看起来唯一的要求是,每当在一个对象上调用QI()时,它每次返回相同的指针,如果我选择任何一个强制转换并且坚持它,我就满足了这个要求.

我应该选择哪种上传?为什么?

c++ windows com visual-c++

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

EclipseLink、EntityManager 需要两个持久性单元

我有一个 jar 库 A(或 eclipse 中的项目),它有自己的持久性单元(META-INF/persistence.xml)和一些实体类,以及使用该库的另一个项目(B)。在项目 B 中还有持久化单元和实体类。

在项目 BI 中,需要使用项目 A 和 B 中的两个实体类。但是,如果我将“A”设置为持久性单元名称,则 EntityManager 无法创建命名查询(如果该查询位于项目 B 的实体中)。如果我将“B”设置为持久性,则 EntityManager 无法创建命名查询。单位名称,它无法从项目 A 的实体创建命名查询。错误消息是:

NamedQuery of name: MyEntityName.myQueryName not found.
Run Code Online (Sandbox Code Playgroud)

持久性单元可以以某种方式包含其他持久性单元吗?或者还有其他方法可以解决这个问题吗?

jpa entitymanager eclipselink

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

在XSLT中test ="element [@attribute]"做了什么?

这究竟是做什么的?

<xsl:if test="./employee/first-name[@id='14']" >
Run Code Online (Sandbox Code Playgroud)

我的意思是,当将这种情况是真实的,如果./employee/first-name[@id]!= null或者"",还是什么?

编辑

我已经编辑了上面的语句,所以它测试id = 14的元素名字是否有一个正文或者它的正文包含一个数据,或者如果first-name事件没有正文则返回true?

xslt xpath

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