Hallo,
ich will Dateien eines Ordners auf Modifikation überprüfen also ob sie bearbeitet wurden. Das tue ich mit einem Hash check.
Die Dateien liste ich in einer Listiview auf und gleiche sie mit einem wert in der Richtextbox ab. Die werte werden in die Richtextbox von einer Textdatei auf meinem Server geladen und diese wiederum werden in verschiedene Textboxen unterteilt.
In der Richtextbox werden die werte wie folgt aufgelistet: Dateiname = Dateigröße = Dateihash = Dateipfad
Es funktioniert so:
Es sucht die Richtextbox zeilen nach dem "Sub item 0" eintrag ab. In diesem fall der Dateiname und wenn dieser existiert wird der Hash in der selben Zeile gesucht. Dann gleicht es den Server Hash (Textbox & Richtextbox) mit der Lokalen Hash (Sub item) ab.
Das Endresultat soll in "Sub item 4" mit "Ja" oder "Nein" zurückgeben. Also in meinem fall "Nein" wenns übereinstimmt und "Ja" wenn es nicht übereinstimmt. Das passiert alles in einer For Each item schleife.
Mein Problem:
Der Code gibt nur das "Nein" zurück aber das im else befindende "Ja" überspringt es und gibt nichts bzw. ein leeres Sub item zurück. Also Datei modifiziert = leeres Sub item.
Mein code:
ich will Dateien eines Ordners auf Modifikation überprüfen also ob sie bearbeitet wurden. Das tue ich mit einem Hash check.
Die Dateien liste ich in einer Listiview auf und gleiche sie mit einem wert in der Richtextbox ab. Die werte werden in die Richtextbox von einer Textdatei auf meinem Server geladen und diese wiederum werden in verschiedene Textboxen unterteilt.
In der Richtextbox werden die werte wie folgt aufgelistet: Dateiname = Dateigröße = Dateihash = Dateipfad
Es funktioniert so:
Es sucht die Richtextbox zeilen nach dem "Sub item 0" eintrag ab. In diesem fall der Dateiname und wenn dieser existiert wird der Hash in der selben Zeile gesucht. Dann gleicht es den Server Hash (Textbox & Richtextbox) mit der Lokalen Hash (Sub item) ab.
Das Endresultat soll in "Sub item 4" mit "Ja" oder "Nein" zurückgeben. Also in meinem fall "Nein" wenns übereinstimmt und "Ja" wenn es nicht übereinstimmt. Das passiert alles in einer For Each item schleife.
Mein Problem:
Der Code gibt nur das "Nein" zurück aber das im else befindende "Ja" überspringt es und gibt nichts bzw. ein leeres Sub item zurück. Also Datei modifiziert = leeres Sub item.
Mein code:
VB.NET-Quellcode
- Dim FoundPos As Integer
- Dim FoundLine As Integer
- Dim Line As Integer
- FoundPos = RichTextBox1.Find(itm.SubItems(3).Text)
- If FoundPos <> -1 Then
- FoundLine = RichTextBox1.GetLineFromCharIndex(FoundPos)
- Line = CStr(FoundLine)
- TextBox8.Text = CStr(FoundLine)
- For i As Integer = 0 To RichTextBox1.Lines.Count - 1
- If RichTextBox1.Lines(i).Contains(itm.SubItems(3).Text) Then
- TextBox3.Text += (RichTextBox1.Lines(i)) + vbNewLine
- End If
- Next
- Dim Split As String() = TextBox3.Text.Split({"="c}, StringSplitOptions.RemoveEmptyEntries)
- TextBox4.Text = Split(0).Trim
- TextBox5.Text = Split(1).Trim
- TextBox6.Text = Split(2).Trim
- TextBox7.Text = Split(3).Trim
- If itm.SubItems(3).Text = TextBox6.Text Then
- itm.SubItems.Add("No")
- Else
- itm.SubItems.Add("Yes")
- End If
- End If