Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    16

    differenza tempi in vb.net

    Ciao a tutti
    ho bisogno di un aiuto
    non riesco a risolvere questo semplice problema e vorrei utilizzare VB.net:
    devo registrare dei tempi di percorrenza
    esempio
    ...
    t1 = 1 minuto e 30 secondi
    t2 = 4 minuti e 31 secondi
    poi devo sommare questi tempi
    ottenendo
    t3 = t1 + t2 ' ottendo 6 minuti e 1 secondo
    se t1 < t2 allora
    min = t1
    altrimenti
    min = t2
    fine se

    mi sapreste dire quali sono le istruzioni per ottenere ciò
    come devo dichiarare le variabili t1, t2 e t3

    vi ringrazio anticipatamente

    Richards

  2. #2
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Non sono pratico di vb.net, ma provo lo stesso a darti una mano:
    Dichiari t1,t2,t3 e min come integer
    Trasformi minuti e secondi in secondi
    Sommi i secondi ottenuti e li ritrasformi in minuti e secondi
    Poi fai una if del tipo:
    if t1 < t2 then
    min = t1
    else
    min = t2
    end if

  4. #4
    Perché darsi tutta questa pena quando il .NET Framework offre già la classe TimeSpan (linkata nel mio precedente post) che gestisce tutte queste conversioni da sé?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Ho dato quel consiglio perchè come ho detto conosco molto molto poco vb.net....Ho provato lo stesso a dare una mano...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    16

    VB.net 2008

    ho provato in questo modo ma niente da fare...NON funziona!
    come posso assegnare un valore ad una variabile di tipo timespan

    Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim t1, t2, t3, min As TimeSpan

    t1 = "1:30"
    'il sistema mi segnala il seguente errore: impossibile convertire il valore di tipo 'String' in 'System.Timespan'
    t2 = "4:31"
    t3 = t1 + t2
    If t1 < t2 Then
    min = t1
    Else
    min = t2
    End If
    End Sub
    End Class

  7. #7
    I TimeSpan si inizializzano usando il loro costruttore, come qualunque classe.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    16
    Grazie per l'aiuto
    funziona!
    gli input che mi avete dato sono stati validissimi.
    devo ora sistemare la visualizzazione
    errore sulla msbgox
    (errore:Impossibile convertire l'argomento 'Prompt' nel tipo 'String')

    Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim t1, t2, t3, min As TimeSpan
    t1 = New TimeSpan(0, 1, 30)
    t2 = New TimeSpan(0, 4, 31)
    t3 = t1 + t2
    If t1 < t2 Then
    min = t1
    Else
    min = t2
    End If

    MsgBox(min)

    End Sub
    End Class

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Continua a vedere nell'esempio del link la funzione

    ShowTimeSpanProperties
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Per inciso, lascia stare MsgBox (mantenuta per compatibilità con VB6) e usa MessageBox.Show.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.