Zeitabhängige Bedingung

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Zeitabhängige Bedingung

    Hallo Leute!

    Habe ein kleines Problem mit einem von mir geschriebenen VB.NET Programm.
    Dieses Programm dient zur Datenimportkontrolle.

    Die Daten werden jeden Tag zwischen 17:00 Uhr und 03:00 Uhr automatisch eingespielt. (d.h.: es ist ein Tag unterschied)

    Ich möchte jetzt mit einer If-Bedingung überprüfen, ob die Datei zwischen 17:00 Uhr (gestern) und 03:00 Uhr (heute) erstellt wurde.

    Das Erstellungsdatum und die Erstellungszeit habe ich bereits herausgefiltert.
    Die Überprüfung mit dem Datum funktioniert auch einwandfrei nur die Überprüfung mit der Zeit mach noch Probleme.

    VB.NET-Quellcode

    1. Sub start(Optional ByVal pfad As String = "g:\", Optional ByVal List As Object = "", Optional ByVal endung As String = ".shop")
    2. Dim directory As New DirectoryInfo(pfad)
    3. For Each file1 As FileInfo In directory.GetFiles
    4. If file1.Extension = endung Then
    5. Dim pruefung As String
    6. If file1.LastAccessTimeUtc >= DateAdd(DateInterval.Day, -1, Today) Then
    7. pruefung = "OK"
    8. Else
    9. pruefung = "ERROR!!!"
    10. End If
    11. List.Items.Add(file1.FullName & " --- " & file1.LastAccessTimeUtc & " - " & DateAdd(DateInterval.Day, -1, Today) & " -> " & pruefung)
    12. End If
    13. Next
    14. If List.Visible = "false" Then
    15. List.Visible = "true"
    16. ElseIf List.Visible = "true" Then
    17. List.Visible = "false"
    18. List.Items.Clear()
    19. End If
    20. End Sub

    Der Codeausschnitt beinhaltet nur den wichtigsten Teil des Programms und nicht das gesamte.

    Danke für eure Hilfe!
    mfg
    Tom
    Generiere Dir die erlaubte Start- und Endzeit und sieh nach, ob die File-Zeiten dazwischen liegen:

    VB.NET-Quellcode

    1. Dim ddd = Date.UtcNow
    2. Dim ddEnd = New Date(ddd.Year, ddd.Month, ddd.Day, 3, 0, 0) ' heute, 3 Uhr
    3. Dim ddStart = ddEnd.AddHours(-10) ' gestern, 17 Uhr
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!