Merci pour le partage, cette astuce de #n (où n est <32) devant le nom de la zone à récupérer est à retenir
Cela existe depuis un bon bout de temps, en 2016, XE2, j'avais repris cette astuce dans mon TSLTMessageDlg.InputString
j'utilise #9 pour ma part
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 //------------------------------------------------------------------------------ class function TXxxxGUISalarie.ShowLoginPasswordPrompt(ADBConnection: TXxxxDBConnection): TXxxxEntitySalarie; const SQL_SELECT = 'SELECT ....'; type TPrompt = (pLogin, pPassword); var lPrompts, lValues: array[TPrompt] of string; {$IFDEF MODULE_EN_DEV} UserNumber: Integer; {$ENDIF MODULE_EN_DEV} begin Result := nil; lPrompts[pLogin] := _('Votre numéro de salarié :'); {$IFDEF MODULE_EN_DEV} if TXxxxBusinessSalarie.WhoDeveloperSalarieNumero(UserNumber) then lValues[pLogin] := IntToStr(UserNumber); {$ENDIF MODULE_EN_DEV} lPrompts[pPassword] := #9 + _('Votre mot de passe :'); // Un caractère spécial permet d'avoir un PasswordChar dans InputQuery if Length(lPrompts) > 0 then begin if InputQuery(_('Connexion'), lPrompts, lValues) then begin Result := TXxxxEntitySalarie.Create(); try Result.OwnsQuery := True; Result.Query := TXxxxDBQuery.Create(ADBConnection); Result.Query.SQLText := SQL_SELECT; Result.Query.ParamByName('pLogin').Value := lValues[pLogin]; Result.Query.ParamByName('pPassword').Value := lValues[pPassword]; Result.Query.Open(); if Result.Query.IsEmpty() then Abort; // Chargement pour alimenter le n° de salarié Result.Connection := ADBConnection; Result.Load(TXxxxBusinessSalarie.MakeCriteriaByNumero(StrToInt(lValues[pLogin]))); except on E: Exception do FreeAndNil(Result); end; end; end; end;
quelque chose me dit que ça n'est pas documenté alors que ça mériterait d'être dans la doc...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager