![]() |
effizienter?
Hallo!
ich hab nur eine ganz kurze frage, und zwar haben wir in der schule kurz angeschnitten, dass man mit Variablendeklaration: var Bezeichner: array[indexbereich] of datentyp Typdeklarartion: type TBezeichner=array[indexbereich] of datentyp var Bezeichner: TBezeichner viel effizienter z.b. 100 zufallszahlen ziehen kann, nämlich durch for i:=1 to 100 do z[i]:=random(6)+1; meine frage: lässt sich dies auch auf image-felder anwenden? also wenn ich für 100 images dasselbe tun will (beispielsweise ein rechteck zeichnen) müsste ich doch 100 mal folgende zeile schreiben: image1.canvas.rectangle(0,0,width,height); image2.canvas.rectangle(0,0,width,height); . . . image100.canvas.rectangle(0,0,width,height); kann man das nicht effizienter machen, also auch irgendwie in dieser form: for i:=1 to 100 do image[i].canvas.rectangle(0,0,width,height); ??? es sollte aber nicht allzu kompliziert sein, da ich erst seit 1,5 jahren mit delphi arbeite und nur grundkenntnisse habe! schon mal vielen dank für eure hilfe im voraus! |
Re: effizienter?
1,5 Jahre? Das ist doch eh schon etwas länger. Mit FindComponent geht das, allerdings ist das sehr schlechter Stil. Du könntest einfach alle Images in ein Array packen.
Dazu sei gesagt, dass das Zeichnen von 100 Rechtecken ziemlich unperformant ist. |
Re: effizienter?
entweder du legst alle Images in einem Array ab und gleifst dann so zu,
oder du suchst diese Komponenten:
Delphi-Quellcode:
TImage(FindComponent('image' + IntToStr(i))).canvas.rectangle(0,0,width,height);
|
Re: effizienter?
Zitat:
2. was heißt unperformant??? |
Re: effizienter?
Zitat:
Zitat:
Delphi-Quellcode:
bzw.
Bilder[i] := Timage.create( self);
Delphi-Quellcode:
Bilder[i] := (Form.FindComponent('Bild'+IntToStr(i)) as TImage);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz