1

在运行 Inno Setup 时,我需要确保用户输入后安装目录的驱动器号为大写。

原因:Apache 的mod_xsendfile需要它。如果驱动器号以小写形式输入,则它不起作用(在 httpd.conf 中)。并且只有驱动器号必须更改;如果路径的任何字符与文件系统中路径的大小写不匹配(尽管 Windows 不区分大小写),Apache 也无法处理它。

如何使 Inno Setup{app}常量自动大写其第一个字符?

4

1 回答 1

2

这段代码应该保持目录编辑框的第一个字母总是大写:

[Code]
procedure DirEditChange(Sender: TObject);
var
  S: string;
  SelStart: Integer;
  SelLength: Integer;  
begin
  S := WizardForm.DirEdit.Text;
  if Length(S) > 0 then
  begin
    SelStart := WizardForm.DirEdit.SelStart;
    SelLength := WizardForm.DirEdit.SelLength;
    Insert(UpperCase(S[1]), S, 2);  
    Delete(S, 1, 1);
    WizardForm.DirEdit.Text := S;
    WizardForm.DirEdit.SelStart := SelStart;
    WizardForm.DirEdit.SelLength := SelLength;
  end;
end;

procedure InitializeWizard;
begin
  WizardForm.DirEdit.OnChange := @DirEditChange;
end;
于 2012-08-06T17:13:07.390 回答