/ / Comment autoriser la saisie de caractères alphanumériques uniquement dans une zone d'édition TInputQueryWizardPage? - inno-setup

Comment autoriser la saisie de caractères alphanumériques uniquement dans une zone d'édition TInputQueryWizardPage? - inno-setup

Je dois autoriser la saisie de caractères alphanumériques uniquement dans une configuration Inno "s TInputQueryWizardPage zone d'édition. Comment puis-je faire ceci ?

Réponses:

3 pour la réponse № 1

Pour reconnaître un caractère alphanumérique, je voudrais utiliser le IsCharAlphaNumeric Fonction API Windows et dans l’édition attribuée "s OnKeyPress Si je ne mangeais pas alphanumérique, je mangerais la clé:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}My Program

[Code]
#ifdef UNICODE
#define AW "W"
#else
#define AW "A"
#endif

function IsCharAlphaNumeric(ch: Char): BOOL;
external "IsCharAlphaNumeric{#AW}@user32.dll stdcall";

procedure InputQueryEditKeyPress(Sender: TObject; var Key: Char);
begin
// if the currently pressed key is not alphanumeric, eat it by
// assigning #0 value
if not IsCharAlphaNumeric(Key) then
Key := #0;
end;

procedure InitializeWizard;
var
EditIndex: Integer;
InputPage: TInputQueryWizardPage;
begin
// create input query page and add one edit item
InputPage := CreateInputQueryPage(wpWelcome, "Caption", "Description",
"SubCaption");
EditIndex := InputPage.Add("Name:", False);
// assign the OnKeyPress event method to our custom one
InputPage.Edits[EditIndex].OnKeyPress := @InputQueryEditKeyPress;
end;