Ova komponenta nalazi se na paleti komponenti Additional.
Omogućava simulaciju radne tabele po ugledu na Excel, s tim što se konkretne funkcije moraju isprogramirati.
StringGrid predstavlja dvodimenzionalnu tabelu koja se sastoji od proizvoljnog broja redova (horizontalno) i kolona (vertikalno) na čijim su presecima ćelije koje sadrže stringove.
Leve kolone i gornji redovi predstavljaju oblasti zaglavlja čije se dimenzije postavljaju preko svojstava FixedCols i FixedRows u Object inspector prozoru, kartica Properties (ako se unese broj veći od 0 toliko se redova/kolona fiksira)
Dimenzije komponente možete podesiti u ObjectInspector – Properties unosom vrednosti u osobine ColCount i Rowcount.
Ako broj redova označimo sa n a broj kolona sa m opšte dimenzije tabele predstavljamo kao n x m.
U primeru na slici n=5 a m=3. Da bi u tabelu mogli da unosimo vrednosti mora se uključiti režim korišćenja tabele za unos i editovanje. Object Inspector- Properties – Options – goEditing postavlja se na true
Nakon ovog podešavanja u StringGrid se mogu uneti podaci (vidi sliku dole).
NAPOMENA: Treba imati na umu da StringGrid radi sa stringovima. Postavljanje proizvoljih veličina tabele u aplikaciji
U slučaju da u aplikaciji korisnik treba da postavi dimenzije tabele ne možete da računate na podešavanja u Object Inspector-u.
U ovom slučaju definisaćemo proceduru nad komponentom StringGrid koja će za događaj klik mišem da postavi unete dimenzije tabele.
1. Kreiraćete formu kao na slici. U Edit1 unosiće se broj kolona a u edit2 broj redova.
2. U Object Inspector-u uraditi sledeća podešavanja:
-
vrednosti FixedCols i FixedRows na 0 (nulu).
-
postaviti podosobinu goEditing u osobini Options na true
3. Pišemo sledeću proceduru za događaj klik mišem za komponentu StringGrid. Kao što se vidi iz procedure klikom na StringGrid podešava se broj redova i broj kolona na osnovu unetih vrednosti. Po potrebi se pojavljuju Scrool bar-ovi.
U ovako postavljenu tabelu možemo unositi podatke.
Podaci koji se unose u tabelu mogu se koristiti sa pamćenjem u memoriji i direktnim uzimanjem iz tabele (bez pamćenja u memoriji).
PRIMER:
Kreirati aplikaciju koja omogućava unos matrice nxm i klikom na dugme ”računaj “ računa zbir elemenata matrice (ispisuje ga u labeli) i prosečnu vrednost elemenata (ispisuje je u edit boxu).
U rešavanju ovog zadatka uzimaćemo podatke direktno iz komponente StringGrid bez prethodnog pamćenja u memoriji.
- Postaviti komponente na formu
- Podesiti osobine za StringGrid kao što je prethodno navedeno navedeno
- Napisati proceduru za događaj klik mišem za komponentu StringGrid za postavljanje proizvoljnih dimenzija tabele (kao što je prethodno prikazano).
- Procedura z adugme “racunaj” koja sabira brojeve iz tabele i računa prosečnu vrednost
Pokrenuta aplikacija sa unetim vrednostima i rezultatima:
Detaljnije objašnjenje ovog primera:Stringgrid ZADATAK
Повратни пинг: Komponenta StringGrid | Dragan Ilić Blog
Повратни пинг: 3. Razed: Komponenta StringGrid | Dragan Ilić Blog
Повратни пинг: Jednodimenzionalni i dvodimenzionalni nizovi | Učimo informatiku 2