Salut LoicH
Pour avoir les TEdit qui affiche de gros points a la place des caracteres il faut faire comme ceci
Pour afficher le message au passage du curseur
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 Edit1->Font->Name = "wingdings"; Edit1->PasswordChar = 'l';
pour convertir automatiquement le texte en minuscle
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 Edit1->Hint = "mon texte"; Edit1->ShowHint = true;
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2Edit1->CharCase = ecLowerCase; // ecNormal, ecLowerCase, ecUpperCase
Hello,
l'exemple de l'application fournie est une application .Net
dans le cas de C++ Builder ou delphi tu dois cr�er une form
contenant les diff�rents �l�ments de ton exemple
cdlt
vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
je vous en souhaite une excellente lecture ...
A lire : Les r�gles du forum
Pour tester si c'est une minuscule peut etre comme ceci
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 void __fastcall TForm1::Edit1Change(TObject *Sender) { String a = Edit1->Text; int b = a.Length(); String c = a.SubString(b,1); if(c <= "a" && c <= "Z") { ShowMessage("Majuscule"); } }
Sous Vista\Seven, le PasswordChar en * affiche automatiquement des ronds verts
Il faut juste veiller que la font est Tahoma et non MS sans Serif (comme sous C++Builder 6 et 2K)
PasswordChar en * devrait activer ce type de contr�le normalement
J'ai test�, sous BCB2007 + XPManifest sur XP SP3, cela affiche une info bulle
il faut laisser CharCase � ecNormal
Si tu modifie CharCase cela n'affichera plus le message et appliquera la conversion (pratique � bannir car cela r�duit la variabilit� du mot de passe)
Comme dans le sujet Comment utiliser le caract�re ● comme Passwordchar?
isupper existe soit dans ctype.h
IsUpper dans SysUtils des versions Unicode de C++Builder
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 void __fastcall TForm1::Edit1Change(TObject *Sender) { int l = Edit1->Text.Length(); if (l > 0) if (IsUpper(Edit1->Text[l])) ShowMessage("Majuscule"); }
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
Pour afficher le message la ou tu veux, en reprenant le code de ShaiLeTroll
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 void __fastcall TForm1::Edit1Change(TObject *Sender) { int l = Edit1->Text.Length(); if (l > 0) if (isupper(Edit1->Text[l])) { THintWindow* myhint; myhint = new THintWindow(Edit1); myhint->Color = clInfoBk; myhint->ActivateHint(TRect(Form1->Left + Edit1->Left + 20, Form1->Left + Edit1->Top + 15, Form1->Left + Edit1->Left + 235, Form1->Left + Edit1->Top + 40),"Vous devez ecrire en minuscule"); Sleep(1000); myhint->ReleaseHandle(); } }
Hello Blondelle
Attention au MemoryLeak
la m�moire allou�e a hint window n'est jamais d�sallou�e
l'utilisation de auto_ptr ou unique_ptr permet l'allocalion m�moire sans se soucier de lib�rer les objets
cdlt
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 #include <memory> std::unique_ptr<THintWindow> myhint(new THintWindow()); // ou std::auto_ptr<THintWindow> myhint(new THintWindow());
vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
je vous en souhaite une excellente lecture ...
A lire : Les r�gles du forum
merci a tous pour l�int�r�t que vous portez � ce sujet.
Alors j'ai bien r�ussi � masquer les caract�res et � tester minuscules et majuscules.
Par contre il y a juste l'affichage de la fen�tre qui indique qu'on a activ� le Verrouillage num�rique. Mais si j'ai bien compris DjmSoftware, il faut que je cr�e une form juste pour cela :
![]()
Partager