| Autor |
Beitrag |
onlinekay
Hält's aus hier
Beiträge: 10
|
Verfasst: So 22.02.09 20:35
hallo, hab so ein thema in den foren noch nicht entdeckt deswegen kurz ne frage. wie kann ich bilder mittels timer kontrolliert anzeigen lassen? benutze derzeit den befehl random für zufällige wiedergabe. es muss doch auch ein pondon dazu geben. für random quasi ein anderes befehlwort.
hier der code zum besseren verständnis.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Timer4Timer(Sender: TObject); var b:integer; begin randomize; b:=random(9) case b of 0: image1.Picture.LoadFromFile('.\Bilder\me1.jpg'); 1: image1.Picture.LoadFromFile('.\Bilder\me2.jpg'); 2: image1.Picture.LoadFromFile('.\Bilder\me3.jpg'); 3: image1.Picture.LoadFromFile('.\Bilder\me4.jpg'); 4: image1.Picture.LoadFromFile('.\Bilder\me5.jpg'); 5: image1.Picture.LoadFromFile('.\Bilder\me6.jpg'); 6: image1.Picture.LoadFromFile('.\Bilder\me7.jpg'); 7: image1.Picture.LoadFromFile('.\Bilder\me8.jpg'); 8: image1.Picture.LoadFromFile('.\Bilder\me9.jpg'); end; end; |
|
|
Dunkel
      
Beiträge: 682
Mac OS X Snow Leopard
Xcode 3.1
|
Verfasst: So 22.02.09 20:52
Leg Dir eine Integer-Variable im Private-Abschnitt Deiner (Fenster-)Klasse an, initialisiere sie am Anfang mit dem Wert 0 und inkrementiere sie nach jedem Durchlauf der TTimer-Eventbehandlung (ggf. eine Überprüfung zwecks Überlauf der Variable, damit der Spaß wieder von vorne beginnen kann). That's it. 
_________________ Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]
|
|
onlinekay 
Hält's aus hier
Beiträge: 10
|
Verfasst: So 22.02.09 21:07
okay danke erstmal. was bedeutet inkrementieren?
|
|
Dunkel
      
Beiträge: 682
Mac OS X Snow Leopard
Xcode 3.1
|
Verfasst: So 22.02.09 21:13
onlinekay hat folgendes geschrieben : | | okay danke erstmal. was bedeutet inkrementieren? |
Inc(myIntVar); macht das selbe wie myIntVar := myIntVar + 1;, die Variable um einen bestimmten Wert erhöhen.
Das Pendent wäre dekrementieren, Dec(myIntVar); respektive myIntVar := myIntVar - 1;
_________________ Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]
|
|
onlinekay 
Hält's aus hier
Beiträge: 10
|
Verfasst: So 22.02.09 21:24
okay das mit dem inkrementieren hab ich herausgefunden. sorry für die doofe frage.
ich hab eine varible a im privat festgelegt und sie bei programmstart "Form.Activate" mit a:=0 initialisiert.
wie kann ich die variable nun in meinem timer einbauen. einfach nur a:=a+1 zu schreiben wäre doch zu einfach 
|
|
onlinekay 
Hält's aus hier
Beiträge: 10
|
Verfasst: So 22.02.09 21:29
danke hat sich erledigt. ich hab herausgefunden wie es klappt. einfach für das random(9) schreiben random(a) und dann nur noch if a=0 then , if a=1 then etc..
danke.
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: So 22.02.09 21:29
ungefähr so
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.Timer4Timer(Sender: TObject); begin inc(a); if a = 10 then a:=1; image1.Picture.LoadFromFile('.\Bilder\me' +IntToStr(a)+ '.jpg'); end; |
Zuletzt bearbeitet von Blackheart666 am So 22.02.09 22:05, insgesamt 1-mal bearbeitet
|
|
onlinekay 
Hält's aus hier
Beiträge: 10
|
Verfasst: So 22.02.09 21:56
|
|
jaenicke
      
Beiträge: 19336
Erhaltene Danke: 1751
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 22.02.09 22:29
Wobei du noch das Problem mit den Pfaden hast, so ist das falsch, weil du davon ausgehst, dass der aktuelle Pfad nie geändert wird. Das heißt aber, dass du zum Beispiel nie z.B. einen Öffnen-Dialog dem Benutzer anzeigen darfst...
www.delphi-library.d...ewtopic.php?p=499701
|
|