.[ ČeskéHry.cz ].
Může být proměná názvem komponenty?

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Delphi / Pascal
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Vorisaj



Založen: 08. 02. 2008
Příspěvky: 29
Bydliště: Chomutov

PříspěvekZaslal: 6. březen 2008, 18:29:12    Předmět: Může být proměná názvem komponenty? Odpovědět s citátem

Ahoj, předem se omlouvám že neumím vysvětlovat, takže rovnu přejdu k příkladu... např. budu chtít posunout 100 obrázků najednou ve smětu osy Y o 5 bodů, příklad...

obrázek1.top:=obrázek1.top+5;
obrázek2.top:=obrázek2.top+5;
obrázek3.top:=obrázek3.top+5;
...
obrázek100.top:=obrázek100.top+5;

Takže bych musel všech sto obrázků postupně vypsat, nešlo by to nějak zjednodušit? například...

for i:=1 to 100 do (obrázek+i).top:=(obrázek+i).top+5;

Snad chápete jak to myslím, zkoušel jsem použít strýčka googla, ale nic jsem nenašel. Děkuju za případné odpovědi.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
OndraSej



Založen: 28. 07. 2007
Příspěvky: 765
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 6. březen 2008, 18:43:31    Předmět: Odpovědět s citátem

Ne, to opravdu nejde. Teda aspon ne v pascalu.

Na takovehle veci jsou pole, ze bys psal
kód:
for i := 1 to 100 do obrazek[i].top := obrazek[i].top + 5;

_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marty



Založen: 28. 07. 2007
Příspěvky: 20

PříspěvekZaslal: 6. březen 2008, 19:01:44    Předmět: Odpovědět s citátem

No figl je v tom, ze ty komponenty vytvoris dynamicky az za behu, pak si je muzes nastrkat do pole jak pise OndraSej. Vice napriklad zde http://programujte.com/index.php?akce=clanek&cl=2006040301-vytvareni-komponent-za-behu-programu
Sice to ma par much jak se muzes v komentarich docist ale ten princip tam je Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vorisaj



Založen: 08. 02. 2008
Příspěvky: 29
Bydliště: Chomutov

PříspěvekZaslal: 6. březen 2008, 19:35:58    Předmět: Odpovědět s citátem

Díky, moc mi to pomohlo Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 6. březen 2008, 20:47:30    Předmět: Odpovědět s citátem

OndraSej napsal:
Ne, to opravdu nejde. Teda aspon ne v pascalu.

No v object pascalu to praveze samozrejme jde, protoze controly a componenty jsou soucasti kolekci formularu a jde v nich vyhledavat podle nazvu Wink

Nazorny priklad z praxe, na formulari mam treba 40 TEditu, a u kazdeho z nich TCheckBox, a chci, aby se ten checkbox automaticky zaskrtl, kdyz uzivatel neco napise do toho editu. A staci mi mit ty checkboxy vhodne nazvane a napsat jediny event, ktery zajisti, ze kdyz do toho editu uzivatel neco napise, tak se prislusny checkbox sam zaskrtne:
kód:
procedure EditChanged(Sender: TObject);
var c: TControl;
begin
  c := TWinControl(FindComponent('c' + TControl(Sender).Name));
  if (c <> nil) then TCheckBox(c).Checked := true;
end;

_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 6. březen 2008, 21:50:13    Předmět: Odpovědět s citátem

ja bych rekl ze Mem i OndraSej maji pravdu Smile

Mem ma pravdu - "problem lze resit, ale trochu jinak"
OndraSej ma pravdu - "to co jsi napsal v Object Pascalu fakt nejde"
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vorisaj



Založen: 08. 02. 2008
Příspěvky: 29
Bydliště: Chomutov

PříspěvekZaslal: 6. březen 2008, 22:00:04    Předmět: Odpovědět s citátem

Já to udělal podle článku, který mi poslal Marty, šlape to v poho a není to nějak těžké, přesně to co jsem potřeboval Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
devillante



Založen: 14. 08. 2007
Příspěvky: 164

PříspěvekZaslal: 7. březen 2008, 12:23:41    Předmět: Odpovědět s citátem

Ve Flashi to jde úplně přesně tak, jak by kolega chtěl.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Delphi / Pascal Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna