Push-buton de calculator pentru a pascalabc
În această lecție, vom folosi cunoașterea tehnologiei OOP (programare orientata-obiect
ation) a crea un calculator simplu buton.Pe calculatorul nostru de vedere va arata astfel:
Deci, începe
Așa cum am menționat în preambul, avem nevoie de PLO - o abordare, ceea ce înseamnă că vom folosi clasele și instanțele lor.
În acest caz, vom conecta modulul VCL. care este responsabil pentru crearea de tot felul de forme și elemente: butoane, edita câmpuri, switch-uri, câmpuri de text.
Pentru fiecare dintre aceste elemente formează clase de unități VCL sunt deja gata, astfel încât, spre deosebire de articolul precedent (noțiuni de bază despre OOP), avem clase în sine nu creează, și va crea doar cazuri de clase.
În blocul de declarație variabilă, trebuie să lista numele tuturor acestor instanțe viitoare:
Ceea ce avem aici: MainForm - o instanță a formularului de clasă, și anume forma în sine - în sine „cutie“ forma de viitor,
Bsum - o instanta a clasei Button. și anume buton. Aceasta este însumarea butonului,
Braz - o copie a butoanelor Difference
BPR - copii ale butonului de lucru
Bdel - butoane de exemplu Divizia
Bres - o copie a butonului de rezultate
Bclean - Butonul Clear instanță
câmpuri de introducere de date de copiere - T1
De asemenea, avem nevoie de o „operațiune“ variabilă - acesta va conține numărul de tranzacție (va deveni clar mai jos), rintați variabilă - va stoca un rezultat întreg, rr variabila - va pastra rezultatul real al operațiunii, x1, x2 - se operanzi că, pe care se va face aritmetică.
Și acum corpul însuși al programului:
În primul rând, de a crea o secvență de instanțe inițial tot ce avem nevoie de obiecte cu proprietățile dorite:
Parantezele din formele specimenelor ukazyny 4 cifre (x indentare, scobitura y, latime, inaltime), unde x și y indentare crestate - este dantelat colțul din stânga sus al formularului din colțul din stânga sus al ecranului.
Pentru a intra în câmpul, și copii ale cheilor și padding x liniuță - este decalat față de colțul din stânga sus al formularului propriu-zis.
Pentru copii ale cheilor specifica imediat proprietățile „Legendă“ - titlu, cere eticheta pentru fiecare buton.
Metode de prelucrare instanță
În acest program, vom folosi metodele pentru cazuri de clicuri butoanele mouse-ului - „onClick“ - tradus literal atunci cand este apasat.
Dacă un eveniment „Click“ pentru fiecare instanță, noi numim procedura dumneavoastră:
Acum rămâne să descrie cele 6 enumerate în descrierea procedurilor de proceduri:
Pentru a gestiona clicuri pe butonul Bsum (însumării)
În această procedură contam un conținut x1 câmpuri de intrare variabile (cu redefinirea simultană a șirului tip la număr întreg), și este clar imediat câmpul. De asemenea, atribuie o operațiune variabilă de însumare a codului de operare (în acest caz, 1).
Pentru a gestiona Braz clic pe butonul (diferența):
In mod similar valoarea skid variabilă câmp de intrare x1, clar câmpul și da Opcode: 2.
Pentru a gestiona Bpr clic pe butonul (produs):
In mod similar valoarea skid variabilă câmp de intrare x1, clar câmpul și da Opcode: 3.
Pentru a gestiona clicuri pe butonul Bdel (diviziune):
In mod similar valoarea skid variabilă câmp de intrare x1, clar câmpul și da Opcode: 4.
Pentru a gestiona Bres click pe butonul (rezultatul de calcul):
Când faceți clic pe butonul „=“ la x2 variabilă împinge conținutul câmpului de intrare. De data aceasta, în x1 variabila a intrat primul număr este stocat, astfel încât în continuare calculează acțiunea specificată. În cazul în care codul de operare este egal cu 1, atunci face însumarea dacă 2, scăderea, în cazul în care 3, multiplicarea, în cazul în care 4, divizia. Astfel, rezultatul va fi într-o operațiune rr variabilă reală.
Dar există o problemă: în caseta de text nu poate fi decât o variabilă șir de caractere. Cum de a converti un număr la un șir de caractere. Există o funcție în pascal: inttostr (x) - se transformă tip întreg la un șir de caractere. Dar avem rezultate reale (deoarece după operație rezultatul diviziunii întotdeauna numai reale). Prin urmare, trebuie să facem o traducere intermediară a unei variabile reale în ansamblu:
rint: = rotund (rr); - în acest caz, am profitat de această caracteristică pentru rotunjire. Desigur, ne-am sacrifica rezultatul diviziunii, tăierea partea fracționată. Acesta este dezavantajul onest al acestui program, pe care o vom elimina în lecția următoare.
A fost ultima procedură - procedură caseta text de curățare.
La procesarea Bclean clic pe butonul (clar):
Programul este acum completă.
Aici este codul complet al programului: