vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen 
Autor: Manfred X
Datum: 16.03.13 18:26

Schwer zu beantworten.
Erstelle eine neues Winforms-Projekt und kopiere folgenden
Code in das LEERE Formular Form1 (oder wie auch immer benannt).
Es werden zwei DateTimePicker verwendet, um ein Datums-intervall
festzulegen und per Button werden die Werktage Mo-Fr bestimmt
(ohne Beachtung der Feiertage!).

Public Class frmWerktage
 
    'ab hier ins Formular kopieren
 
    'Erstellen und Einrichten der Controls
 
    'Labels
    Dim lblStart As New Label With _
        {.Parent = Me, .Width = 200, .Text = "Startdatum: "}
 
    Dim lblEnde As New Label With _
        {.Parent = Me, .Left = 250, .Width = 200, .Text = "Enddatum: "}
 
 
    'DateTimePicker
    Dim WithEvents dtpStart As New DateTimePicker With _
        {.Parent = Me, .Top = 40, _
        .Width = 200, .Value = CDate("1.1.2013")}
 
    Dim WithEvents dtpEnde As New DateTimePicker With _
        {.Parent = Me, .Top = 40, .Left = 250, _
        .Width = 200, .Value = CDate("1.1.2013")}
 
 
    'Berechnungsbutton
    Dim WithEvents btnCompute As New Button With _
        {.Parent = Me, .Top = 100, _
        .Width = 200, .Text = "Werktage berechnen"}
 
    'Anzeige des Ergebnisses
    Dim lblWerktage As New Label With _
        {.Parent = Me, .Top = 100, .Left = 250, _
        .Width = 200, .Text = "", .BackColor = Color.LightGray}
 
 
    Private Sub btnCompute_Click(sender As Object, _
            e As System.EventArgs) Handles btnCompute.Click
 
        'Berechnung der Differenz zwischen den Daten (Werktage)
 
        Dim dt As Date = DateValue(dtpStart.Value.ToString)
        Dim dtend As Date = DateValue(dtpEnde.Value.ToString).AddDays(1)
        Dim c As Integer = 0
 
        If New TimeSpan(dtend.Ticks - dt.Ticks).Ticks <= 0 Then
            lblWerktage.Text = "Unplausibles Zeitintervall" : Exit Sub
        End If
 
        Do
            Dim wochentag As Integer = Microsoft.VisualBasic.Weekday(dt)
            'Unter Annahme: 1 = Sonntag, 7 = Samstag
            If wochentag > 1 And wochentag < 7 Then
                c += 1
            End If
            dt = dt.AddDays(1)
        Loop While dt < dtend
 
        lblWerktage.Text = "Werktage: " & CStr(c)
    End Sub
 
    Private Sub dtp_ValueChanged(sender As Object, e As System.EventArgs) _
        Handles dtpStart.ValueChanged, dtpEnde.ValueChanged
        lblWerktage.Text = ""
    End Sub
 
    'bis hier ins Formular kopieren
 
End Class
Für Feiertage:
http://dotnet-snippets.de/snippet/ermittlung-von-feiertagen-feiertaglogic/763

Beitrag wurde zuletzt am 16.03.13 um 18:35:10 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.833weiß nix16.03.13 12:11
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.110sv0001016.03.13 14:25
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.020weiß nix16.03.13 17:12
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.012Manfred X16.03.13 14:55
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.079weiß nix16.03.13 17:25
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.297Manfred X16.03.13 18:26
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen1.926weiß nix17.03.13 18:12
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.001Manfred X17.03.13 19:47
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen1.905weiß nix18.03.13 18:11
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.057Manfred X18.03.13 19:08
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen1.886weiß nix19.03.13 18:28
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen1.996Manfred X19.03.13 19:54
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen2.060weiß nix20.03.13 18:45
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen1.900Manfred X20.03.13 19:15
Re: Nettoarbeitstage mit Eingabe einer Dezimalzahl berechnen1.910weiß nix23.03.13 16:35
Fortsetzung2.053Manfred X19.03.13 19:55

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel