String Array nach einer Uhrzeit durchsuchen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    String Array nach einer Uhrzeit durchsuchen

    Hallo leute,

    ich habe eine Datei, welche ich spalten und zeilenweise durchsuchen möchte. Sie besteht aus Uhrzeiten und ist folgendermaßen aufgebaut:


    ...
    00:01:02;00:02:04;00:01:12;
    00:12:01;
    01:03:04;02:01:01;
    ...


    Nun möchte ich wissen, ob ZeileIndex(0) ein Zeitstempel enthält, welches größer als 00:01:00 ist.

    Ich bin wie folgt vorgegangen, komme aber nicht mehr weiter:

    VB.NET-Quellcode

    1. Do Until Reader.Peek()=-1 line = Reader.Readline container = line.Split(";")
    2. For Each Str As String In cointainer if ??? ... NextLoop
    3. Reader.Close()...



    Kann mir jemand einen Gedankenanstoß geben, bitte?


    lg
    1. ReadAllLines()
    2. Split(";"c)
    3. Format aufklären und DateTime bzw. TimeSpan draus machen
    4. einfach damit rechnen.
    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!
    Ich habe es jetzt so angegangen, aber es funkt nicht so ganz.

    VB.NET-Quellcode

    1. ...
    2. For Each Str As String In container
    3. If CStr(Str) > TimeValue("00:01:00") Then
    4. Debug.WriteLine("Test")
    5. End if
    6. Next
    7. ...


    Das Problem ist, dass mein Container irgendwie noch einen dritten String enthält, welches "" (leer) ist und es die nicht konvertieren kann. Erhalte ich eine invalidcastexception.
    Du kannst TimeSpan.Parse, bzw. TimeSpan.TryParse verwenden, um aus dem String ein TimeSpan-Object zu machen. Dieses kannst Du bequem abfragen, ob Minuten >=1 und zugleich Sekunden >=1. Dies sollte Deine Anforderung erfüllen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    VBNooby schrieb:

    If CStr(Str) > TimeValue("00:01:00") Then
    Mit

    RodFromGermany schrieb:

    3. Format aufklären und DateTime bzw. TimeSpan draus machen
    4. einfach damit rechnen.
    haste offensichtlich was nicht verstanden.
    Mit DateTime und TimeSpan kannste Rechnen und Vergleichen. Du nimmst String-Operationen, das ist bei Datum-Zeit-Operanden einfach Grütze.
    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!