Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
spawn
Anmeldungsdatum: 09.08.2005 Beiträge: 45
|
Verfasst am: 20.08.2005, 23:43 Titel: ungenaue Zeitberechnung |
|
|
Hi,
z.B.:
LET time1 = TIMER
Do
Loop bla bla bla
LET time2 = TIMER
LET time = Time2 - Time1
PRINT time;"sek"
Dürfte doch so richtig sein - oder???? Bei mir ist das SEHR ungenau!
BZW wenn ich aus time1 ne Uhrzeit mache also /3600 dann den rest durch 60 usw geht die Uhr um ca. 10 Uhr 20min nach und um 12 Uhr 20min vor.
Woran liegt das?
geht das noch einfacher oder kann ich das irgendwie genauer machen ich hab keine lust das alles umzustricken - ist sehr viel!!
Vielen Dank
Gudio
P.S. Sorry für den doppelThread |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 21.08.2005, 01:19 Titel: |
|
|
Windows XP, oder?
TIMER funktioniert da nicht mehr richtig.. zumindest nich soo richtig.. TIMER ist sowieso unter QB so ne Sache da der nur bis zu einer achzehntel sekunde, also ~55,5ms auflöst. genauere Zeiten bekommt man unter QB leider nicht hin..
Des weiteren hast du um 0:00 immer den Umbruch von 86339 auf 0..
=> Der Timer ist eine relativ leider das genaueste "Hausmittel" von QB aber sehr unpraktisch...
PS: Unter FreeBASIC sind die probleme alle behoben Der Timer löst wesentlich genauer auf und zeigt die UpTime des PCs an, bricht also nicht mehr um sondern steht nach einem Neustart wieder auf null. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Unreal

Anmeldungsdatum: 21.08.2005 Beiträge: 3
|
Verfasst am: 21.08.2005, 01:58 Titel: |
|
|
Der TIMER funktioniert bei XP nicht richtig?
Davon habe ich bisher nix gemerkt, bei meinem XP-Rechner läuft alles wie gehabt...
Code: | CLS
DO
LOCATE 1
PRINT TIME$
PRINT TIMER \ 3600; (TIMER MOD 3600) \ 60; CINT(TIMER) MOD 60
LOOP UNTIL LEN(INKEY$) |
Die errechnete Zeit ist bei mir mit der TIME$-Zeit identisch
Taktungen im ms-Bereich lassen sich aber damit, wie schon gesagt, nicht realisieren |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 21.08.2005, 05:00 Titel: |
|
|
Hallo
Wenn du die Laufzeit einer Schleife mit TIMER messen möchtest, verbessert es die Genauigkeit schon etwas, wenn du zu Beginn wartest, bis sich der Wert von TIMER gerade geändert hat. So hast du zumindest einen definierten Startpunkt.
also so etwa:
Code: | time1 = TIMER
DO
LOOP WHILE TIMER = time1
time1 = TIMER
... |
Ansonsten sind Zeitmessungen in QB bis in den µs-Bereich möglich - siehe hier
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
spawn
Anmeldungsdatum: 09.08.2005 Beiträge: 45
|
Verfasst am: 21.08.2005, 22:50 Titel: |
|
|
Hi,
Ich schreibe und benutze das Prog. nur auf einem 486er Laptop, da ich damit eine relativ umfangreiche anlage steuern möchte und der Laptop dann ausschließlich dafür benutzt wird.
Also mit XP hat das garnichts zu tun. da is noch nicht mal win3.11 drau - nur dos
Danke für eure Mails
Guido |
|
Nach oben |
|
 |
|