Newsgroup: it.comp.lang.visual-basic
Titolo: URGENTE!!! CALCOLI DI TEMPI CON CENTESIMI DI SECONDO

Un prg che una volta inseriti i tempi di gare sportive ne estrapoli le più
svariate classifiche, suddivise per categoria e per un mucchio di altri
parametri.
Peccato che questi tempi siano espressi in
"minuti":"secondi":"decimi":"centesimi"
Visto che la formattazione massima in VB  e anche in Acces si ferma ai
secondi come faccio a sommare, estrarre la media, ecc.... di questi tuti
questi tempi ?
Esiste un OCX oppure qulche cosa che si occupi di questo, o devo per forza
fare tutto da codice?
 
Grazie a chiunque mi possa essere d' aiuto.
--
Posted from [195.223.196.2]
via Mailgate.ORG Server - 
http://www.mailgate.org

Al massimo ti posso concedere i millisecondi . . .
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Dim lngStartTime As Long
Sub StartTimer()
    lngStartTime = timeGetTime()
End Sub
Function EndTimer()
    EndTimer = timeGetTime() - lngStartTime
End Function
Private Sub Command1_Click()
    StartTimer
    For j = 1 To 100000
    Next j
    Debug.Print EndTimer
End Sub
Saluti.
Massimo Borri ha scritto nel messaggio
<56BA87906E86D111AE1C006008060AD51A091C@SRVITN01>...


fare tutto da codice?
La seconda che hai detto...
Il problema in effetti è nella funzione Format, perchè in realtà il tipo dati Date
gestirebbe tempi ben inferiori. In pratica ti tocca calcolare il totale ad esempio
dei centesimi, lavorare su questi facendo i calcoli che ti servono, poi riformattare
in mm:ss:dd:cc con un'altra
routine tua. Esempio:
2 min. 3 sec. 4 decimi 5 centesimi = (2*6000)+(3*100)+(4*10)+5 = 12345 centesimi di sec.
Per fare l'inverso, ti riciclo una funzioncina già fatta, ma fai attenzione che
l'ho modificata e non l'ho controllata a fondo:
_______________________
Function DaCentesimiAFormato(CentesimiTotali As Long) As String
    Dim Centesimi As Long
    Dim Decimi As Long
    Dim Secondi As Long
    Dim Minuti As Long
    Dim Ore As Long
    ' Dim Giorni As Long ' puoi espandere il concetto
    ' ad esempio se passi i  8640000 centesimi, che sono 24 ore ...
    Ore = CentesimiTotali \ 360000  ' divisione intera !
    Minuti = (CentesimiTotali - (Ore * 360000)) \ 6000 ' il resto sono i minuti
    Secondi = (CentesimiTotali - (Ore * 360000) - (Minuti * 6000)) \ 100
    ' il resto sono i secondi
    Decimi = (CentesimiTotali - (Ore * 360000) - (Minuti * 6000) - _
    (Secondi * 100)) \ 10      ' il resto sono i decimi
    Centesimi = (CentesimiTotali - (Ore * 360000) - (Minuti * 6000) - _
    (Secondi * 100) - (Decimi * 10))
    DaCentesimiAFormato = Format(Ore, "00:") & Format(Minuti, "00:") & _
    Format(Secondi, "00:") & Format(Decimi, "00:" & Format(Centesimi, "0"))   ' formattiamo in una
stringa
End Function
___________________
Bye, G.
--
---------------------------------------------
    Le risposte alle tue domande le trovi
    sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
       ... e nell'help in linea !
---------------------------------------------
Real E-address: 
gaet...@hotmail.com

Il giorno venerdì 27 agosto 1999 09:00:00 UTC+2, Paperino ha scritto:

Interessantissimo! Ma con i resti, dove dici il resto sono minuti, secondi ecc... che ci fai con quel resto? lo lasci perdere? cosa intendi?

 cosa intendi?
 
Miiiiiiiiiii.... hai ripescato un post del '99, scrivevo
su questo NG da pochi mesi :-).
Comunque, per quanto riguarda il problema, c'ï¿œ un thread
piï¿œ recente, di dicembre del mese scorso, dove credo la
cosa sia stata sviscerata piï¿œ a fondo.
 
Il subject ï¿œ "convertire millisecondi in ore minuti e secondi".
 
Bye, G.