我必须将用户键入的用户名和密码保存到文本文件中,但它会创建文本文件并在用户输入文本之前保存文本。 (因此创建了空文本文件)。
我认为我必须通过程序做一些事情但是虽然我搜索解决方案,但我无法找到。
我的代码:
[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;
答案 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;
一些提示:保存名称/密码并不安全!使用硬编码路径也非常不寻常......