Avatar billede jones_net Nybegynder
27. november 2001 - 11:35 Der er 6 kommentarer og
2 løsninger

udregn tider ud fra variable

Hejsa

Jeg har set mig sur på et prob. så nu må I hjælpe mig:-)

Jeg skal finde ud af hvor lang tid der er gået imellem to tidspunkter. Derefter skal sluttiden sættes til starttiden, og der startes forfra.

Tiderne ligger i variabler som integer, og skal altså trækkes fra hinanden som tal, og ikke som tider!

Mellemtiderne er på max 1 time, og programmet skal også køre om natten, på en maskine der kører 24 timers-ur.

Husk at der skal tages højde for, om der er gået et eller flere sekunder, og hvor mange...

Min kode er:

\'hvor mange millisekunder er der gået?
If millisecond1 - startMilliseconds < 0 Then
    Second1 = Second1 - 1
    deltamilliseconds = Milliseconds1 + 100 - startMilliseconds
Else
    deltamillisecons = millisecond1 - startmillisecons
End If

\'hvor mange sekunder er der gået?
If Second1 - startSecond < 0 Then
    Minute1 = Minute1 - 1
    deltasecond = Second1 + 60 - startSecond
Else
    deltasecond = Second1 - startSecond
End If

\'hvor mange minuter er der gået?
If Minute1 - startMinute < 0 Then
    Hour1 = Hour1 - 1
    deltaminute = Minute1 + 60 - startMinute
Else
    deltaminute = Minute1 - startMinute
End If

\'hvor mange timer er der gået?
If Hour1 - startHour < 0 Then
\'    deltahour = Hour1 + 24 - startHour
    Hour1 = 0
Else
\'    deltahour = Hour1 - startHour
End If

Og så skriver jeg alle deltatiderne ud efter hinanden...

Men det virker bare ikke:-(


Håber I kan se hvad der er galt...

/J
Avatar billede jones_net Nybegynder
27. november 2001 - 11:36 #1
Ups, glemte at skrive, at startxxx er den første tid, og xxxx1 er den tid der er sluttiden, og det er altså forskellen mellem disse tider jeg ønsker...

/J
Avatar billede martinfrost Nybegynder
27. november 2001 - 21:51 #2
Lige umiddelbart kan jeg ikke se, hvorfor du sætter \' i sidste if-sætning, men det er nok ikke dét, der er fejlen?!?
Avatar billede sjh Nybegynder
27. november 2001 - 23:00 #3
må man spøre hvad det skal bruges til. ;)
Avatar billede sjh Nybegynder
27. november 2001 - 23:37 #4
måske kan du bruge noget af det her:


\'--- Form1 ---
Dim StartTime As Variant

Private Function SecToTime(Sec As Variant) As String
Dim Min As Variant
  Min = Format(Fix(Sec / 60), \"00\")
SecToTime = Format(Fix(Min / 60), \"00\") & \":\" & Format(Min Mod 60, \"00\") & \":\" & Format(Sec Mod 60, \"00\") & \":\" & Format(Sec * 100 Mod 100, \"00\")
End Function

Private Sub Command1_Click()
  If Command1.Caption = \"Start\" Then
    StartTime = Timer
      Command1.Caption = \"Stop\"
        Else
      Me.Caption = SecToTime(Timer - StartTime)
    Command1.Caption = \"Start\"
  End If
End Sub

Private Sub Form_Load()
  Command1.Caption = \"Start\"
End Sub
\'--- Form1 ---
Avatar billede jones_net Nybegynder
28. november 2001 - 08:20 #5
sjh>> kigger lige på dit svar om lidt... (skal jo også passe mit arbejde...;-)

Jeg kører racerbane (Lidt a la Jyllandsringen, som lå under alle juletræer i midten af 80\'erne).
En kammerat har lavet nogle lysfølsomme sensorer, som sender signaler til en PC via parallel-porten.
Når løbet begynder, sættes starthour, start minut osv til den aktuelle tid (tt:mm:ss:msms). Når der er kørt 1 omgang, sættes hour1, minute1 osv til den aktuelle tid, og det er forskellen mellem disse 2 tidspunkter jeg skal bruge...
Når forskellen er fundet, sætter jeg starthour osv til at være lig hour1, da det er den nye start-tid på omgangen...
Hastighederne gør at jeg skal bruge millisekunder eller er tiderne ubrugelige:-(

/J
Avatar billede jones_net Nybegynder
28. november 2001 - 09:37 #6
Fandt selv svaret - det er fordi jeg har nogle uoverensstemmelser i mine variabelnavne:-(

Men Tak for forsøget SJH:-)

/J
Avatar billede mikker Nybegynder
28. november 2001 - 20:40 #7
Kunne måske være afhjulpet med en

option explicit ? :-)

- Mikker
Avatar billede jones_net Nybegynder
29. november 2001 - 09:09 #8
Så, så, nu skal du ikke komme og spille smart!!!!!;-)

Jo, det kunne hav hjulpet en del af problemet, men jeg havde også en anden fejl, i noget kode, som intet har med det pastede at gøre, men jeg havde et forkert variabelnavn, som gjorde at det også gik skidt...

/J
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester