Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Bilder in unterschiedlichen Zeitabständen anzeigen wie gehts (https://www.delphipraxis.net/58577-bilder-unterschiedlichen-zeitabstaenden-anzeigen-wie-gehts.html)

Bebbo86 9. Dez 2005 08:25


Bilder in unterschiedlichen Zeitabständen anzeigen wie gehts
 
Hallo Leutz,

ich bin immer noch am Programmieren des Morseprogramms, und will jetzt im Hintergrund des Delphiprogramms ein Bild haben. Und es werden zwei verschiedene Bilder sein, die ich in Unterschiedlichen Zeitabständen anzeigen möchte. Ein Leuchtturm der blinkt oder nicht blinkt, die Bilder hab ich schon. Wie kann ich die Bilder in unterschiedlichen Zeitabständen anzeigen lassen?

Schon mal danke.

Gruß Bebbo86

freak4fun 9. Dez 2005 08:32

Re: Bilder in unterschiedlichen Zeitabständen anzeigen wie g
 
Hallo :hi:,
wovon hängt das ab, ob der Leuchtturm blinkt? Wenn er blinken soll, wenn gemorst wird kann man das über die Morsefunktion steuern. Wenn der Leuchtturm nur eine normale Funktion hat sollte er gleichmäßig blinken, wie sein Vorbild im Original. :mrgreen:
Ansonsten würde mir nur noch Random einfallen. :)


MfG
freak

Der_Unwissende 9. Dez 2005 10:09

Re: Bilder in unterschiedlichen Zeitabständen anzeigen wie g
 
Hi,
wenn ich Bebbo richtig verstanden habe, möchte er nur die Bilder Leuchturm leuchtet und Leuchturm leuchtet nicht anzeigen. Für kurz wird dann wahrscheinlich Leuchtturm leuchtet nur 1 Zeiteinheit (mal o.B.d.A) angezeigt werden und für lang dann halt 2 (oder was auch immer). Leuchtturm aus sollte immer gleich lang bleiben.

Also als Erstes rate ich dir dazu, dass du bei deinem Form/Panel auf dem das Bild ist, das du anzeigen möchtest, die Eigenschaft DoubleBuffered auf True setzt (sonst flimmerts).
Da ich nicht weiß wie deine Bilder heißen und wie sie vorliegen, geh ich einfach mal davon aus, dass du zwei Bitmaps hast, An und Aus (muss ich sicherlich nicht weiter erklären), zudem dass du den Leuchturm im TImage Leuchtturm anzeigst.
Eine einfache Möglichkeit wäre jetzt folgendes :

Delphi-Quellcode:
function TDeineKlasse.blinke(const Dauer : Cardinal);
var time : Int64;
begin
  // Leuchtenden Turm anzeigen
  Leuchtturm.Picture.Bitmap := An;

  // Dauer ms warten
  time := GetTickCount;
  while (GetTickCount - time) < Dauer do
    begin
      Application.ProcessMessages;
    end;
 
  // Leuchtturm ausschalten
  Leuchtturm.Picture.Bitmap := Aus;
end;
Gut, du müsstest es natürlich für's morsen etwas anpassen (damit du auch eine feste Zeit den abgeschalteten Turm siehst), aber das schaffst du schon.

Gruß Der Unwissende

Cicaro 15. Dez 2005 13:18

Re: Bilder in unterschiedlichen Zeitabständen anzeigen wie g
 
Der Timer bietet sich hier besonders gut an, da man, während der Timer läuft, noch andere Prozesse steuern kann. Schreibst in die Timer-Procedure den Code rein der das Bild wechselt und der Rest sollte unverändert bleiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz