Programarea în Delphi

Programarea în Delphi. Exemple de lucru cu componentele VCL Delphi

Deci, este timpul să abordăm în mod creativ capabilitățile oferite de componentele VCL Delphi. În articolul anterior, am revizuit pe scurt componentele din filele Standard și Suplimentare. Să aplicăm aceste cunoștințe în practică.

Mulți programatori începători care sunt introduși într-un nou limbaj de programare vizuală pentru ei încep cu crearea programului "Calculator". Să încercăm să creăm un calculator utilizând componentele care se află în filele Standard și Suplimentare.

În primul rând, începeți Delphi. Ești gata? Acum vom semna formularul nostru (Form1) cu titlul "Calculator". Pentru aceasta, introduceți cuvântul Calculator în câmpul Caption al inspectorului de obiecte. În timpul introducerii unui cuvânt, acesta va fi automat înscris în antetul formularului în locul etichetei Form1. Acum trebuie să adăugăm un câmp la forma în care va fi rezultatul rezultatului. Pentru aceasta, componenta Editare (câmpul de introducere) care se află în fila Standard este foarte potrivită. Adăugați-o la formular. Acum îi setăm proprietățile în inspectorul de obiect. Proprietatea Text este setată la 0 (această proprietate conține textul din câmpul de introducere). În plus, proprietatea ReadOnly (numai pentru citire) este setată la true (true). Acest lucru este necesar pentru ca, în timpul funcționării programului nostru, utilizatorul să nu poată introduce caractere direct, fără a folosi butoanele, în acest câmp. Acum adăugați două butoane Button1 și Button2 la formular din fila Standard a panoului Components. Proprietatea Caption a primului buton este setată la "Resetare", iar cea de-a doua "Exit". Primul buton va reseta rezultatul calculelor, iar cel de-al doilea va permite ieșirea din program. Acum trebuie să adăugați câteva butoane pentru introducerea numerelor și a operațiilor aritmetice. Pentru aceasta, butoanele de acces rapid SpeedButton sunt foarte potrivite. Veți găsi această componentă în fila Suplimentară din bara de instrumente a componentelor. Aranjați patru rânduri de șase butoane pe formular. Ca rezultat, ar trebui să obțineți ceva similar cu următoarea imagine:

Acum, asociați succesiv proprietatea Caption la fiecare valoare a butonului: 0,1,2,3,4. precum și operații aritmetice și operații cu memorie:

Voi explica că butoanele de memorie vă permit să memorați orice număr și apoi să îl emiteți. Numele butoanelor corespund următoarelor acțiuni:
SP - șterge memoria;
IP - valoare de ieșire din memorie;
P- - puneți numărul în memorie cu un semn minus și adăugați-l la conținutul memoriei;
P + - puneți numărul în memorie și adăugați-l la conținutul memoriei.

Desigur, puteți aranja butoanele după cum doriți. La urma urmei, cine îți creează aplicația, tu sau cu mine?

Acum, cel mai important lucru este scrierea codului. Da, în ciuda tuturor cunoștințelor despre componente și abilități de proiectare, va trebui să lucrați din greu pentru a crea codul. Să începem cu una simplă: scrieți codul pentru butoanele Resetare și Ieșire. Știm deja cum să scriem programul de procesare a evenimentului "faceți clic pe buton". Faceți dublu clic pe butonul Resetare (sau faceți clic pe acesta o dată, apoi mergeți la fereastra de inspectori de obiecte, selectați fila Evenimente și faceți dublu clic pe pictograma OnClick). Acum scrieți codul de zero:

procedura TForm1.Button1Click (expeditor: TObject);
începe
Edit1.Text: = '0';
se încheie;

Astfel, când faceți clic pe buton, valoarea 0 va fi scrisă în câmpul de introducere Edit1.

Pentru butonul Ieșire, scrieți următorul cod:

procedura TForm1.Button2Click (expeditor: TObject);
începe
Form1.Close;
se încheie;

Când faceți clic pe acest buton, Form1 se închide. Acum puteți începe programul folosind tasta , sau folosind comanda din meniul principal Delphi Run / Run. Programul nostru funcționează cu succes, dar reacționează numai la butoanele Resetare și Ieșire. Acum, scriem procesatori de evenimente pentru butonul de buton pentru toate celelalte butoane.

procedura TForm1.SpeedButton3Click (expeditor: TObject);
începe
dacă Edit1.Text<>"0" atunci
Edit1.Text: = Edit1.Text + '9'
altfel
Edit1.Text: = '9';
se încheie;

Voi explica codul de mai sus. Mai întâi verificăm valoarea în câmpul de introducere. Dacă este zero, atunci trebuie să introduceți numărul dorit în câmp în loc de zero. Dacă nu există zero, atunci trebuie să alocăm acest număr la dreapta numărului deja disponibil.

Pentru restul butoanelor numerice (cu excepția butonului 0), vom scrie același cod ca pentru butonul 9. cu excepția faptului că în locul numărului 9 vom plasa un număr corespunzător numelui butonului, de exemplu pentru butonul 1:

procedura TForm1.SpeedButton3Click (expeditor: TObject);
începe
dacă Edit1.Text<>"0" atunci
Edit1.Text: = Edit1.Text + '1'
altfel
Edit1.Text: = '1';
se încheie;

Acum scrieți codul butonului 0:

procedura TForm1.SpeedButton19Click (expeditor: TObject);
începe
dacă Edit1.Text<>"0" atunci
Edit1.Text: = Edit1.Text + '0'
se încheie;

Aici nu scriem nimic, dacă există zero în câmpul de intrare și se atribuie zero la dreapta dacă valoarea câmpului de intrare nu este zero.

Rulați programul () și încercați să apăsați butoanele numerice. Totul funcționează excelent!

Acum putem spune cu siguranță că cea mai ușoară este în spatele nostru. Cu operații aritmetice, și cu atât mai mult cu memoria va fi mai dificilă. Aici nu mai este necesar fără variabile auxiliare. Cred că cititorul este familiarizat cu limbajul Pascal. pronunțarea ulterioară va fi calculată pentru persoanele care cunosc Pascal cel puțin la nivel inițial.

Să stabilim un obiectiv în timp ce învățăm să lucrăm cu numere întregi. Să încercăm să implementăm operația de adăugare a două numere. Deci, putem introduce deja o anumită valoare în câmpul de intrare. Acum trebuie să stocăm primul număr într-o variabilă prin butonul +, iar prin butonul = să tipăm rezultatul adăugării în câmpul de introducere. La prima vedere, o sarcină destul de simplă. Dar să vedem:

Adăugați variabila a la secțiunea care descrie variabilele din Unitatea 1 (aceasta este chiar la începutul modulului, în secțiunea interfață):

var
Form1: TForm1;
a: întreg;

Să fie un întreg pentru moment. Acum, când apăsați butonul +, amintiți-vă numărul din câmp pentru a introduce variabila a și zero câmpul de intrare (să mergem într-un mod simplu):

procedura TForm1.SpeedButton22Click (expeditor: TObject);
începe
a: = StrToInt (Edit1.Text);
Edit1.Text: = '0';
se încheie;

Funcția StrToInt convertește o valoare de șir (tip șir) la un număr întreg (tip întreg). Funcția inversă (care convertește o valoare întregă la o valoare de șir) este o funcție IntToStr. Acum, apăsând butonul =, rămâne să adăugați numărul introdus cu valoarea stocată anterior în variabila a:

procedura TForm1.SpeedButton23Click (expeditor: TObject);
începe
Editare1.Text: = IntToStr (StrToInt (Edit1.Text) + a);
se încheie;

Astfel, convertim un șir la un număr, îl adăugăm la un, convertim numărul într-un șir și plasăm rezultatul în câmpul de introducere.

Din motive de interes, puteți vedea ce dimensiune are programul nostru. Este nevoie de doar 319 Kbytes în fișierul .exe! Desigur, acesta nu este un calculator Windows standard de 96KB, dar încă:

Articole similare