Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 4.353 pregleda

Najnovija ↓

Pristup komponentama na Formi 13.03.2006. u 09:47 · pre 251 mesec #1
Na Formi imam mnogo komponenata pa me zanima kako da napravim
proceduru za brisanje vrijednosti komponenata tj postavljanje na pocetne vrijednosti (0)
Ne mislim na dodjeljivanje vrijednosti pojedinacno nego ako je moguce to rijesiti nekakvom petljom

Ima li netko ideju
Re: Pristup komponentama na Formi 13.03.2006. u 10:31 · pre 251 mesec #2
Mozes to raditi na vise nacina.

Ako dinamicki kreiras komponente onda ih mozes pamtiti u nizu i onda jednostavno protrcis kroz niz i postavis vrednosti.

Mozes imati u nekom nizu imena komponenti koje zelis da resetujes. Sve komponente koje mogu da sadrze druge komponente imaju FindComponent funkciju koja na osnovu imena vraca komponentu.

Mozes da protrcis kroz Components niz koji imaju sve komponente koje mogu da sadrze druge komponente. Tako ces proci kroz sve komponente u objektu koji gledas.

Bitno je samo da znas kog je tipa komponeta koju hoces da menjas jer ti ove funkcije vracaju objekat tipa TComponent. Evo jednog nacina kako mozes da resetujes vrednost u zavisnosti od tipa komponente:
Code:
if (Komponenta is TEdit) then
  TEdit(Komponenta).Text := 'Prazno'
else
if (Komponenta is TComboBox) then
  TComboBox(Komponenat).ItemIndex := 2
else
.
.
.
Potpis
Play Store
Re: Pristup komponentama na Formi 13.03.2006. u 11:18 · pre 251 mesec
izmenjeno 1 put, poslednji put ivanho 13.03.2006. u 11:22
  1. ivanho13.03.2006. u 11:22zapis iz teksta poruke
#4
pa vec ti je dat odgovor,
kad ti neko da odgovor, procitaj ga kompletno...

Citat:

Mozes da protrcis kroz Components niz koji imaju sve komponente koje mogu da sadrze druge komponente. Tako ces proci kroz sve komponente u objektu koji gledas.


sazvakano:
napravis proceduru ciji je parametar tipa TWinControl
sa sledecim kodom

Code:

procedure Resetovanje(komp: TWinContol);
var
  intBrojac: integer;
  Komponeta: TControl;

for intBrojac:=0 to komp.ControlCount-1 do
  begin
     Komponenta:=komp.Controls[intBrojac];

     {ovde ubacujes kod po uzoru na onaj koji ti je dao Srki82}

  end;


Pozoves procedure, a kao parametat postavis tvoju forumu.
e sad, kad naidjes na koponentu tipa TPanel ili bilo koju drugu koja
moze da sadrzi druge komponente bitne za tebe - pozovi rekurzivno
istu proceduru, ali ovaj put ti je parametar ta komponenta.

Analogno umesto Controls i ContolCount mozes da stavis Components i
ComponentCount.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme