Cum se introduce parola în câmpul de introducere a parolei cu asteriscuri?
Este necesar ca, la introducerea parolei, parola să fie afișată cu asteriscuri - cum să faceți asta?
dacă InputQuery ("caseta de introducere a parolei", "introduceți parola:", P) atunci
dacă P = "555" atunci // Când este introdusă parola - parola este vizibilă
începe
# xA0; MainForm.Show;
incheie altceva
începe
ShowMessage ("Ați introdus o parolă incorectă!");
se încheie;
> Volf_555 # xA0; (10/02/05 15:28)
Scrieți InputQuery.
Cum? Adu codul
și cum folosește această parolă?
Acest cod nu funcționează
> Volf_555 # xA0; (02.10.05 15:43) [2]
> Cum? Adu codul
care împiedică deschiderea modulului Dialogs.pas, găsiți în el funcția InputQuery, # xA0 și vedeți codul însuși?
Și apoi scrieți InputPwdQuery?
Mai mult, în asta # xA0; într-un caz particular, toate "scrierea" pot fi reduse la copierea unei perechi de funcții din TDialog # xA0; în modulul său, o descriere a unei perechi de constante șir și o linie în funcția PasswordChar: = "*"; (în locul în care este creat TEdit).
În același timp, veți învăța cum să creați un formular în timpul rulării.
Un exemplu simplu (nimeni nu va scrie pentru tine - deci totul este simplificat)
program Proiect1;
utilizări
# xA0; Formulare,
# xA0; Unitatea 1 în "Unit1.pas";
# xA0; Unitatea2 în "Unit2.pas";
începe
dacă nu InputPwdQuery ("caseta de introducere a parolei", "introduceți parola:", P), apoi ieșiți;
# xA0; Application.Initialize;
# xA0; Application.CreateForm (TForm1, Form1);
# xA0; Application.Run;
end.
interfață
utilizează Windows, Mesaje, SysUtils, CommDlg, Clase, Grafică, Controale,
# xA0; Formulare, StdCtrls;
funcția InputPwdQuery (const ACaption, APrompt: șir;
# xA0; var Valoare: șir): Boolean;
funcția GetAveCharSize (Canvas: TCanvas): TPoint;
. Copiat din Dialogs.pas
funcția InputPwdQuery (const ACaption, APrompt: șir;
# xA0; var Valoare: șir): Boolean;
. Copiat din Dialogs.pas
și corectate după cum este necesar
Fișier -> Nou -> Altele. -> Dialoguri -> Dialogul parolei
Băieți că sunteți în creștere. Există o cale mai elegantă:
Dacă parola este introdusă în câmpul Editați, modificați proprietatea PasswordChar la *. iar la introducerea parolei vor fi afișate toate asteriscurile.
Dar aceasta funcționează numai dacă dialogul de parolă este proiectat ca un formular separat cu câmpul Editare și nu prin codul de program. dacă InputQuery ("caseta de introducere a parolei", "introduceți parola:", P) atunci.
GUYS, mănâncă un alt mod, dar necesită crearea unui dialog de parolă ca formă nouă a programului, unde există un câmp Edit și două butoane - ok și anulați.
Și decât această formă va preveni.
La noi, cantitatea de forme create în cadrul proiectului nu este limitată. Da, și se potrivește strict nevoilor.
Nu am nimic împotriva. Numai ignoranța legilor fizicii nu se scutește în nici un fel de respectarea lor strictă. Timpul tetenek, cursuri de cursuri pe calculator, în cazul în care nu a trecut, este aproape de apus. O persoană (adică Volf_555) vrea, din anumite motive, să închidă parola de intrare. Folosind PasswordChar, acesta se expune riscului potențial (acest lucru a fost menționat mai sus), pentru că o altă persoană nu are nevoie nici măcar să privească codul programului, să nu mai vorbim de alte acțiuni. Așadar, am avut o dorință de a pune prima persoană (pe măsură ce creează) un fel de paie. De fapt este doar o paie. Prin urmare, îl sfătuiesc să studieze cel puțin superficial tema cripțiunii. Dar acesta este un alt subiect.
Memorie: 0,76 MB
Durată: 0,05 secunde