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

    [VB.NET] Calcolo ore di lavoro notturne

    Un saluto a tutti i navigatori di questo forum.
    Questo è il mio primo messaggio, e spero tanto di non aver sbagliato sezione, altre cose.
    Sto cercando di sviluppare un piccolo applicativo in VB Con Visual Studio 2019 che calcola le ore lavorative.
    Il mio problema nasce quando con questa formula tento di calcolare le ore notturne, Esempio:
    orario inizio 22:00:00 orario Fine (del giorno dopo) 06:00:00, mi restituisce -16:00:00, come posso risolvere questo problema?
    FORMULA

    Dim orario3 As New System.TimeSpan
    Dim orario4 As New System.TimeSpan(7, 15, 0)
    Dim x() As String
    Dim y() As String
    x = Split(TextBox1.Text, ":")
    Dim orario1 As New System.TimeSpan(x(0), x(1), x(2))
    y = Split(TextBox2.Text, ":")
    Dim orario2 As New System.TimeSpan(y(0), y(1), y(2))
    orario3 = orario2.Subtract(orario1)
    TextBox3.Text = Orario3.ToString()
    If orario3 > orario4 Then
    TextBox4.Text = (orario3 - orario4).ToString()
    TextBox4.BackColor = Color.Red
    Else
    TextBox4.Text = "no straordinarie"
    TextBox4.BackColor = Color.White
    End If

    Grazie in anticipo per le vostre risposte ed aiuti.

  2. #2
    Quote Originariamente inviata da Olegna1964 Visualizza il messaggio
    Un saluto a tutti i navigatori di questo forum.
    Questo è il mio primo messaggio, e spero tanto di non aver sbagliato sezione, altre cose.
    Sto cercando di sviluppare un piccolo applicativo in VB Con Visual Studio 2019 che calcola le ore lavorative.
    Il mio problema nasce quando con questa formula tento di calcolare le ore notturne, Esempio:
    orario inizio 22:00:00 orario Fine (del giorno dopo) 06:00:00, mi restituisce -16:00:00, come posso risolvere questo problema?
    FORMULA

    Dim orario3 As New System.TimeSpan
    Dim orario4 As New System.TimeSpan(7, 15, 0)
    Dim x() As String
    Dim y() As String
    x = Split(TextBox1.Text, ":")
    Dim orario1 As New System.TimeSpan(x(0), x(1), x(2))
    y = Split(TextBox2.Text, ":")
    Dim orario2 As New System.TimeSpan(y(0), y(1), y(2))
    orario3 = orario2.Subtract(orario1)
    TextBox3.Text = Orario3.ToString()
    If orario3 > orario4 Then
    TextBox4.Text = (orario3 - orario4).ToString()
    TextBox4.BackColor = Color.Red
    Else
    TextBox4.Text = "no straordinarie"
    TextBox4.BackColor = Color.White
    End If

    Grazie in anticipo per le vostre risposte ed aiuti.
    A vederlo così ti sei dimenticato la parte "data".
    dovresti settare variabile Orario1 come '23/11/2021 22:00' e la variabile Orario2 come '24/11/2021 06:00'
    N.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,956
    Quote Originariamente inviata da Olegna1964 Visualizza il messaggio
    Questo è il mio primo messaggio, e spero tanto di non aver sbagliato sezione, altre cose.
    In effetti sì, c'è un'area specifica dedicata a Visual Basic e a .NET.
    Ma per questa volta non è un problema: sposto io la discussione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  4. #4

    Magari!

    Quote Originariamente inviata da Nettuno95 Visualizza il messaggio
    A vederlo così ti sei dimenticato la parte "data".
    dovresti settare variabile Orario1 come '23/11/2021 22:00' e la variabile Orario2 come '24/11/2021 06:00'
    N.
    Ci provo, grazie.

  5. #5

    Obligato

    Grazie

  6. #6

    Ho provato

    Ho provato ma non riesco ad immaginare come fare sulla formula, se inserire la Dim orario1 e 2 come "As New DateTime" od altro. Sob!

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    243
    Stai facendo un po' di confusione, partiamo con il fare una cosa per volta.
    1) Prendere il valore di TextBox1.Text e trasformarlo in data/ora
    Tu hai solo l'ora per cui la data metteremo quella di oggi.
    Dim Orario1 As DateTime
    ......
    prova a buttare giù un po' di codice e fare delle prove, poi si prosegue con il resto

Tag per questa discussione

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