Hallo!!!
Kann man unter Qbasic einen „Zeitwert“ kleiner als 1. Sek, (über Systemzeit) auslesen?
Danke, LEther
Hallo!!!
Kann man unter Qbasic einen „Zeitwert“ kleiner als 1. Sek, (über Systemzeit) auslesen?
Danke, LEther
Hi LEther,
es gibt im Rechner einen Timer-Chip, welcher einen internen Zähler 18,2 mal pro Sekunde erhöht, was einer Auflösung von ca. 50 Millisekunden entspricht und damit Deinen Anforderungen in der Kopfzeile nicht unbedingt genügt. Etwas besseres fällt mir aber leider auch nicht ein, denn ein PC ist schließlich keine Atomuhr.
Die Abfrage dieses Zählers geschieht über den BIOS-Interrupt 1Ah, Funktion 00h. Als Rückgabe erhälst Du in CX das Hi-Wort dieses Zählers, in DX das Lo-Wort. Für eine Zeitspanne ermittelst Du den Zählerstand am Ende und Anfang nach einem Aufruf des Interrupts durch 256* Hi-Wort+ Lo-Wort und ziehst diese Werte voneinander ab.
QB muß für den Aufruf von Interupst mit /L gestartet werden, damit die Library QB.QLB eingebunden wird. Der Aufruf geschieht dann mit dem Befehl
CALL INTERRUPT(Nint,Regin,Regout)
Eine Beschreibung des Datentyps RegType solltest Du im Manual finden.
Gruß
Ted
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Danke
Ja,Ja; In der Kopfzeile habe ich etwas übertrieben (Schuld ist der Frust, an einem solchen [kleinen] Problem event. zu scheitern)
Nun, ich bin auch schon mit mehr als 50 ms zufrieden, hauptsache unter 500…;
Danke, LEther
P.S. Ne Atomuhr wäre trotzdem nicht schlecht (!= Dimension)!!!