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

    [VB.NET] Problemi con la somma di ore di lavoro

    Ciao ragazzi,
    per calcolare la differenza tra ore di lavoro utilizzo il seguente codice:
    codice:
     Dim tstr1 As String = Date.Parse(ComboBox5.Text).Subtract(Date.Parse(ComboBox4.Text)).ToString()
    Txt_Diff_Ore.Text = tstr1.Substring(0, tstr1.LastIndexOf(":"c))
    ma quando inserisco il seguente codice per SOMMARE le ore mi da errore proprio su "DateAdd":

    codice:
    Txt_Sum_Ore.Text = DateAdd("h", Txt_ora_lunedi.Text, Txt_ora_martedi.Text)
    Cosa sto sbagliando?
    Grazie
    SanMichel
    Ultima modifica di SanMichele; 12-11-2024 a 14:06

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,399
    Quote Originariamente inviata da SanMichele Visualizza il messaggio
    ma quando inserisco il seguente codice per SOMMARE le ore mi da errore proprio su "DateAdd":
    codice:
    Txt_Sum_Ore.Text = DateAdd("h", Txt_ora_lunedi.Text, Txt_ora_martedi.Text)
    Cosa sto sbagliando?
    Sembra che tu stia "sommando delle stringhe": quel .Text deve essere sottoposto a DateTime.Parse per trasformarlo in un valore data/ora sicuro, altrimenti non sono certo di come VB.NET operi di default, oppure non è detto che l'operazione vada a buon fine nel modo che ci si attende.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ciao Alka
    studio e ti dico
    Grazie infinite

  4. #4
    Niente da fare non ne vengo fuori

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,478
    Quote Originariamente inviata da SanMichele Visualizza il messaggio
    Niente da fare non ne vengo fuori
    Quali sono i contenuti dei vari .Text ed esattamente quale errore hai?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Ciao oregon e ciao a tutti,
    il contenuto delle combo sono delle ore di lavoro che l'utente può scegliere e qui di seguito un esempio:
    08:30
    09:00
    09:30
    ecc ecc

    L'errore che mi da è che non mi somma correttamente queste ore e non conteggia i minuti
    Ho provato anche in questo modo ma non è corretto chiaramente:

    codice:
    Txt_Sum_Ore.Text= Format(Val(ComboBox5.Text) + Val(ComboBox4.Text), "#,##")
    Grazie

  7. #7
    le variabili da sommare debbono essere di tipo Date, non String (e la somma deve finire anch'essa in una variabile di tipo Date)

  8. #8
    Ok grazie ci provo

  9. #9

  10. #10
    Grazie optime,
    esempio veloce ma intuitivo. Grazie veramente

    Ho fatto una cosa di questo genere, ho cambiato un pò l'impostazione e mi conta anche i secondi che volevo integrare nel codice una volta capito, mi sembra giusto ma ditemi voi, comunque grazie a tutti veramente

    codice:
    Dim date1 As DateTime = ComboBox5.Text"
                    Dim date2 As DateTime = ComboBox4.Text"
                    Dim date3 As TimeSpan = date1.TimeOfDay + date2.TimeOfDay
    
                    Lbl_sumt_ore.Text = date3.ToString
    SanMichele

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 © 2024 vBulletin Solutions, Inc. All rights reserved.