0
這裏是我的代碼目前看起來具有特定長度,如:Inno Setup的 - 墊一個字符串用零
var
Page: TInputQueryWizardPage;
procedure IDKeyPress(Sender: TObject; var Key: Char);
var
KeyCode: Integer;
begin
KeyCode := Ord(Key);
if not ((KeyCode = 8) or ((KeyCode >= 48) and (KeyCode <= 57))) then
Key := #0;
end;
Procedure InitializeWizard();
Begin
Page := CreateInputQueryPage(blahblah);
Page.Add('Profile ID:', False);
Page.Edits[0].MaxLength := 16;
Page.Edits[0].OnKeyPress := @IDKeyPress;
Page.Values[0] := '0000000000000000';
End;
procedure WriteUserInput;
var
A: AnsiString;
U: String;
begin
LoadStringFromFile(ExpandConstant('{app}\prefs.ini'), A);
U := A;
StringChange(U, '0000000000000000', Page.Values[0]);
A := U;
SaveStringToFile(ExpandConstant('{app}\prefs.ini'), A, False);
end;
procedure CurStepChanged(CurStep: TSetupStep);
Begin
if CurStep=ssPostInstall then
begin
WriteUserInput;
end
End;
現在我需要的Inno做的是留給用戶的輸入,因爲它是,如果它已經16個數字,末尾填0,小於16(例如15個數字只有一個0,14個只有兩個,等等)。什麼功能可以做到這一點?