将输入的文本保存到Inno Setup中的TXT文件

时间:2015-03-12 01:00:19

标签: inno-setup

我必须将用户键入的用户名和密码保存到文本文件中,但它会创建文本文件并在用户输入文本之前保存文本。 (因此创建了空文本文件)。

我认为我必须通过程序做一些事情但是虽然我搜索解决方案,但我无法找到。

我的代码:

[Code]
var
  Page: TInputQueryWizardPage;
  username: String;
  password: String;

procedure InitializeWizard;
begin
  { Create the page }
  Page := CreateInputQueryPage(wpWelcome,
    'Username & Password', 'Username like : e201600',
    'Please enter your username and password.');
  { Add items (False means it's not a password edit) }
  Page.Add('Username:', False);
  Page.Add('Password:', True);
  { Set initial values (optional) }
  Page.Values[0] := ExpandConstant('hello5');
  Page.Values[1] := ExpandConstant('');
  { Read values into variables }
  username := Page.Values[0];
  password := Page.Values[1];
  SaveStringToFile('c:\filename.txt', username+#13#10+password+#13#10, False);
end;

1 个答案:

答案 0 :(得分:3)

安装程序启动时您正在创建输入页面,并立即将字段保存到文本文件中。

您需要等待用户输入数据并单击正确页面上的“下一步”按钮:

function NextButtonClick(CurPageID: Integer): Boolean;
begin
  if(CurPageID = Page.ID) then
  begin
    { Process the page }
    { Read values into variables }
    username := Page.Values[0];
    password := Page.Values[1];
    SaveStringToFile('c:\filename.txt', username+#13#10+password+#13#10, False);
  end;

 Result := True;
end;

一些提示:保存名称/密码并不安全!使用硬编码路径也非常不寻常......