J-L aka Papy pour les amis
Merci pour le partage, cette astuce de #n (où n est <32) devant le nom de la zone à récupérer est à retenir
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
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;
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
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