Inno Setup: crea una página de consulta de entrada de usuario con longitud de entrada y límite de formato y usa la entrada

Entonces, como dice el título, quiero crear una página de consulta de entrada de usuario (eso es fácil), pero luego quiero que el campo rechace los caracteres de espacio y limite la entrada a no más de 15 caracteres (un poco más difícil para yo). Pero luego necesito escribir la entrada en un archivo, que tampoco estoy seguro de cómo hacer.

Así es como se ve mi código ahora:

var
  Page: TInputQueryWizardPage;

Procedure InitializeWizard();
Begin
  Page := CreateInputQueryPage(wpSelectTasks, 'Choose a Profile Name', 'This name will be used as your Profile Name', 'Please specify a name to be used as your Profile Name (make sure it''s unique), then click Next.');
  Page.Add('Name:', False);
  Page.Values[0] := 'YourName';
End;

function GetUserInput(param: String): String;
Begin
  result := Page.Values[0];
End;

Como puede ver, este código no tiene limitaciones para los caracteres. Eso es lo primero con lo que necesito ayuda.

Mi segundo problema es escribir ese valor.

Una vez más estoy trabajando con un archivo INI no estándar, no es mi culpa. Por lo tanto, este archivo es bastante similar a un INI estándar, simplemente no tiene secciones, solo claves y valores. La propia sección INI de Inno Setup no me sirve, ya que no permitirá la entrada "fuera" de una sección, así que supongo que tendré que tratarla como un archivo de texto (?).

Necesito escribir el resultado como valor en una clave, llamada 'nombre de perfil'.

Respuestas a la pregunta(1)

Su respuesta a la pregunta