小编Kaw*_*hii的帖子

如何在Inno Setup中获取安装程序路径?

您是否知道在Inno Setup中获取安装程序路径的正确方法?

我希望在该[Code]部分内捕获该值.

installation installer inno-setup path

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

Delphi在Windows资源管理器中右键单击添加菜单项

如何在Windows资源管理器中为所有类型的文件扩展名添加右键单击上下文菜单?

根据我在互联网上阅读的内容,我为某些文件扩展阅读了一种方法.

我的问题是,我们如何才能为所有类型的文件扩展做到这一点?

我看到一些软件做了这个,例如:WinRar,Notepad ++等.

PS:我的目标是Delphi 7.0兼容代码.

谢谢.

delphi shell contextmenu windows-explorer

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

如何解决在Delphi 7中加载CR仅分隔文件文本时的问题?

我有一个大文本文件(大约100MB),每行由CR字符分隔,而不是CRLF.

我尝试使用TStringList.LoadFromFile()或ReadLn(F,..)逐行读取此文本文件,但这两种方法都要求行由CRLF分隔.

你有没有有效和快速的方法来阅读这种文本文件?

谢谢.

PS:我使用的是Delphi 7.

delphi delphi-7 text-files

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

Indy 10 for Delphi 7

Indy 10可以和Delphi 7一起使用吗?

我试图找到它,或购买它.但是,我找不到任何信息.

我找到了下载的地方:

http://indy.fulgan.com/ZIP/

他们的网站http://www.atozed.com也没有提供太多信息.

谢谢.

delphi delphi-7 indy10

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

我在哪里可以找到HL7字典?

谁知道我在哪里可以下载HL7字典?

我试图找到这个,因为我想将它包含在我的应用程序中.

如果您遇到一个,最好是一个免费的,请告诉我.

谢谢.

hl7

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

Delphi - 在大型TMemo中查找文本

我有一个包含很多文本的TMemo ,80M(约400K行).

TMemo设置为WordWrap = FALSE,无需查找包含2行的文本.

我需要一种快速的方法来查找文本,从一开始,然后找到下一个.

所以,我把一个TEdit用于放置文本以找到一个TButton来查找TMemo中的文本.

我正在考虑使用Pos(),逐行检查,但这将是缓慢的.我不知道如何确定当前光标位置的TMemo.Lines [index].

任何人都可以提出解决方案吗?

谢谢

更新:

我从这里找到了一个解决方案: 通过Delphi中的备忘录进行搜索?

SearchText()函数可以快速,快速地工作.花了几秒钟在底端搜索唯一的字符串.

delphi full-text-search delphi-7 memo

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

TMemo最大宽度

有没有办法让TMemo显示长于1024的文本显示为1行?
看看这个简单的代码:

procedure TForm1.Button2Click(Sender: TObject);
var
    s: string;
    i: integer;
begin
    s := '';
    for i := 0 to 10000 do
      s := s + 'a';

    Memo1.Clear;
    Memo1.Lines.Add(s);
end;
Run Code Online (Sandbox Code Playgroud)

长文本"s"将以多行显示.Memo1将自动包装1024个字符后的文本.

delphi text-editor delphi-7 tmemo

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

模拟管理员以重新启动Windows服务

我有一个重启某些Windows服务的Delphi应用程序.

如果执行此应用程序的用户具有管理权限(Administrators组成员),则服务重新启动将成功.

对于普通用户,服务重启将失败.

如果普通用户使用"右键单击"以管理员身份运行,它也会成功.但是,普通用户必须输入管理员用户名和密码.

我想为普通用户解决这个问题.

我的想法是在代码中"冒充用户",显然冒充本地管理员帐户.

但是,它仍然无效.

这是我的代码:

function GetCurrUserName: string;
var
  Size              : DWORD;
begin
  Size := MAX_COMPUTERNAME_LENGTH + 1;
  SetLength(Result, Size);
  if GetUserName(PChar(Result), Size) then
    SetLength(Result, Size)
  else
    Result := '';
end;

function ConnectAs(const lpszUsername, lpszPassword: string): Boolean;
var
  hToken       : THandle;
begin
  Result := LogonUser(PChar(lpszUsername), nil, PChar(lpszPassword), LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, hToken);
  if Result then
    Result := ImpersonateLoggedOnUser(hToken)
  else
    RaiseLastOSError;
end;
Run Code Online (Sandbox Code Playgroud)

我称之为:

try
  ConnectAs('Administrator','password');
except
  on E: Exception do
    Writeln(E.ClassName, ': ', E.Message);
end;

// Restart the Windows service …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7

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

使用Delphi的Windows上次启动日期和时间

如何在Windows 2008/2003计算机上获取上次启动/重启/重启的日期和时间?

我知道从命令提示符我们可以使用"网络统计",但是如何通过Delphi实现呢?

谢谢.

windows delphi uptime

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

Delphi 7:如何实现多线程?

我在主要的TForm中有一个TButton.当用户单击该按钮时,它将执行以下过程:

begin
  Process_done := FALSE;

  Process_Result.Clear;

  cmdProcess.CommandLine := #34+AppPath+'getdata.exe"';

  cmdProcess.Run;

  Repeat
    Application.ProcessMessages;
  Until Process_done;
end;
Run Code Online (Sandbox Code Playgroud)

如上所示,该进程调用外部可执行文件,该进程可能需要一些时间来阻止主应用程序.

这只是一个过程,我需要另一个过程.

所以,我正在考虑实现多线程,我可以在一个单独的线程中运行上面的过程.另一个过程也是如此.并且主线程可以在检查两个进程何时完成时执行某些操作.

谁能给我一些使用Delphi 7如何做到这一点的例子?

或者指向一篇文章,这样的简单实现?

谢谢.

delphi multithreading delphi-7

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

Delphi 7:多个监视器上的中心表格位置

我有一个TForm,我将"位置"设置为poMainFormCenter.

当我打开该表单时,它会在主表单的中心正确显示.

但是,在多个屏幕(2个监视器)上,当我将应用程序放在辅助监视器中时,该窗体不会显示在主窗体的中心.

它仍显示在主监视器中,位于屏幕边缘.

我的应用程序没什么特别的,我只设置了Position属性.

有人知道怎么修这个东西吗?

我使用的是Delphi 7和Windows XP SP3.

delphi delphi-7

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

在C++中连接字符串

对于这个简单的任务,我需要一个快速解决方案.

我正在修改源代码,它具有以下功能:

OFCondition MdfDatasetManager::saveFile(const char *file_name,
                                        E_TransferSyntax opt_xfer,
                                        E_EncodingType opt_enctype,
                                        E_GrpLenEncoding opt_glenc,
                                        E_PaddingEncoding opt_padenc,
                                        OFCmdUnsignedInt opt_filepad,
                                        OFCmdUnsignedInt opt_itempad,
                                        OFBool opt_dataset)
Run Code Online (Sandbox Code Playgroud)

在函数内部,有一行:

    result = dfile->saveFile(file_name, opt_xfer, opt_enctype, opt_glenc,
                             opt_padenc,
                             OFstatic_cast(Uint32, opt_filepad),
                             OFstatic_cast(Uint32, opt_itempad),
                             (opt_dataset) ? EWM_dataset : EWM_fileformat);
Run Code Online (Sandbox Code Playgroud)

看到file_name变量?

我想修改,所以file_name将在末尾添加".out".

所以,我添加了一个新变量:

char*output_file;

在调用dfile-> saveFile()函数之前,我添加了:

strcpy(output_file, file_name);
strcat(output_file, ".out");

    result = dfile->saveFile(output_file, opt_xfer, opt_enctype, opt_glenc,
                             opt_padenc,
                             OFstatic_cast(Uint32, opt_filepad),
                             OFstatic_cast(Uint32, opt_itempad),
                             (opt_dataset) ? EWM_dataset : EWM_fileformat);
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.

应用程序崩溃.我认为,问题是我需要初始化*output_file吗?

问题是,我不是C++程序员:(

那么,有人可以帮忙吗?

谢谢.

c++ string concatenation

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

使用Delphi从网站获取JSON数据

有这个网站http://www.ingress.com/intel

要访问该网站,我们必须使用用户名和密码登录.

访问后,该站点使用JSON作为其数据.

我是JSON的新手.

任何人都可以举例说明如何使用Delphi从网站获取JSON数据?

我顺便使用Delphi 7.

谢谢.

delphi json http delphi-7 http-authentication

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