Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Koriscenje vise komponenti odjednom

[es] :: Pascal / Delphi / Kylix :: Koriscenje vise komponenti odjednom

[ Pregleda: 834 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SFilip
Vrsac

Član broj: 42290
Poruke: 91
195.178.55.*



Profil

icon Koriscenje vise komponenti odjednom03.02.2005. u 12:38

postoji li nacin da odjednom koristim vise komponenti istog tipa u delphiju 7? primer:
imam 10 komponenti natpisa (Label) i svima bi hteo da im dam broj od 1 do 10 kao natpis. znaci ako su im na pocetku natpisi izgledali ovako:
Label1
Label2
Label3
Label4
Label5
Label6
Label7
Label8
Label9
Label10
pritiskom na jedno dugme treba da postanu ovakvi:
1
2
3
4
5
6
7
8
9
10
(ovo mi je u stvari potrebno za mnogo veci broj komponenti (nekoliko stotina, a mozda cak i hiljada), ali sam dao ovakav primer da ne bi morao da kucam 1000 natpisa...
da li je ovo moguce i kako to da potignem?
Open Source. Millions of open minds can't be wrong.
Otvoreni kod. Milioni slobodnih misli ne mogu da pogrese.
03.02.2005. u 12:38 

sasas
Saša Slavnić
looking for...
Na lepom plavom Dunavu

Član broj: 35478
Poruke: 611
*.zaslon-telecom.si.



Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 13:28
Ovaj primer ce uraditi tacno to sto si napisao. Sad ne znam koliko ce ti ovo pomoci, ali mislim da je priblizno tome sto trazis.

Code:

procedure TForm1.Button1Click(Sender: TObject);
var
  i, cnt: integer;
begin
  cnt := 0;
  for i := 0 to self.ComponentCount - 1 do
  begin
    if self.Components[i] is TLabel then TLabel(self.Components[i]).Caption := inttostr(cnt);
    Inc(cnt);
  end;
end;


ss.
When something is hard to do, then it's not worth doing.
03.02.2005. u 13:28 

SFilip
Vrsac

Član broj: 42290
Poruke: 91
195.178.55.*



Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 13:45
hvala brate
mozes li molim te da napises sta znace ove funkcije (nije toliko vazno, ali jos uvek proucavam delphi i pascal pa me zanima):
self.ComponentCount
self.Components
Inc()
Open Source. Millions of open minds can't be wrong.
Otvoreni kod. Milioni slobodnih misli ne mogu da pogrese.
03.02.2005. u 13:45 

broker

Član broj: 2415
Poruke: 8521
212.62.59.*



Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 13:58
Univerzalno uputstvo:

- otvoris Delphi
- otvoris novi dokument ili ako vec radis na nekom udjes u njega
- u editoru napises ime funkcije, objekta, metoda ili sta god zelis
- kliknes misem na to tako da ostane kursor na otkucanom pojmu
- pritisnes F1

... i sve ti bude kazato.
03.02.2005. u 13:58 

sasas
Saša Slavnić
looking for...
Na lepom plavom Dunavu

Član broj: 35478
Poruke: 611
*.zaslon-telecom.si.



Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 14:08
Citat:

self.ComponentCount


ovo je iz helpa na tu temu:

Citat:
Within the implementation of a method, the identifier Self references the object in which the method is called.


U ovom konkretnom slucaju, self predstavlja formu na kojoj si. Recimo kad napises negde u formi Form1:

label1.caption := 'sasa';

mozes isto tako napisati

form1.label1.caption := 'sasa';

sto je isto kao

self.label1.caption := 'sasa';

Citat:

self.ComponentCount
self.Components


Dakle, dve osobine forme: prva govori koliko se na formi nalazi komponenti, a druga je lista komponenti. Tako sa self.components[0] dobijas prvu komponentu na formi.
Mogao sam napisati i

Form1.ComponentCount
Form1.Components

ali self je tako fensi ;) (a i korisna je stvar).

Citat:
Inc()


Inc(cnt); ti je isto sto i cnt := cnt + 1;

Inc je inace skracenica od 'Increment'.

ss.
When something is hard to do, then it's not worth doing.
03.02.2005. u 14:08 

bancika
Branislav Stojkovic
Nis, New York

Član broj: 24844
Poruke: 620
213.244.208.*

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 14:18
mozda nisi znao i za TLabel(self.Components).Caption:
TLabel nije funkcija nego typecast, on govori da se prromenljiva (pokazivac) posmatra kao objekat tipa TLabel.
Ride the rainbow, crack the sky
03.02.2005. u 14:18 

sasas
Saša Slavnić
looking for...
Na lepom plavom Dunavu

Član broj: 35478
Poruke: 611
*.zaslon-telecom.si.



Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 14:28
Citat:
mozda nisi znao i za TLabel(self.Components).Caption:


Do vraga, sta sam ja napisao drugacije? :)

Ako si mislio da se izbaci provera (is TLabel), to je dovelo do meni cudnog rezultata:

Code:

  for i := 0 to self.ComponentCount - 1 do
  begin
    TLabel(self.Components[i]).Caption := inttostr(cnt);
    Inc(cnt);
  end;


Kod je radio i kad su na formi bile i TEdit kontrole, iako one nemaju caption?! Lepo im se podesila Text osobina? Naravno, stvar se raspala (ocekivano) kad sam u igru ubacio i ListBox, ComboBox, menu i jos ponesto...


ss.


When something is hard to do, then it's not worth doing.
03.02.2005. u 14:28 

bancika
Branislav Stojkovic
Nis, New York

Član broj: 24844
Poruke: 620
213.244.208.*

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 15:31
ne, reko sam njemu, jer nisam video da je objasnjen kast
Ride the rainbow, crack the sky
03.02.2005. u 15:31 

[es] :: Pascal / Delphi / Kylix :: Koriscenje vise komponenti odjednom

[ Pregleda: 834 | Odgovora: 7 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.