Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [vb 6] conto alla rovescia

    ciao!
    mi aiutate a fare un conto alla rovescia che mi dia un risultato del tipo:
    mancano X Anni, X mesi, X giorni, X ore, X minuti X secondi

    tra due date ben precise?
    ho fatto questa paginetta ma mi da qualche errore:
    codice:
    Private Sub Timer1_Timer()
           
    
    Dim datainizio, dataoggi As Date
    Dim show As String
    Dim G As Double
    Dim GG As Long
    Dim MM As Long
    Dim YY As Long
    
    dataoggi = Date
    datainizio = Text1.Text
    oraoggi = Time
    orainzio = Text2.Text
    
    dy = Year(datainizio) - Year(dataoggi)
    dm = Month(datainizio) - Month(dataoggi)
    dg = 30 + Day(datainizio) - Day(dataoggi)
    doo = 24 + (Hour(orainizio) - Hour(oraoggi))
    dmm = 60 + (Minute(orainzio) - Minute(oraoggi))
    ds = 60 + (Second(orainzio) - Second(oraoggi))
        G = DateDiff("d", dataoggi, datainizio)
        YY = Int(G / 365.5)
        G = (G - (YY * 365.5))
        MM = Int(G / 30.5)
        GG = G - (MM * 30.5)
        show = YY & " anni, " & MM & " mesi, " & GG & " giorni"
    
    show = dy & " Anni," & dm & " mesi, " & dg & " giorni, " & doo & " ore " & dmm & " minuti " & ds & " secondi!"
    
    Label1.Caption = show
    End Sub

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho provato il codice, ma noto che

    1) a volte utilizzi la variabile orainzio e a volte orainizio (senza mai dichiararla peraltro ...)

    2) dichiari le due variabili seguenti con

    Dim datainizio, dataoggi As Date

    e in questo modo solo la seconda sara' di tipo Date mentre la prima sara' Variant. Devi scrivere

    Dim datainizio As Date, dataoggi As Date

    3) ci sono due linee alla fine in cui setti la show ... ovviamente la prima viene ignorata ....

  3. #3
    ho sbagliato ho postato un pezzo di codice vecchio di prova...
    codice:
    Private Sub Timer1_Timer()
           
    
    Dim datainizio, dataoggi As Date
    Dim show As String
    Dim G As Double
    Dim GG As Long
    Dim MM As Long
    Dim YY As Long
    
    dataoggi = Date
    datainizio = Text1.Text
    oraoggi = Time
    orainizio= Text2.Text
    
    G = DateDiff("d", dataoggi, datainizio)
    YY = Int(G / 365.5)
    G = (G - (YY * 365.5))
    MM = Int(G / 30.5)
    GG = G - (MM * 30.5)
       
        show = YY & " anni, " & MM & " mesi, " & GG & " giorni "
    Ecco questo mi funziona, volevo aggiungerci la parte del calcolo di ore minuti e secondi.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma hai letto la mia risposta?

  5. #5

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.