Autor |
Beitrag |
sebastiansorglos
Hält's aus hier
Beiträge: 12
|
Verfasst: Mi 30.03.05 10:48
bin delphi-neuling mein quellcode:
Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TFahrstuhl.Timer1Timer(Sender: TObject); begin with Station1.canvas do begin pen.Width := 150; ... |
da ich die procedur mehrmals durchführen muss, wollte ich ganz gerne statt Station1.canvas igendwie Station[X].canvas sagen und X dann halt hochzählen.
geht das und wenn ja wie???
es soll etwas in das vorhandene TImage gezeichnet werden!
mfg sebastian
Zuletzt bearbeitet von sebastiansorglos am Mi 30.03.05 11:19, insgesamt 1-mal bearbeitet
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Mi 30.03.05 10:52
Also erstmal  im DF!!!
Dann: Mach mal deinen Code in Delphi-Tags rein. Einfach rechts oben bei deinem Beitrag auf das "Scheren-Ding" klicken und dann reineditieren. Danke.
Und jetzt zum Prob: Das was du willst heißt Array. Dazu musst du aber erstmal wissen, was dein "Station" ist. Also z.B. ein Button (was ich hier mal nicht vermute). Eher ein TImage, oder??
|
|
sebastiansorglos 
Hält's aus hier
Beiträge: 12
|
Verfasst: Mi 30.03.05 11:00
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Mi 30.03.05 11:22
Also du könntest entweder ein array of TImage benutzen, dazu müsstest du die Images "DYNAMISCH ERZEUGEN", oder du nimmst die "FINDCOMPONENT"-Methode, mit der kannst du den Namen zur Laufzeit zusammenbasteln und dann die entsprechende Komponente finden.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
sebastiansorglos 
Hält's aus hier
Beiträge: 12
|
Verfasst: Mi 30.03.05 11:53
danke für die tipps!
hab aber trotzdem noch probleme bei der realisierung mit der FindComponent methode die andere hab ich noch nicht probiert!
bringt mir die fehlermeldung "undefinierter bezeichner" aus bei moveto-zeile!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TForm1.Button1Click(Sender: TObject); var i: Integer; const Station = 'Station'; canvas = '.canvas';
begin for i := 1 to 3 do begin with FindComponent(Station + IntToStr(i) + canvas ) do begin label1.Caption := (Station + IntToStr(i) + canvas ); moveto (1,1); lineto (10,10); Left := 10; Top := i * 20; Parent := self; end; end; |
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 31.03.05 09:07
So sollte es klappen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TForm1.Button1Click(Sender: TObject); var i: Integer; const Station = 'Station'; canvas = '.canvas';
begin for i := 1 to 3 do begin with TImage(FindComponent(Station + IntToStr(i) + canvas )) do begin label1.Caption := (Station + IntToStr(i) + canvas ); moveto (1,1); lineto (10,10); Left := 10; Top := i * 20; Parent := self; end; end; |
Woher soll denn auch Findcomponent wissen, dass es da ein Bild gefunden hat? 
_________________ We are, we were and will not be.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Do 31.03.05 09:11
Und die ' sollte man auch nicht vergessen:
Delphi-Quelltext 1:
| with TImage(FindComponent('Station' + IntToStr(i) + canvas )) do |
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 31.03.05 09:14
@GTA-Place: Hab ich zuerst auch gedacht, aber dafür hat er ja Variablen eingeführt. Über den Sinn dieser kann man sicherlich streiten, aber es geht. 
_________________ We are, we were and will not be.
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 31.03.05 10:10
Aufgrund einer PN, die besagt, dass das immer noch nicht klappt, probier das mal: Delphi-Quelltext 1: 2:
| with TImage(FindComponent(Station + IntToStr(i))).canvas do begin |
Also: Erst das TImage finden, und mit dessen Canvas arbeiten.
_________________ We are, we were and will not be.
|
|
sebastiansorglos 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 31.03.05 12:25
ja so geht es, danke Gausi!!!
|
|