如何搜索现有的 exe 文件,然后将该目录用于我的安装程序?
如果找不到 exe 文件,我希望用户浏览路径。如果 exe 文件安装在其他地方。
情况 1(最常见的情况):
默认目录是 c:\test\My program
这应该显示为“选择目标位置”页面上的路径。当用户按“下一步”时,应该有一个检查。确保默认目录存在 (c:\test\My program) 如果存在,用户应继续进入“准备安装”页面。
Senario 2(极少数情况):
默认目录是 c:\test\My program
这应该显示为“选择目标位置”页面上的路径。当用户按“下一步”时,应该有一个检查。确保默认目录存在 (c:\test\My program) 如果不存在,则应提示用户输入“My program”的路径。随后,用户应继续进入“准备安装”页面。然后我只相信用户选择了正确的路径
我怎样才能在 InnoSetup 中做到这一点?
我有一个名为ADO的数据库t_codemeaning,下面是表结构:
t_codemeaning
codemenaing_code AS Text
codemenaing_title AS Text
codemenaing_description AS Text
Run Code Online (Sandbox Code Playgroud)
我添加了所有表格ADOQuery1.
我点击了这个Delphi脚本的按钮:
ADOQuery1.edit;
ADOQuery1codemeaning_title.value := edit1.text;
ADOQuery1codemeaning_description.value := memo1.lines.text;
ADOQuery1.post;
Run Code Online (Sandbox Code Playgroud)
当我在备忘录中添加单行时,那么每件事都很好.
但是当我在memo1中添加多行文本时,它会显示一个错误:
多步操作产生错误.检查每个状态值.
如何解决这个问题?
我的最后一个进展,我创建了一个新的字符串变量aValue并将memo1.lines.text添加到其中:
aValue:=memo1.lines.text;
aValue := StringReplace(StringReplace(aValue, '#10', '', [rfReplaceAll]), '#13', '', [rfReplaceAll]);
Run Code Online (Sandbox Code Playgroud)
我将ADOQuery1codemeaning_description.value ....的脚本更改为:
ADOQuery1codemeaning_description.value := aValue;
Run Code Online (Sandbox Code Playgroud)
仍然有同样的错误......
我用这段代码下载小文件:
Var
ms:TMemoryStream;
begin
ms:=TMemoryStream.Create;
Idhttp1.get('http://mydomain.com/myfile.zip',ms);
ms.SaveToFile('myfile.zip');
ms.Free;
end;
Run Code Online (Sandbox Code Playgroud)
但是文件在存储到磁盘之前保存在RAM中,因此可能难以下载文件> 1Gb,例如.有没有办法按部件下载文件?或者我需要使用WinInet吗?提前致谢!
我想将注册表项设置为HKLM用户是管理员还是HKCU普通用户。
我尝试了这个:
[Registry]
Root: "{code:DefRegRoot}"; Subkey: "Software\MyCompany\MySW\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
[Code]
function IsRegularUser(): Boolean;
begin
Result := not (IsAdminLoggedOn or IsPowerUserLoggedOn);
end;
function DefRegRoot(Param: String): String;
begin
if IsRegularUser then
Result := HKCU
else
Result := HKLM;
end;
Run Code Online (Sandbox Code Playgroud)
但是编译器在注册表的第一行返回一个错误:
Parameter "Root" is not a valid value.
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
我的用户数据位于用户的文件夹中,例如:C:\ Users \ Administrator \ profile.ini
我知道如何删除它:
[UninstallDelete]
Type: files; Name: "C:\Users\{username}\profile.ini"
Run Code Online (Sandbox Code Playgroud)
问题是我不想默默地删除此文件,我需要通过复选框将最终操作告知最终用户,例如“ []删除用户数据”。如果最终用户检查了该文件,请删除该文件,否则什么也不做。
我有两个问题:
有没有办法获取当前记录用户的文件夹?我认为这不是像我在“ C:\ Users {username} \”上面所做的那样的好方法。但是我找不到这样做的任何常数。
可以在卸载开始时添加一个复选框吗?
在Delphi XE2或XE3中,如何创建类似于Outlook 2013电子邮件列表的列表框?
或者是Outlook 2013中的列表还有其他什么?
如何在Delphi XE2或XE3中实现类似的?
谢谢

我需要解析以下XML:
<?xml version="1.0" encoding="UTF-8" ?>
<revista numero="2226" data="03/09/2013">
<processo numero="902987089">
<despachos>
<despacho codigo="IPAS139"/>
</despachos>
<titulares>
<titular nome-razao-social="AAAAA" pais="BR" uf="PR"/>
</titulares>
</processo>
<processo numero="902812165">
<despachos>
<despacho codigo="IPAS029"/>
</despachos>
<titulares>
<titular nome-razao-social="XXXX" pais="BR" uf="SC"/>
</titulares>
(...)
Run Code Online (Sandbox Code Playgroud)
我对XML没有任何经验.我IXMLDocument在Delphi中使用.
LNodeElement := LDocument.ChildNodes.FindNode('revista');
(...)
for I := 0 to LNodeElement.ChildNodes.Count - 1 do
(...)
Run Code Online (Sandbox Code Playgroud)
我的问题是我如何才能到达标签numero内的属性值<processo>?但如果一个善良的灵魂可以分享一个小例子,那将是最受欢迎的.
我想在SQL数据库中保存字体(FontStyle,FontColor,FontSize),为此,我需要将其保存为字符串。如何将Tfont转换为TString?
我可以将TCriticalSection对象声明为公共字段,例如:
type
TMyObject = class
public
CS: TCriticalSection;
end;
Run Code Online (Sandbox Code Playgroud)
我想公开该字段以允许任何线程进入和离开临界区对象,这在内部保护TMyObject实例的完整性.那么,我可以将TCriticalSection对象声明为公共类字段吗?
我正在使用Pascal中的简单集,并且只想输出集合的内容.每次运行代码时,我都会收到以下错误消息:'project1.lpr(17,13)错误:无法读取或写入此类型的变量'.
这是我的代码:
program Project1;
{$mode objfpc}{$H+}
uses
sysutils;
type TFriends = (Anne,Bob,Claire,Derek,Edgar,Francy);
type TFriendGroup = Set of TFriends;
Var set1,set2,set3,set4:TFriendGroup; x:integer;
begin
set1:=[Anne,Bob,Claire];
set2:=[Claire,Derek];
set3:=[Derek,Edgar,Francy];
writeln(set1);
readln;
end.
Run Code Online (Sandbox Code Playgroud)
输出集是否有特殊的方法/功能?
谢谢
delphi ×6
inno-setup ×3
delphi-xe2 ×2
delphi-2010 ×1
delphi-7 ×1
delphi-xe ×1
delphi-xe3 ×1
freepascal ×1
indy10 ×1
listbox ×1
memo ×1
ms-access ×1
tadoquery ×1
wininet ×1
xml ×1