AGB  ·  Datenschutz  ·  Impressum  







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

XX min Timer mit nachfolgender Aktion

Ein Thema von nastytrouble · begonnen am 16. Mär 2006 · letzter Beitrag vom 18. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
nastytrouble

Registriert seit: 16. Mär 2006
Ort: 23966 Wismar
42 Beiträge
 
Delphi 2007 Enterprise
 
#1

XX min Timer mit nachfolgender Aktion

  Alt 16. Mär 2006, 16:22
Also ich bin ganz neu im Gebiet von Delphi und würde gerne wissen wie man einen Timer so programmiert, dass er nach XX Minuten eine Meldung ausgibt.

ich hoffe dass ich hilfe kriege und bedanke mich mal im vorraus.

MFG Nasty

edit: geht das sonst auch anders?
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#2

Re: XX min Timer mit nachfolgender Aktion

  Alt 16. Mär 2006, 16:32
Delphi-Quellcode:
var
i:Integer

//...

procedure TForm1.Timer1Timer(Sender: TObject);
begin
i:=i+1;
if i=180 then ShowMessage('3 min vorbei!');
end;

//Intervall von Timer1=1000
[edit]bei if i=... die Minuten*60 reinschreiben [/edit]
  Mit Zitat antworten Zitat
nastytrouble

Registriert seit: 16. Mär 2006
Ort: 23966 Wismar
42 Beiträge
 
Delphi 2007 Enterprise
 
#3
  Alt 16. Mär 2006, 16:38
ahhh danke das hilft mir weiter. aber der ist seeeehr ungenau. ich wollte das dann auchnoch so machen dass der timer losgeht wenn man klickt.
Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
begin
x:=StrToInt(edit1.text)
end;
procedure TForm2.Timer1TimerTimer(Sender: TObject);
begin
i:=i+1;
if i=x then label1.caption:='zeit ist um';
end;
geht das so?
  Mit Zitat antworten Zitat
nastytrouble

Registriert seit: 16. Mär 2006
Ort: 23966 Wismar
42 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: XX min Timer mit nachfolgender Aktion

  Alt 16. Mär 2006, 18:33
ch glaube ich bin zu dumm dafür! Bitte un HILFE!!
  Mit Zitat antworten Zitat
nastytrouble

Registriert seit: 16. Mär 2006
Ort: 23966 Wismar
42 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: XX min Timer mit nachfolgender Aktion

  Alt 16. Mär 2006, 20:39
ok ich habe es mir mit fast 1 h recherchen selbst beantwortet.
Delphi-Quellcode:
var
  Form2: TForm2;
  i:integer;
  x:integer;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Timer1TimerTimer(Sender: TObject);
begin
  Timer1Timer.Enabled := false;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
form1.show;
form2.Hide;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
x:=StrToInt(edit1.text);
timer1timer.enabled:=true;
repeat
        begin
        i:=i+1;
        sleep(1000)
        end
until (i=x);
if (i=x) then ShowMessage(IntToStr(x)+' sec sind vorbei');
end;
naja so lernt man mehr
ahso ich habe den timer timer1timer genannt.
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: XX min Timer mit nachfolgender Aktion

  Alt 16. Mär 2006, 21:19
Hallo nastytrouble,

Herzlich Willkommen in der Delphi-PRAXiS!

Wiso diese zweite Form??
und du machst jetz glaub ich was doppelt!
-- ich beschreib dir aufjedenfall mal ein beispiel!

Also es gibt in Delphi eine Komponente die heist TTimer
diese funktioniert so:
du setzt in der Eigenschaft Interval die zeit in millisecunden für eine secunde also 1000
und dann wenn der timer loslaufen soll stellst du die eigenschaft Enable auf true;
wenn dann die in interval angegebene zeit rum ist dann wird das ereigniss OnTime ausgelösst!
Dort kannst du dann einfach eine Meldung ausgeben!
Hier ein Beispiel:
Delphi-Quellcode:
//Der Button zum Starten des Timers
procedure TForm1.BStartClick(Sender: TObject);
Var
  Zeit : Cardinal;
Begin
  Zeit := StrToInt(ELaenge.text); // Der Text aus dem Edit ELaenge wird in eine Zahl umgewandelt
  Zeit := Zeit * 1000 * 60 // So wird eine Eingabe in Minuten ermöglicht
  TZeit.Interval := Zeit; // Die Zahl wird in den Timer gesetzt
  TZeit.Enable := True; // Der Timer wird gestartet
End;

//Der Timer TZeit bzw. dessen ereigniss OnTime
procedure TForm1.TZeiTimer(Sender: TObject);
Begin
  ShowMessage( #13 + #13 + 'DIE ZEIT IST ABGELAUFEN!' + #13 + #13); // Eine Meldung wird ausgegeben
             // ^-> die #13 sind zeilenumbrüche! dadurch wird das Meldungsfenster größer ;-)
End;

//Button um den Timer zu stoppen!
procedure TForm1.BStopClick(Sender: TObject);
Begin
  TZeit.Enable := False; // Stoppt den Timer
End;
Wenn noch Fragen sind frag ruhig!

Liebe Grüße
Stefan alias Light

PS: In der Delphi Hilfe gibt es auch manchmal ganz praktische Beispiele! (dierekt auf einem Wort im Editor den Cursor setzen und F1 drücken ruft die hilfe für das Objekt oder die eigenschaft auf)
[edit]Hab ich vergessen: im design modus den timer auf false setzen! *G*[/edit]
Stefan
  Mit Zitat antworten Zitat
nastytrouble

Registriert seit: 16. Mär 2006
Ort: 23966 Wismar
42 Beiträge
 
Delphi 2007 Enterprise
 
#7

XX min Timer mit nachfolgender Aktion

  Alt 17. Mär 2006, 14:26
das ist nett. danke aber mit dem sleep geht es in meinem fall auch(es erfüllt immerhin seinen zweck), obwohl es das ganze prog lahm legt.
und ich habe es selbst hingekriegt!
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#8

Re: XX min Timer mit nachfolgender Aktion

  Alt 17. Mär 2006, 15:33
zur Info, falls du mal mehr Variabeln hast funktioniert das auch so:
Delphi-Quellcode:
var
i,x,blub,zeit,min,sec,h,tag:Integer;
namen,wohnort,strasse:String;
klingel,haustuer:boolean;
//...
  Mit Zitat antworten Zitat
nastytrouble

Registriert seit: 16. Mär 2006
Ort: 23966 Wismar
42 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: XX min Timer mit nachfolgender Aktion

  Alt 17. Mär 2006, 17:18
danke. das weiß ich aber schon. hab das jetz nur so gamacht weil ich die 2. variable später zugefügt habe und das da wieder vergessen hatte^^.
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#10

Re: XX min Timer mit nachfolgender Aktion

  Alt 17. Mär 2006, 17:48
Kannst es auch mit gettickcount machen

Delphi-Quellcode:
..
x:=gettickcount;
while gettickcount-180 < x do
  Application.ProcessMessages;
showmessage('3 min sind rum.');
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:58 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