AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Timer1 restarten

Ein Thema von Ghostleader · begonnen am 25. Aug 2009 · letzter Beitrag vom 26. Aug 2009
Antwort Antwort
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#1

Timer1 restarten

  Alt 25. Aug 2009, 20:17
Hey, ich hätte eine Frage:

Wie starten man den Timer neu. Ich möchte nicht das er den Befehl *****1.Visible:= False; nach 5000 ms anfägt zu bearbeiten, sondern das er es nach 1000 ms macht und danach restarten um *****2.Visible:= False; nach denselben 1000 ms zu bearbeiten. Ansonsten ist es so:

Nach 5000/ bzw die 1000 ms die ich haben will,:

*****1.Visible:= False;
*****2.Visible:= False;

werden zur selben Zeit bearbeitet.

Ich möchte:

*****1.Visible:= False;
nach 1000ms

Restart:Timer1

*****2.Visible:= False;
nach weiteren 1000ms

Mfg Ghost
Michael
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

Re: Timer1 restarten

  Alt 25. Aug 2009, 20:23
Erstell Dir ein Flag, das Du in jedem Timer-Event auswertest und hochsetzt.
Delphi-Quellcode:
type
  TDeinForm = class(TForm)
  ...
  private
    FFlag: Cardinal;
  ...
  end;
...

procedure TDeinForm.DeinTimerTimer(Sender: TObject);
begin
  case FFlag of
    0: XXX1.Visible := false;
    1: XXX2.Visible := false;
    //usw.
  end;
  inc(FFlag);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Timer1 restarten

  Alt 25. Aug 2009, 20:30
So siehts jetzt aus:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormDblClick(Sender: TObject);
private
    FFlag: Cardinal;

end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
    case FFlag of
     0:Image1.Visible:=False;
     1:Image2.Visible:=False;
     2:Image3.Visible:=False;
     3:Image4.Visible:=False;
     4:Image5.Visible:=False;
     5:Image6.Visible:=False;
     6:Image7.Visible:=False;
     7:Image8.Visible:=False;
     8:Image9.Visible:=False;
     9:Image10.Visible:=False;
     10:Image11.Visible:=False;
     14:Image12.Visible:=False;
     15:Image13.Visible:=False;
     16:Image14.Visible:=False;
     17:Image15.Visible:=False;
     18:Image16.Visible:=False;
     19:Image17.Visible:=False;
     20:Image18.Visible:=False;
end;

  end;
  inc(FFlag);
end;
    Image1: TImage;
    Button1: TButton;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    Image7: TImage;
    Image8: TImage;
    Timer1: TTimer;
    Image9: TImage;
    Image10: TImage;
    Image11: TImage;
    Image12: TImage;
    Image13: TImage;
    Image14: TImage;
    Image15: TImage;
    Image16: TImage;
    Image17: TImage;
    Image18: TImage;

    procedure Button1Click(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image5MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image6MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image7MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image8MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Timer1Timer(Sender: TObject);
    procedure Image9MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image10MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image12MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image11MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image13MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image14MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image15MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image16MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image17MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image18MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
Resultat:
Die Methode FormCreate die auf Form1.OnCreate verweist existiert nicht Soll der Verweis entfernt werden?
#
Mfg Ghost
Michael
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

Re: Timer1 restarten

  Alt 25. Aug 2009, 20:51
ähm, wie wärs denn, wenn du den Code mal nach Definition und Aktionen (Prozeduren/Funktionen) sortierst und das, was nach Defiunition aussieht, oberhalb von "implementation" belässt und alles andere darunter? Dann sollte es vllt. gehen.

Bernhard


PS: Heißt im Klartext

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormDblClick(Sender: TObject);
    Image1: TImage;
    Button1: TButton;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    Image7: TImage;
    Image8: TImage;
    Timer1: TTimer;
    Image9: TImage;
    Image10: TImage;
    Image11: TImage;
    Image12: TImage;
    Image13: TImage;
    Image14: TImage;
    Image15: TImage;
    Image16: TImage;
    Image17: TImage;
    Image18: TImage;

    procedure Button1Click(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image5MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image6MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image7MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image8MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Timer1Timer(Sender: TObject);
    procedure Image9MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image10MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image12MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image11MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image13MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image14MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image15MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image16MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image17MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image18MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    FFlag: Cardinal;
  public
    { Public-Deklarationen }
  end;

implementation

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    case FFlag of
     0:Image1.Visible:=False;
     1:Image2.Visible:=False;
     2:Image3.Visible:=False;
     3:Image4.Visible:=False;
     4:Image5.Visible:=False;
     5:Image6.Visible:=False;
     6:Image7.Visible:=False;
     7:Image8.Visible:=False;
     8:Image9.Visible:=False;
     9:Image10.Visible:=False;
     10:Image11.Visible:=False;
     14:Image12.Visible:=False;
     15:Image13.Visible:=False;
     16:Image14.Visible:=False;
     17:Image15.Visible:=False;
     18:Image16.Visible:=False;
     19:Image17.Visible:=False;
     20:Image18.Visible:=False;
  end;
  inc(FFlag);
end;
[edit]Einige Sortierfehler entfernt, nun syntaktisch richtiger[/edit]
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Timer1 restarten

  Alt 25. Aug 2009, 21:15
Gut Danke.
Und wie kann ich die Zeit anzeigen lassen? Also sozusagen einen Countdown für Timer1 in einem Panel.

(Timer1 und Panel2.)

mfg Ghost
Michael
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#6

Re: Timer1 restarten

  Alt 26. Aug 2009, 09:37
Beim Start des Countdowns die Endzeit merken.
Im Timerevent die Differenz zur aktuellen Zeit ermitteln und in eine Zeichenkette umwandeln.
Die Zeichenkette dem Ausgabesteuerelement zuweisen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 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