AGB  ·  Datenschutz  ·  Impressum  







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

Fragen zum Timer!

Ein Thema von Eiskalt2 · begonnen am 30. Jul 2008 · letzter Beitrag vom 31. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
Eiskalt2

Registriert seit: 30. Jul 2008
5 Beiträge
 
#1

Fragen zum Timer!

  Alt 30. Jul 2008, 14:55
is delphi win32 = normales delphi 2005 ô0

Erst ma Hi und Entschuldigung falls ich des falsch gepostet hab^^

also ich programmiere noch nicht lange also bitte EINFACH erklären xD

k das Programm is eigentlich ganz einfach ( mit Delphi^^ )

geht darum n timer mit ner gewissen zeit runterlaufen zu lassen. diese gewisse zeit soll aus nem edit rausgelesen werden.

wir mach ich mir das jetzt am einfachsten?
hab schon n paar sachen ausprobiert bekomms aber nicht hin =P

schon ma danke im vorraus

lg eiskalt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 14:56
Wie hast du es probiert?
Schau dir mal die Eigenschaft Intervall an
Markus Kinzler
  Mit Zitat antworten Zitat
helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#3

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 14:58
Timingsachen machst du am besten mit GetTickCount(), weil Timer über Messages laufen und nicht genau sind. Du hast einen Startwert in einem Editfeld?

Delphi-Quellcode:
uses
  math;

var
  limit: longint;


TForm1.StartButtonClick(Sender: TObject);
begin
  limit := gettickcount + StrToIntDef(Edit1.Text, 1000); // in ms
  Timer1.Interval := 100;
  Timer1.Enabled := true;
end;

TForm1.Timer1Timer(Sender :TObject);
var delta : longint;
begin
  delta:= limit - gettickcount;
  if delta < 500 then timer1.Interval := 20;
  if delta >0 then
    label1.caption := inttostr(floor(delta))+'sec verbleiben'
  else
  begin
    Timer1.Enabled := false;
    // dann hier gewünschten Code einfüllen
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#4

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 14:58
Im auf den Wert im Editfeld kannst du mit Editfeldname.Text zugreifen.
Das Timerintervall setzt man mit Timername.Interval.

Also Timername.Interval := strtoint(Editfeldname.Text) Timername.Enabled := true startet den Timer.

Dann musst du noch den Timerevent implementieren.
Wenn der Event aufgerufen wird, solltest du den Timer am Anfang stoppen und am Ende wieder starten.
"Hey Süße,
hol mir mal was zu trinken! Du wirst schon wieder hässlich!"

Zitat eines Betrunkenen
  Mit Zitat antworten Zitat
Eiskalt2

Registriert seit: 30. Jul 2008
5 Beiträge
 
#5

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 15:08
spaxxn antwort sagt mir mehr

sry gelgew^^

ich probs ma
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#6

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 15:13
... und bitte sicherstellen, dass im Editfeld auch ein Integer eingegeben wurde! Alternativ z.B. mit TryStrToInt() arbeiten und den Intervall nur setzen, wenn erfolgreich Konvertiert werden konnte
Ralph
  Mit Zitat antworten Zitat
helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#7

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 15:13
Hi,

du wolltest doch einen timer herunterzählen lassen. Nun starte ein Programm mit höherer Priorität, welches viele Ressourcen zieht und du wirst sehen, dass der Timer langsamer wird. Abhängig davon, was du brauchst, kann das vollkommen inakzeptabel sein. Mein Codebeispiel, was ich mir gerade für dich aus den Fingern gesaugt hab, koppelt das Zählen vom eigentlichen timer ab und vergleicht mit der Systemuhr. Wenn dein Problem schon darin besteht, den timer zu initialisieren, schaust du dir am besten an, was timer1.enabled macht und wie sich das intvervall auf den timer auswirkt.

greeds

ps. TryStrToInt wird wohl gleichwertig sein mit StrToIntDef(edit1.text, -1 ) und der anschließenden Prüfung auf einen semipositiven Wert.
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#8

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 15:16
@helgew: Ich glaube, dass es im erstmal nur um das Verständnis geht. Du schiesst ja gleich mit Artillerie auf Spatzen.
"Hey Süße,
hol mir mal was zu trinken! Du wirst schon wieder hässlich!"

Zitat eines Betrunkenen
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#9

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 15:19
@helgew: Mein Hinweis bezog sich auf Post#4. Dort wird nur StrToInt() verwendet. Das in deinem Code enthaltene StrToIntDef() habe ich erst durch deinen Hinweis "kennen gelernt" - vielen Dank! Man lernt nie aus!
Ralph
  Mit Zitat antworten Zitat
Eiskalt2

Registriert seit: 30. Jul 2008
5 Beiträge
 
#10

Re: Fragen zum Timer!

  Alt 30. Jul 2008, 15:45
soll ich das intervall im timer an sich erst ma auf " 1 " stellen oder ist das erst ma egal, da er sobald der timer aktiviert wird (per button), n neues intervall bekommt.


edit: fehler meldung kommt nach 0,5 sec oder so nachem ich das programm laufen lass

Im Projekt Project1.exe ist eine Exception der Klasse EConvertError mit der Meldung "ist kein guültiger Integerwert" aufgetreten.
  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 11:26 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