09. september 2003 - 14:20
Der er
8 kommentarer og 1 løsning
Regne problem
Jeg har lavet et lille program som fortæller hvor lang tid der er til jeg skal rejse. Det virker, men jeg synes det er lidt synd at min cpu skal køre alle de loop's der, er der ikke en bedere måde man kan regne det ud på? Kode: dim ftimer, fmin, fsek fsek = datediff("s", now, "23-09-2003 19:50") fmin = fsek / 60 ftimer = fmin / 60 do until fmin < 60 fmin = fmin - 60 loop do until fsek < 60 fsek = fsek - 60 loop msgbox clng(ftimer) & ":" & clng(fmin) & ":" & fsek
Annonceindlæg fra Thales
09. september 2003 - 14:27
#1
fmin=fsek\60 fsek=fsek-fmin*60 ftimer=fmin\60 fmin=fmin-ftimer*60
09. september 2003 - 14:42
#2
\ betyder heltalsdivision 17\3 er således 5 (rest 2, som smides bort) eks.:1 time 10 min 10 sek =3600 + 600 +10 =4210 sek fsek=4210 fmin=fsek\60=4210\60=70 fsek=4210-70*60=10 sek ftimer=fmin\60=70\60=1 fmin=fmin-ftimer*60=10 altså 1 tim 10 min 10 sek
09. september 2003 - 14:49
#3
Hvor skal du mon hen? (sorry, kunne ikke lade være med at spørge ;o)
09. september 2003 - 15:00
#4
Som du selv siger, kan du udnytte heltalsdivision til at få hele timer og minutter: dim ftimer, fmin, fsek as long fsek = datediff("s", now, "23-09-2003 19:50") ftimer = fsek / 3600 fsek = fsek - ( ftimer * 3600 ) fmin = fsek / 60 fsek = fsek - ( fmin * 60 ) msgbox cstr(ftimer) & ":" & cstr(fmin) & ":" & cstr(fsek)
09. september 2003 - 15:01
#5
... jeg havde ikke set nmh's svar før jeg postede - han bør selvf. have points.
09. september 2003 - 15:35
#6
Hvad gør jeg galt her? dim ftimer, fmin, fsek fsek = datediff("s", now, "23-09-2003 19:50") ftimer = clng(fsek / 3600) fsek = fsek - (ftimer * 3600) fmin = clng(fsek / 60) fsek = fsek - (fmin * 60) msgbox clng(ftimer) & ":" & clng(fmin) & ":" & fsek fsek går i minus efter 0 sek !
09. september 2003 - 16:07
#7
Clng(fsek/3600) der rundes op. Clng(2,5) er 3. Derfor bliver fsek negativ. Du skal bruge heltalsdivision, som jeg skrev, og ikke den sædvanlige /. Altså dette tegn \. ftimer=fsek\3600 fsek=fsek-ftimer*3600 fmin=fsek\60 fsek=fsek-fmin*60 så vil det virke.
10. september 2003 - 10:35
#8
Tusinde tak.
10. september 2003 - 10:37
#9
selv tak, det var så lidt.
Kurser inden for grundlæggende programmering