Proprietatea de moștenire a proprietăților fontului formei părinte
Când se utilizează Memo pentru a introduce o matrice, valoarea fiecărui element al matricei trebuie introdusă într-o linie separată și după introducerea fiecărui element al matricei, apăsați tasta. Puteți accesa linia textului în câmpul Memo utilizând proprietatea Liniile. indicând numărul liniei dorite în paranteze pătrate (liniile sunt numerotate de la 0). Următorul program, al cărui text este afișat în Lista 5.5, demonstrează utilizarea componentei Memo pentru a introduce o matrice de caractere. Principala intrare bucla matrice de caractere de component proceduri memo poate arata ca: pentru i: = 1 la SIZE face o [i]: = Memo1.Lines [i];
unde: dimensiunea - o constantă numită care determină dimensiunea matricei; a este o matrice; Memo1 este numele componentei Memo; Liniile sunt proprietatea componentei Memo, care este o matrice, fiecare element al căruia conține un rând de text în câmpul Memo. Forma programului este prezentată în Fig. 5.4. În plus față de câmpul Memo, conține un buton de comandă (Button1), când faceți clic pe care introduceți valorile elementelor de matrice din câmpul Memo.
Fig. 5.4. Caseta de dialog pentru aplicație Introducerea unei matrice
Listing 5.5. Introducerea unui șir de rânduri din componenta Memo
Windows, Mesaje, SysUtils, Clase, Grafică, Controale, Formulare, Dialoguri, Meniuri, StdCtrls;
procedura Button1Click (expeditor: TObject);
procedura TForm1.Button1Click (expeditor: TObject);
SIZE = 5; // dimensiunea matricei
a: matrice [1..SIZE] de șir [30]; // array
n: întreg; // numărul de linii introduse în câmpul Memo
i: întreg; // indexul elementului matrice
ShowMessage ("Nu s-au introdus date de intrare!");
Exit; // ieșiți din procedura evenimentului
// în câmpul Memo există text
dacă n> SIZE atunci
ShowMessage ('Numărul de rânduri depășește dimensiunea matricei.');
n: = SIZE; // vom introduce doar primul siruri de caractere SIZE
a [i]: = Form1.Memo1.Lini [i-1]; // Linile de memorie sunt numerotate de la zero
// scoateți matricea în caseta de mesaje
end. Lucrarea principală se realizează prin procedura TForm1.Button1Click. care verifică mai întâi pentru a vedea dacă există text în câmpul Memo1. Dacă textul este (în acest caz, valoarea proprietății Lines.Count este mai mare decât zero), atunci procedura compară numărul de șiruri introduse și dimensiunea matricei. Dacă acest număr depășește dimensiunea matricei, atunci programul modifică valoarea lui n. astfel pregătește introducerea numai a rândurilor de prima mărime. În Fig. 5.5 arată aspectul casetei de dialog pentru Introducerea unui matrice. După ce faceți clic pe butonul de comandă Enter, apare o fereastră (Figura 5.6), care conține valorile elementelor de matrice primite din câmpul Memo.
Fig. 5.5. Fereastră de aplicație Introducerea unui matrice
Fig. 5.6. O matrice introdusă din câmpul Memo