Ich hab da mal ne frage bezueglich der Timer. Ich hab innerhalb eines Timers einen zweiten Timer. Der allerdings nur jedes zweitemal mitlaeft. D.H. wenn der erste timer z.b. auf 10 sec laeuft dann laueft er ersmal 10 sec. und dann im zweiten durchlauf laeft der 2. Timer mit. Is ein bischen komplieziert aber wenn mir einer irgendwie helfen kann geb ich gerne noch weiter infos.
Visual Basic Timer
Ist O.K. hatte es gestern abend etwas eilig.
Es geht darum ich habe in einem VB Programm eine Timer routine die variabel ist. Soweit ist alles o.k. Innerhalb dieser Timer routine soll eine berechnete Timer routine laufen deren wert max. so gros ist wie die der ersten routine. z.b. Timer1 laeuft 10 sec. und innerhalb dieser 10. sec. soll timer2 6 sec. laufen. Das tut er auch manchmal. aber nur bei jedem zweiten durchlauf von timer1. Weis jemand da weiter?
Wie kann ich in der routine von timer1 feststellen ob timer2 fertig ist, mit flag oder wie ?
Was heißt hier eigentlich Timer läuft 10 Sekunden. Wenn du die Intervall-Eigenschaft setzt, fängt der Timer doch nach 10 Sekunden an und läuft nicht 10 Sekunden.
Oder wie meinst du das überhaupt??
Tut mir echt leid, ich versteh immer noch nicht ganz, was Du meinst.
Wenn Du bei einem Timer die Interval-Eigenschaft auch 10000 setzt, dann wird das Timer-Event alle 10 Sekunden aufgerufen. Das hat nix damit zu tun, wie lange diese Timer-Routine laeuft: die wird einfach einmal durchlaufen, alle 10 Sekunden.
Wenn Du willst, dass diese Timer-Routine alle 20 Sekunden eine Routine aufruft, dann brauchst Du eine Variable, die Du im (Deklerationen)-Teil der Form vereinbarst:
private TimeCounter as Integer
Diese musst Du irgendwo auf 0 setzen (vor der Timer gestartet wird) und dann im Timer machst Du folgendest:
if TimeCount >= 1 then
'Aktion, die alle 20 sek. ausgefuehrt werden soll
TimeCount = 0
else
TimeCount = TimeCount + 1
endif
Wenn Du sowas machen willst, dann kannst Du jedenfalls immer nur ein (ganzzahliges) Vielfaches der Intervall-Eigenschaft als Zeit verwenden (jedenfalls nicht innerhalb eines 10-Sekunden-Timers einen 6-Sekunden-Timer oder so).
Ausserdem musst Du wissen, dass Du mit diesen Timern keine Zeit messen kannst, dazu sind sie viel zu ungenau. Probleme gibt es auch, wenn die Abarbeitung Deiner Timer-Routine laenger als das Intervall dauert. Die Timer-Routine wird nicht aufgerufen, solange sie noch abgearbeitet wird.
Ich dachte wenn ich den Timer aufrufe laeuft er fuer die gegebene Zeit und nicht nach dieser Zeit.
Nochmal zum Problem. Ich habe eine Zyklus der 10 sec. lang sein soll (ungefaehr) inerhalb dieses zyklusses soll etwas gemessen werden und die einschalt zeit eines geraetes berechnet werden welches innerhalb dieser zyklus zeit gestartet werden soll und nach beendigung gestopt wird und im naechsten zyklus wieder das selbe. Wenn ihr es nicht richtig versteht garkein problem ich habe auch etwas gebraucht und es zu schreiben ist noch schwieriger.
Visual Basic Timer
Danke Leute fuer eure Hilfe dadurch das ihr mir mal erklaert habt das der timer nach dem vorgegebenem interval start hab ich das problem geloest. Also noch mal vielen Dank an alle die mir geholfen haben.