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

Koriscenje vise komponenti odjednom

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

[ Pregleda: 3040 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SFilip

Član broj: 42290
Poruke: 102
195.178.55.*



+3 Profil

icon Koriscenje vise komponenti odjednom03.02.2005. u 12:38 - pre 233 meseci
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.
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

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



Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 13:28 - pre 233 meseci
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.
 
Odgovor na temu

SFilip

Član broj: 42290
Poruke: 102
195.178.55.*



+3 Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 13:45 - pre 233 meseci
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.
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 13:58 - pre 233 meseci
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.
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

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



Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 14:08 - pre 233 meseci
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.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
213.244.208.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 14:18 - pre 233 meseci
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

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

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



Profil

icon Re: Koriscenje vise komponenti odjednom03.02.2005. u 14:28 - pre 233 meseci
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.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
213.244.208.*

Sajt: www.diy-fever.com


+1 Profil

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

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

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

[ Pregleda: 3040 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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