Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

URGENTE!!! CALCOLI DI TEMPI CON CENTESIMI DI SECONDO

826 views
Skip to first unread message

Massimo Borri

unread,
Aug 27, 1999, 3:00:00 AM8/27/99
to
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

Alfredo Volpari

unread,
Aug 27, 1999, 3:00:00 AM8/27/99
to
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>...

Paperino

unread,
Aug 27, 1999, 3:00:00 AM8/27/99
to
Massimo Borri <mbo...@incasgroup.it> wrote in message

>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?

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


blueboltr...@gmail.com

unread,
Jan 6, 2014, 6:40:31 PM1/6/14
to
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?

Paperino

unread,
Jan 7, 2014, 3:46:54 PM1/7/14
to
blueboltracing ha scritto:
> Il giorno venerdᅵ 27 agosto 1999 09:00:00 UTC+2, Paperino ha scritto:
[CUT]
>> 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
> Interessantissimo! Ma con i resti, dove dici il resto sono minuti,
> secondi ecc... che ci fai con quel resto? lo lasci perdere?
> 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.
0 new messages