Componenta de tip TEdit

 

Componenta de tip TEdit este folosiae pentru a afisa siruri de caractere, dar si pentru a permite utilizatorului introducerea lor. Un astfel de obiect permite sa se scrie/citeasca texte pe un singur rand. Simbolul corespunzator unui obiect de tip Tedit se gaseste pe paleta de componente standard :

 

*         

 

Principalele proprietati ale acestor obiecte sunt:

 

1. Text – de tip AnsiString. Retine sirul de caractere care este afisat sau care se citeste. Mai precis ,daca initial aceasta proprietate contine un sir de caractere – introdus cu ajutorul inspectorului de obiecte – atunci acest text este afisat in timpul executiei in obiectul Tedit. Daca utilizatorul introduce un sir de caractere, programatorul va capta acest sir utilizand proprietatea Text.

 

2. MaxLength – stabileste numarul de caractere pe care le poate contine sirul introdus de utilizator. De exemplul, daca va contine 2, atunci se pot introduce doar siruri avand maxim doua caractere. In situatia in care nu dorim ca acest sir sa aiba limitata lungimea , valoarea memorata trebuie sa fie 0 (0 este valoarea implicita).

 

3. CharCase -  poate contine una dintre urmatoarele 3 valori , care au semnificatia :

 

a) ecUpperCase – textul introdus va fi automat convertit in litere mici;

b) ecLowerCase – textul introdus va fi automat convertit in litere mari;

c) ecNormal – nu se fac conversii.

 

4. ReadOnly – este de tip bool. Daca retine true , atunci utilizatorul nu poate introduce date.

 

5. PasswordChar – se foloseste pentru introducerea parolelor. Daca este introdus un caracter diferit de cel nul (#0), atunci, indiferent ce scrie utilizatorul , la introducerea textului, apare acel caracter. De exemplu, dacaPassordChar retine ‘*’ si se introduce sirul „mama”, apare sirul „****”. In schimb, in program se poate prelucra sirul real tastat (“mama” in exemplu).

 

Enabled – poate retine true sau false. Cand retine false campul de editare devine activ.

 

Aplicatii propuse:

Aplicatia 1. Scrieti un program care citeste un sir de carctere prin utilizarea unei componente de tip TEdit. Sirul citit se afiseaza prin ShowMessage ( ).Citirea si afisarea se face la apasarea unui buton.

 

void __fastcall Tform::Button1Click(TObject *Sender)

{   ShowMessage(Edit1->Text);

}

 

 

 

 

 

Aplicatia 2. Scrieti un program care citeste doua numere naturale si afiseaza suma lor. Pentru afisare se va utiliza o componenta de tip TLabel.

 

 

 

 

Aplicatia 3. Programul dv. va citi o parola.Daca parola nu este corecta, se va afisa „Parola incorecta”, astfel se va afisa „ok”.Presupunem ca parola corecta este „Builder”.

 


 

void __fastcall TForm::Button1Click(TObject *Sender)

{

  AnsiString Parola="Builder";

if (Parola.AnsiCompare(Edit1->Text)= =0) //se compara sirul Parola cu sirul din Edit1 

ShowMessage("ok");

else

ShowMessage("Parola incorecta");

}

 

Aplicatia 4. De multe ori se doreste preluarea unui text dintr-un Edit la apasarea tastei Enter. Evenimentul la care raspunde componenta de tip TEdit la o astfel de prelucrare este: OnKeyPress:

            Antetul acestei metode este:

 

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)

 

Unde parametrul Key este ultima tasta apasata. Se stie ca tasta Enter are codul 13 si prin urmare se poate compara codul tastelor apasate cu 13 si in momentul in care s-a tastat Enter se va genera un eveniment. Spre exemplu daca se doreste captarea unui sir dintr-un Edit si transmiterea acestuia unui Label la apasarea tastei Enter:

           

Evenimentul OnKeyPress se poate prelucra astfel:

 

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)

{AnsiString s;

if((int)Key==13) //daca se apasa tasat Enter

         {s=Edit1->Text;

          Label1->Caption="Ai tastat: "+s;

}

}

 

Aplicatia 5. Sa se citeasca un vector de intregi de la tastatura. Sa se afiseze. Sa se ordoneze si sa se afiseze ordonat.