AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit Timer und sleep

Ein Thema von happyaura · begonnen am 17. Mai 2006 · letzter Beitrag vom 17. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
happyaura

Registriert seit: 12. Jan 2005
Ort: Hamburg
73 Beiträge
 
Delphi 6 Personal
 
#11

Re: Probleme mit Timer und sleep

  Alt 17. Mai 2006, 10:27
besten Dank, hab gerade mal das Delay von negaH eingebaut. läuft alles bestens.
da ich in meiner Prozedur gelegentlich "zu lange" brauch werd ich wohl am anfang den Timer abschalten. kann ich einfluß drauf nehmen, wie weit der Timer fortgeschritten ist, wenn ich ihn anschalte? Sprich bei einem interval von 100ms würd ich ihn beim anschalten gerne dazu bringen, dass er "denkt", er hätte gerade schon bis 99ms hochgezählt.
das läßt sich sonst ja über ändern des Intervals handhaben, aber vielleicht geht es auch direkter. wenn nicht, ist auch nicht so wild, muß mal schauen, ob ich das noch mit einbaue.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Probleme mit Timer und sleep

  Alt 17. Mai 2006, 10:31
wenn Du den Timer enables startet er bei 0
macht auch sonst wenig Sinn, oder?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#13

Re: Probleme mit Timer und sleep

  Alt 17. Mai 2006, 10:40
Beeinflussen kannst du das nicht ... du könntest Höchstens das Intervall ändern, also statt bei 100 schon mit 1 starten

Delphi-Quellcode:
Begin
  Timer.Enabled := False;
  Timer.Intervall := 100;

  ...

  Timer.Intervall := irgendwas;
  Timer.Enabled := True;
End;

kannst ja die Zeit messen, die deine Prozedur gebraucht hat und diese dann abziehen.
(Min(..., 1) ist dafür da, damit mindestens 1ms Dauer rauskommt und vorallem nichts negatieves)
Delphi-Quellcode:
Var Start: Integer;
Begin
  Timer.Enabled := False;
  Timer.Intervall := 100;
  Start := GetTickCount;

  ...

  // Dauer = GetTickCount - Start
  Timer.Intervall := Min(100 - (GetTickCount - Start), 1);
  Timer.Enabled := True;
End;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
happyaura

Registriert seit: 12. Jan 2005
Ort: Hamburg
73 Beiträge
 
Delphi 6 Personal
 
#14

Re: Probleme mit Timer und sleep

  Alt 17. Mai 2006, 11:14
Hallo Klaus,

sinn kann das schon machen:

onTimer braucht nahezu keine zeit, wenn der sensor nicht ausgelesen wird, sonst so ca 300ms.
der timer soll aber mit 100ms laufen. also wär es ja sinnvoll, nach dem auslesen eines sensors die prozedur onTimer wieder aufzurufen. das ist sicherlich möglich über eine an sonsten ungenutzte boolvariable (if sensor_wurde_ausgelesen then onTimer else timer1.enabled=true) oder eben den internen zähler, sofern es sowas gibt, hochzusetzen.

ich hab wohl in letzter Zeit zu viel mit Mikrocontroller Programmierung verbracht, hab mir über das ganze assemblieren die hochsprachen abgewöhnt. wird dringend zeit, was dagegen zu unternehmen...

@himitsu
an den umweg übers interval hab ich auch schon gedacht. mal schauen, ob ich das als hübsch empfinde, sonst sind es ja auch nur 100ms, die man zusätzlich warten muß...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:01 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