![]() |
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 |
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 |
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:
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.
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; Gruß Der Unwissende |
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 13:34 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