Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: VB6 Confrontare orari

  1. #1
    Utente di HTML.it L'avatar di Dr Mal
    Registrato dal
    Apr 2002
    Messaggi
    2,536

    VB6 Confrontare orari

    'giorno a tutti,

    Qualc1 ha qualke dritta su come confronatare le ore (intese come hh.mm)?

    tipo dalle 22.30 alle 6.45 sono passate 8.15 ore

    Nn esiste qualke function in vb ke mi fa sto calcolo automaticamente oppure devo x forza implementare 1 routine? :master:

    Ho provato con dateDiff ma la gestione è 1 po' complicata.....

    grazie,
    [Proteggiamo la Natura e gli Animali: appartengono alle cose più belle che ci sono state donate.]

  2. #2
    secondo me datediff è abbastanza facile

    codice:
    Private Function CalcolaIntervallo(DatIni As String, OraIni As String, DatFin As String, OraFin As String) As String
    '########################################################################################
    '# la funzione restituisce il tempo trascorso espresso in giorni ore e minuti da una    #
    '# data e ora iniziale a una data e ora finale.                                         #
    '# si aspetta date in fomato dd/mm/yyyy e orari in formato hh:mm                        #
    '########################################################################################
        On Error GoTo lblError
        Dim giorni As Integer
        Dim ore As Integer, minuti As Long, secondi As Long
        Dim d1 As String, d2 As String 'date estese
        'controllo coerenza dati
        If Not (IsDate(DatIni) Or IsDate(DatFin)) Then
            CalcolaIntervallo = "-1"
            Exit Function
        End If
        If Not (IsDate(OraIni) Or IsDate(OraFin)) Then
            CalcolaIntervallo = "-1"
            Exit Function
        End If
        If CDate(DatIni) > CDate(DatFin) Then
            CalcolaIntervallo = "-1"
            Exit Function
        End If
        'calcolo del tempo trascorso
    
        d1 = DatIni & " " & OraIni
        d2 = DatFin & " " & OraFin
        secondi = DateDiff("s", d1, d2)
        ore = Fix(secondi / 3600)
        minuti = Fix(secondi / 60)
        CalcolaIntervallo = ore & ":" & Format$(minuti, "00")
    Exit Function
    lblError:
        Call GestErrore(Me.Name & ".CalcolaIntervallo")
    End Function
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it L'avatar di Dr Mal
    Registrato dal
    Apr 2002
    Messaggi
    2,536
    :gren:
    Grazie 1000 xegallo.... 6 sempre il mio salvatore....
    ....ehm.....potresti spiegarmi semplicemente il funzionamento?......

    Grazie...
    [Proteggiamo la Natura e gli Animali: appartengono alle cose più belle che ci sono state donate.]

  4. #4
    Utente di HTML.it L'avatar di Dr Mal
    Registrato dal
    Apr 2002
    Messaggi
    2,536
    OK, ho capito il meccanismo.....
    Ma nn funge molto bene...... in pratica "azzecca" solo le ore e mi sballa i minuti
    (nn funge neanke la function x la gestione degli errori xkè la routine è incompleta!)

    EX: datainizio = 12/10/2003
    datafine= 13/10/2003
    orainizio = 22:30
    orafine = 7:30

    il risultato è : 9:540

    :master:
    [Proteggiamo la Natura e gli Animali: appartengono alle cose più belle che ci sono state donate.]

  5. #5
    ups sbagliato il collage :gren:

    minuti = Fix(secondi MOD 60)


    la gestione dell' errore non ti va perchè non te l'ho data :quipy:
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  6. #6
    Utente di HTML.it L'avatar di Dr Mal
    Registrato dal
    Apr 2002
    Messaggi
    2,536
    Originariamente inviato da xegallo
    ups sbagliato il collage :gren:
    minuti = Fix(secondi MOD 60)
    Funge meglio di prima!
    Però a me serve sapere anke i minuti rimanenti.....mentre in questo caso mi vengono arrotondati....(sai, è un calcolo di ore di straord. quindi sono importanti)



    la gestione dell' errore non ti va perchè non te l'ho data :quipy:
    Lo so..... volevo solo avvertirti...

    Cmq se puoi fare qualcosa x i minuti, te ne sarei davvero grato (nn ke ora nn lo sia, x carità.....)
    [Proteggiamo la Natura e gli Animali: appartengono alle cose più belle che ci sono state donate.]

  7. #7
    Originariamente inviato da Dr Mal
    Funge meglio di prima!
    Però a me serve sapere anke i minuti rimanenti.....mentre in questo caso mi vengono arrotondati....(sai, è un calcolo di ore di straord. quindi sono importanti)




    Lo so..... volevo solo avvertirti...

    Cmq se puoi fare qualcosa x i minuti, te ne sarei davvero grato (nn ke ora nn lo sia, x carità.....)
    togli fix
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  8. #8
    Utente di HTML.it L'avatar di Dr Mal
    Registrato dal
    Apr 2002
    Messaggi
    2,536
    Originariamente inviato da xegallo
    togli fix
    ...Nn funge cmq...
    [Proteggiamo la Natura e gli Animali: appartengono alle cose più belle che ci sono state donate.]

  9. #9
    bho io non capisco che risultato vuoi allora e cmq l'idea è quella applicatici un po'
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  10. #10
    Utente di HTML.it L'avatar di Dr Mal
    Registrato dal
    Apr 2002
    Messaggi
    2,536
    Originariamente inviato da xegallo
    bho io non capisco che risultato vuoi allora e cmq l'idea è quella applicatici un po'
    Scusa ma l'ho scritto nel 1º post.....
    ....Qualc1 ha qualke dritta su come confronatare le ore (intese come hh.mm)?

    tipo dalle 22.30 alle 6.45 sono passate 8.15 ore
    .....
    So ke sei buono....
    HelpMe.....
    [Proteggiamo la Natura e gli Animali: appartengono alle cose più belle che ci sono state donate.]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.