问题列表 - 第3145页

使用start在Windows下启动应用程序

我注意到我可以通过编写start filename来启动一个带有相关处理程序的程序.但是,对于某些文件,我得到的只是一个控制台,我不知道为什么.我正在尝试在MFC中填充列表控件,我想让程序和它的关联处理程序在我双击选择时运行.有没有更好的方法,或解释为什么这不起作用?
这是可能成为问题的代码:


int selection = listControl.GetCurSel();
CString text;
listControl.GetText(selection,text);
string std_str = StringUtils::CStringToString(text);
string st = string("start \"")+std_str+string("\"");
const char* command = st.c_str();
system(command);

c++ windows mfc

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

在Python中获取列表中较小的n个元素

我需要在Python中获得较少的n个列表.我需要这个非常快,因为它是性能的关键部分,需要重复很多次.

n通常不大于10,列表通常有大约20000个元素.每次调用该函数时,列表总是不同的.无法进行排序.

最初,我写了这个函数:

def mins(items, n):
    mins = [float('inf')]*n
    for item in items:
        for i, min in enumerate(mins):
            if item < min:
                mins.insert(i, item)
                mins.pop()
                break
    return mins
Run Code Online (Sandbox Code Playgroud)

但是这个函数无法击败对整个列表进行排序的简单排序(项目)[:n].这是我的测试:

from random import randint, random
import time

test_data = [randint(10, 50) + random() for i in range(20000)]

init = time.time()
mins = mins(test_data, 8)
print 'mins(items, n):', time.time() - init

init = time.time()
mins = sorted(test_data)[:8]
print 'sorted(items)[:n]:', time.time() - init
Run Code Online (Sandbox Code Playgroud)

结果:

mins(items, n): 0.0632939338684
sorted(items)[:n]: 0.0231449604034
Run Code Online (Sandbox Code Playgroud)

sorted()[:n]快三倍.我相信这是因为:

  1. insert()操作成本很高,因为Python列表不是链表.
  2. sorted()是一个优化的c函数,我的是纯python.

有没有办法击败sorted()[:n]?我应该使用C扩展,Pyrex或Psyco或类似的东西吗? …

python sorting algorithm

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

如何计算Emacs中打开的缓冲区/文件的数量?

我偶尔会在Emacs中遇到Cx Cc,而我打算只打Cx或Cc.当然,这会关闭所有打开的帧和缓冲区而不进行确认.我知道我可以让Emacs提示"你确定要退出吗?",但我不想一直这样做,这会让人讨厌.我只是希望它在打开超过N个文件(或缓冲区)时执行此操作.

所以我想将Cx Cc绑定到一个函数:

(if (< number of open buffers n)
    (save-buffers-kill-emacs)
    (are-you-sure))
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何获取打开缓冲区的数量(或打开的帧数,或打开的文件数等).

lisp emacs

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

Windows CE在重置时删除.NET CF.

我正在为一个专有的Windows CE 4.2设备编写一个C#应用程序(我没有这些规格或其他任何信息.我​​可以访问文件系统,基本上就是它.)我也是无法获得原始制造商的支持.

现在,我可以很好地安装.NET Compact框架,一切都可以运行一段时间.但每隔一段时间,当设备重置时,它会删除框架,GAC以及与之相关的所有内容.

我知道这不仅仅是硬重置跳回工厂默认值,因为:

  1. 它记得注册表设置(如果我再次尝试安装,它说框架已经安装,并询问我是否要重新安装.所以显然注册表项仍然存在)
  2. 即使我将框架安装到可移动闪存卡上,也会删除这些文件.(但是,存储卡上的其他文件是独立的)

我知道没有太多可以继续下去,但也许一些Windows CE大师将能够告诉我为什么会发生这种情况,并且如果有一些理智的方法可以避免它.我对Windows CE知之甚少,所以我知道,它可能是完全标准的行为.

就此而言,有关如何进一步解决这个问题的建议吗?目前,我能看到的最佳解决方案是在每次启动时重新安装所有内容,但这看起来有点笨拙.

编辑: 重置后,在文件系统的根目录中找到GACLOG.TXT

CGACUTIL:初始化2008年8月12日

20:43:57.000 CGACUTIL:已初始化

12/08/2008 20:43:57.000 CGACUTIL:

删除Microsoft .NET CF 3.5.GAC

12/08/2008 20:43:57.000 CGACUTIL:完成

12/08/2008 20:43:57.000 CGACUTIL:

退出2008年8月12日20:43:57.000

所以,是的,它肯定会删除GAC.为什么,以及如何阻止它?

compact-framework windows-ce

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

Rails用户访问插件

有很多用于处理用户权限的rails插件.我对hobo gem中的实现印象深刻,但我不确定我是否可以使用此功能而不是其他部分.GateKeeper是一个非常聪明的实现,但有一些错误,虽然它足够小我可能自己修复它.Restful_ACL为您提供了一种用于检查创建的类方法,这意味着您无法对相关实例进行任何检查(不确定它是否具有范围查找).

我想要提供一个范围版本的ActiveRecord #find,它只能查找当前用户可以看到的内容.这应该足够强大,可以说,您只能看到您或您的朋友拥有的图库中的图片.

作为奖励,它可能会阻止您无权执行的创建或更新(在before_*或验证步骤中),包括将您自己的记录与其他用户或图库相关联,或创建此类记录.

permissions acl ruby-on-rails access-control

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

Subversion - 当使用SVNParentPath时,如何控制单个存储库的用户访问?

我有subversion存储库,可以正常使用所有用户所需的密码验证.我的配置发布在下面.如何修改此配置以便允许单个用户对我的某个存储库具有只读权限?

提供的示例需要使用SVNParentPath而不是SVNPath.前者允许您指定包含多个subversion存储库的目录.

<VirtualHost *:80>
    ServerAdmin apache@mycompany.org
    DocumentRoot "d:/Apache2/htdocs/"
    ServerName code.mycompany.org
    ErrorLog "logs/src.mycompany.org-error.log"
    CustomLog "logs/src.mycompany.org-access.log" common
    SetOutputFilter DEFLATE

    <Location />
      DAV svn
      SVNParentPath D:\SVN
      AuthType Basic
      AuthName "My Repository"
      AuthUserFile conf/myteam.pwd
      Require valid-user
    </Location>   
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

svn security version-control

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

IdbConnection与SqlConnection

当我编写应用程序时,我使用System.Data接口(IDbConnection,IDbCommand,IDataReader,IDbDataParameter等...).我这样做是为了减少供应商的依赖性.除非,我正在做一个简单的测试应用程序,在咨询时看起来似乎是道德的事情.

但是,我看到的所有代码似乎都使用System.Data.SqlClient命名空间类或其他特定于供应商的类.在杂志和书籍中,很容易将其归结为微软的影响力以及他们的营销转向仅针对SQLServer进行编程.但它看起来像我看到的几乎所有.NET代码都使用SQLServer特定的类.

我意识到供应商特定的类具有更多功能,例如向SqlCommand对象添加参数是一种方法,其中将其添加到IDbCommand是令人恼火的4+行代码.但话又说回来; 为这些限制编写一个小助手类非常简单.

我还想知道当SQLServer是当前目标客户端时是否对接口进行编程是过度工程的,因为它不是立即需要的.但我不认为这是因为针对接口的编程成本太低,因为减少供应商依赖性提供了如此巨大的好处.

您是否使用供应商特定的数据类或接口?

编辑:总结下面的一些答案,并在阅读时提出一些想法.

使用接口实现供应商中立的可能陷阱:

  • 嵌入在SELECT语句中的供应商特定关键字(我的所有ins,upd和del都在procs中,所以这不是问题)
  • 直接绑定数据库可能会导致问题.
  • 除非您的连接实例化是集中的,否则无论如何都需要调用特定于供应商的类.

使用接口的正面理由:

  • 根据我的经验,移动到不同供应商的能力(即使没有行使)一直受到客户的赞赏.
  • 在可重用代码库中使用接口

.net vendor-neutrality design-decisions

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

Eclipse代码模板的Eclipse自定义变量

如何添加要插入Java代码模板的新变量.如何在Window-> Preferences-> Java-> Code Style-> Code Templates-> Code-> New Java Files-> Edit-> Insert Variable ...?中向列表添加变量?

目前,我的新文件创建时使用:

${filecomment}
${package_declaration}
${typecomment}
${type_declaration}
Run Code Online (Sandbox Code Playgroud)

我希望他们能够像以下一样创建:

${begin_filecomment}
${package_declaration}
${typecomment}
${type_declaration}
${end_filecomment}
Run Code Online (Sandbox Code Playgroud)

其中begin_filecomment和end_filecomment出现在"插入变量"列表中.

java eclipse templates

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

SVN/Tortoise - 标签生成

在Clearcase中,我可以为给定的文件集生成"标签",并始终返回到该标签,以重新生成所有文件,就像我生成标签时一样.

我如何在Subversion中执行此操作?我正在使用Tortoise前端[Windows]到SVN,我不知道如何实现这个功能.

svn change-management

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

麻烦PHP MySQL获取数组函数

我有一个包含2个表的数据库.

其中一个表包含一行,包含从0到10的数字.

在PHP中,我这样做:

$query = "SELECT ".$param." FROM issues WHERE ".$param." >=0";
$result = @mysql_query($query) or showError("query failed");
if (!($record = mysql_fetch_array($result))) return null;
return $record;
Run Code Online (Sandbox Code Playgroud)

$ param保存行的名称.

我有点期望得到一个数字保持0到10的数字,但我得到一个包含2个元素的数组:

array(
    [0] = 0
    [row_name] = 0
    .
    .
    . // AND SO ON
)
Run Code Online (Sandbox Code Playgroud)

就是这样.

我之前从未使用过这些函数,www.php.net没有任何真正有用的例子......

php mysql

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