Cunoaște Intuit, curs, dialoguri

Ce este dialogul în Delphi? Acesta este non-vizual, care este invizibil pentru componentele de utilizator care efectuează dialoguri Windows standard și programul de utilizator. De exemplu, deschiderea unui dialog, sau pentru a salva fișierul, dialogul de selectare a fontului sau culoarea, etc. Orice program serios conține astfel de dialoguri. Lucrul cu ei este simplu, fiecare dialog are doar două proprietăți care vom avea nevoie. Să studiem lucrarea exemplu dialoguri.

Toate dialogurile există o metodă care ne interesează - Executare. Acest tip de metodă logică, returnează adevărat. în cazul în care dialogul utilizator a avut loc cu succes (de exemplu, utilizatorul a selectat fișierul fiind deschis), și false în caz contrar (de exemplu, utilizatorul a refuzat selectarea fișierului). În acest sens, dialogul este de obicei utilizat împreună cu testul:

Dialog FontDialog o proprietate Font returnează fontul selectat. Această proprietate este dificil, este de tipul TFont. și atribui numai într-un alt font, de exemplu:

În mod similar, dialogul ColorDialog returnează Color proprietate - culoare, având tip TColor. iar această proprietate poate fi atribuită numai la obiectul care are același tip:

Cunoaște Intuit, curs, dialoguri


Fig. 13.1. Setarea dialoguri fișierul de filtru

Acum, la deschiderea fișierului. veți vedea numai aceste două tipuri de fișiere. Gândiți-vă că programul trebuie să știe - dacă textul este modificat în Memo. La urma urmei, utilizatorul poate închide programul și de a salva textul, iar apoi va da vina programator, pentru că el nu a furnizat. În acest caz, ne referim la faptul că avem o mulțime de opțiuni de meniu. deci nu va fi o mulțime de proceduri. Și pentru a da programului să știe dacă textul este schimbat, cel mai rezonabil pentru a crea un boolean variabilă - text schimbare, atribui Adevărat ei. în caz contrar Fals. Pentru această variabilă poate lucra toate procedurile, trebuie să fie la nivel mondial. A face variabila globală înainte de punerea în aplicare cuvântul:

Eveniment onChange componentă Memo, setați linia:

Odată ce textul este modificat în Memo. variabilă imediat va da adevărul.

Eu în mod deliberat nu iau cuvântul pe scară largă „File“ sau „FILENAME“, deoarece acestea pot fi rezervate sau componente pot fi proprietăți cu același nume, rezultatul este un conflict de nume.

Pentru a gândi mai departe. Deschideți fișierul poate fi meniul de comanda "File - Open" sau comanda PopupMenu "Open". Deci, trebuie să scrie același cod de două ori? Și dacă este un mare și complex? Este cu siguranță posibil, și copiați-l, acesta va rezista compilator, iar programul va funcționa corect. Și cum să optimizați codul? Două cod identic în program se va ocupa de două ori mai mult spațiu în memorie și pe disc! Pentru a face acest lucru, avem funcții și proceduri definite de utilizator.

Amintiți-vă - o funcție sau procedură, am descris mai sus, locul în care acesta va fi folosit, apoi, primul nostru, trebuie să fie descrise în procedura secțiunea de punere în aplicare. direct sub linie.

Acum vei învăța ceva nou. În doar un astfel de proceduri și funcții personalizate nu pot accesa direct componentele sub formă de proceduri ca și funcții ale formei în sine nu face parte dumneavoastră. Dacă introduceți

atunci compilatorul va da imediat o eroare. Accesați componenta care aveți nevoie, specificând primul nume al formei în care se află:

Cu toate acestea, acest cod nu va fi prea confortabil - de fiecare dată când trebuie să se aplice componentelor prin intermediul formularului. Un set suplimentar de cod de text prea lung. Acolo - cu (c) funcția. Această funcție are forma:

unde fMain - numele formularului cu componentele dorite. Acum începe între paranteze. sfârșitul acestui design putem aplica la componentele formei direct. Scrie comun tuturor procedura de deschidere a fișierului:

Acum a crea un eveniment handler pentru comanda de meniu „File - Open“. Nu suna procedura noastră:

articole similare