小编Mic*_*ick的帖子

如何针对单个基本文件"区分"多个文件?

我有一个配置文件,我认为是我的"基础"配置.我想将最多10个其他配置文件与该单个基本文件进行比较.我正在寻找一个报告,其中每个文件与基本文件进行比较.

我一直在看diff和sdiff,但他们没有完全提供我想要的东西.

我已经考虑过单独针对每个文件区分基础,但是我的问题会变成合并到报告中.理想情况下,如果所有10个配置文件中都缺少相同的行(与基本配置相比),我希望以易于可视化的方式报告.例如,这里基本上是我希望能够做到的(这个例子有1个基本文件和3个配置文件,每个文件分别与基本配置进行比较):

这是下面图片的链接 alt text http://img141.imageshack.us/img141/3264/config2.png

请注意,在几个配置文件中缺少某些行(当与基础单独进行比较时).我希望能够把它们放在同一条线上(如上所述).

请注意,上面的屏幕截图只是一个模型,而不是一个实际的应用程序.

我已经看过使用一些Delphi控件来编写我自己的(我有Delphi 2007),但是如果有一个程序已经这样做了,我更喜欢它.

我看过的Delphi控件是TDiff,rmcontrols中包含TrmDiff*组件.

delphi diff

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

用于本机C++开发的C++ Builder或Visual Studio?

我已经决定使用C++进行本机代码开发.我正在尝试使用CodeGear C++ Builder 2009或Visual Studio 2008来更好地服务.我目前使用的是Delphi 2007,因此我对C++ Builder的IDE(与Delphi相同)非常熟悉,以及VCL和RTL.

我从未成为MFC的忠实粉丝(从我第一次在VS 6.0中玩过它),但从那时起就没有仔细看过它.

我有兴趣听取一些有IDE经验的专家的意见,无论他们是否是最新版本.

现在,我倾向于使用C++ Builder,因为我相信VCL比MFC更强大,更容易使用 - 但正如我所说,自从我使用MFC以来已经有一段时间了.我对构建依赖于.NET Framework的程序不感兴趣,因为我部分地教自己本地开发.MFC仍然是Windows C++的王者吗?或者WTL或ATL是重要的东西?

那里的任何C++大师想分享他们的意见吗?

编辑:我知道MFC不是Visual Studio唯一的gui工具包.但是,我正在寻找基于GUI工具包+ IDE的一些建议.对于C++ Builder,只有一个真正的选项,即C++ Builder + VCL.对于VS 2008,它是VS + MFC/ATL/WTL/QT ......因为我对它们不太了解而对我感到困惑.

c++ c++builder visual-studio

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

为什么TBitBtn中包含的字形如此丑陋和过时?

甚至Delphi 2010与TBitBtn相关的字形也不稳定且"丑陋".是否存在向后兼容的原因?Embarcadero是否包含我可以使用的更新的png替换而不是这些正常的字形?

也许这只是我,但我很想看到Embarcadero征求(或雇用)平面设计师来改善这些图标.

替代文字

delphi

15
推荐指数
4
解决办法
4786
查看次数

我可以在运行PHP的64位系统上将PHP_INT_SIZE定义为4个字节吗?

我使用的是PHP 5.3.

在我的32位系统上INT的大小:

print "PHP_INT_MAX: " . PHP_INT_MAX . "\n";
print "PHP_INT_SIZE: " . PHP_INT_SIZE . " bytes (" . (PHP_INT_SIZE * 8) . " bits)\n";
Run Code Online (Sandbox Code Playgroud)
  • PHP_INT_MAX:2147483647
  • PHP_INT_SIZE:4个字节(32位)

但是,我使用的编码算法的一部分依赖于int是上述大小(4个字节)的事实.当我在我的Web主机服务器上运行代码时,它是一个64位系统,int大小是两倍大.

有没有办法强制"(int)"强制转换使用32位大小?

例如,假设以下代码:

$test = 4170266799;
print $test;                     
print (int) $test;
Run Code Online (Sandbox Code Playgroud)

在我的32位系统上,输出是:

4170266799
-124700497
Run Code Online (Sandbox Code Playgroud)

在我的64位系统上,输出是:

4170266799
4170266799
Run Code Online (Sandbox Code Playgroud)

即使架构从32位更改为64位,是否可以强制INT的值为4个字节?

php int

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

Delphi是否有"getopt"的实现?

它比使用getopt()解析C/C++中的命令行参数要容易得多.

Delphi有类似的东西吗?或者理想情况下,使用相同的语法?我知道Delphi支持FindCmdLineSwitch和ParamStr(),但那些仍然需要一些额外的解析.

我想要一些像C语言中的getopt()一样的东西.它可以轻松地允许基本的切换开关,以及在切换后捕获值.请参阅下面的一些示例C代码,看看我在说什么:

void print_help()
{
        printf("usage:\n") ;
        printf("\t\t-i set input file\n") ;
        printf("\t\t-o set output file\n") ;
        printf("\t\t-c set config file\n") ;
        printf("\t\t-h print this help information\n") ;
        printf("\t\t-v print version\n") ;
}
 char* input_file = NULL ;
        char *query=NULL;
          char opt_char=0;
        while ((opt_char = getopt(argc, argv, "i:q:vh")) != -1)
        {
                switch(opt_char)
                {
                        case 'h':
                                print_help();
                                exit(-1);
                                break;
                        case 'v':
                                print_version() ;
                                exit(-1) ;
                                break ;
                        case 'i':
                                input_file= optarg ;
                                break ;
                        case 'q':
                                query= optarg ;
                                break …
Run Code Online (Sandbox Code Playgroud)

delphi com parsing

13
推荐指数
3
解决办法
3507
查看次数

如何在不大幅增加应用程序文件大小的情况下将WMI与Delphi一起使用?

我正在使用Delphi 2010,当我创建一个打印"Hello World"的控制台应用程序时,需要111 kb.如果我想用Delphi查询WMI,我将WBEMScripting_TLB,ActiveX和Variants单元添加到我的项目中.如果我执行简单的WMI查询,我的可执行文件大小会跳到810 kb.一世

反正有没有查询WMI没有这么大的文件大小?原谅我的无知,但为什么我没有C++的这个问题?

这是我的代码:

program WMITest;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  WBEMScripting_TLB,
  ActiveX,
  Variants;

function GetWMIstring(wmiHost, root, wmiClass, wmiProperty: string): string;
var
  Services: ISWbemServices;
  SObject: ISWbemObject;
  ObjSet: ISWbemObjectSet;
  SProp: ISWbemProperty;
  Enum: IEnumVariant;
  Value: Cardinal;
  TempObj: OLEVariant;
  loc: TSWbemLocator;
  SN: string;
  i: integer;
begin
  Result := '';
  i := 0;
  try
    loc := TSWbemLocator.Create(nil);
    Services := Loc.ConnectServer(wmiHost, root {'root\cimv2'}, '', '', '', '',
      0, nil);
    ObjSet := Services.ExecQuery('SELECT * FROM ' + wmiClass, 'WQL',
      wbemFlagReturnImmediately and wbemFlagForwardOnly, nil);
    Enum …
Run Code Online (Sandbox Code Playgroud)

delphi wmi

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

如何在越狱的iOS设备上监控应用程序的API调用?

我正在对我没有源代码的iOS应用程序进行审核.为了获得对环境的更多控制,我在越狱的iPad上运行应用程序.

我希望能够监控应用程序正在进行的API调用...理想情况下,我想找到类似Rohitab的基于MS Windows的API监视器,而不是iOS.

我做了一些研究,发现KennyTM的一个名为" Subjective-C " 的项目似乎可以做我需要的.我实际上一直在使用cycript脚本,以及Google代码站点上提供的libsubjc.dylib.

但是,我一直无法弄清楚如何正确地让它开始记录应用程序的调用.这是 Subjective-C(libsubjc)的作者编写的cycript脚本链接.我也粘贴了下面的脚本.

/*

libsubjc.cy ... Use libsubjc in cycript.
Copyright (C) 2009  KennyTM~ <kennytm@gmail.com>

[...GPL3...]
*/

dlopen("libsubjc.dylib", 10);
if (!dlfun) {
    function dlfun(fn, encoding, altname) { var f = new Functor(dlsym(RTLD_DEFAULT, fn), encoding); if (f) this[altname || fn] = f; return f; }
}

dlfun("SubjC_start", "v");
dlfun("SubjC_end", "v");

dlfun("SubjC_set_file", "v^{sFILE=}");
dlfun("SubjC_set_maximum_depth", "vI");
dlfun("SubjC_set_print_arguments", "vB");
dlfun("SubjC_set_print_return_value", "vB");
dlfun("SubjC_set_print_timestamp", "vB");

SubjC_Deny = 0, SubjC_Allow …
Run Code Online (Sandbox Code Playgroud)

c objective-c cydia jailbreak ios

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

如何让我的32位Delphi应用程序在64位窗口上使用4GB内存(通过Wow64.exe)?

根据这个MSDN页面:

WOW64使32位应用程序能够利用64位内核.因此,32位应用程序可以使用更多的内核句柄和窗口句柄.但是,32位应用程序可能无法在WOW64下创建与在基于x86的系统上本机运行时一样多的线程,因为WOW64为每个线程分配了额外的64位堆栈(通常为512 KB).此外,为WOW64本身及其使用的数据结构保留了一定量的地址空间.保留金额取决于处理器; Intel Itanium上保留的内容多于x64处理器上的内容.

如果应用程序在映像头中设置了IMAGE_FILE_LARGE_ADDRESS_AWARE标志,则每个32位应用程序在WOW64环境中都会收到4 GB的虚拟地址空间.如果未设置IMAGE_FILE_LARGE_ADDRESS_AWARE标志,则每个32位应用程序在WOW64环境中接收2 GB的虚拟地址空间.

如何有效地设置IMAGE_FILE_LARGE_ADDRESS_AWARE国旗在我的2007年德尔福的应用程序,这样我可以让我的32位应用程序WOW64 认识和处理多达内存4GB满?

delphi 64-bit 32-bit

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

如何使用Delphi将多个文件压缩到一个存档中

我需要使用Delphi将多个文件压缩到一个存档中.我更喜欢使用免费软件组件或开源组件,因为我非常便宜:-)

我的主要要求是:

  1. 可以加密存档
  2. 可以创建任何人都可以使用WinZip副本打开的公共档案

有没有人对他们使用过的组件有什么建议?请随时建议免费和商业组件/库.

compression delphi

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

哪里可以找到Delphi的"Turbo"或"Lite"版本?

我有一个拥有Ruby背景的同事,有兴趣开始使用Delphi和本地开发.但是,据我所知,Turbo Delphi(基于Delphi 2006)已不再可供下载.

那么......他离开了哪里?在某处合法提供Delphi的低成本或介绍版本吗?或者Embarcadero有没有提供的产品?

注意:请不要建议任何合法可疑版本,因为这不是我们会考虑的选项.

更新:总结所有答案,您可以立即下载和安装的唯一合法和免费版Delphi(除非您已经拥有Delphi 7 Personal或Turbo Delphi的个人许可)是Delphi Community Edition.

接下来最接近的是Lazarus IDE和Free-Pascal编译器.

delphi freepascal lazarus

10
推荐指数
4
解决办法
6263
查看次数