Вот что в настоящее время выглядит мой код, как:Inno Setup - Pad строка для определенной длины с нулями
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 (например, только один 0, если это 15 цифр, два, если это 14 и т. Д.). Какая функция могла бы это сделать?