Hallo liebe Leute !
Bin dabei ein Programm zu schreiben welches zwei Textdateien miteinander vergleicht,
nämlich Beleg.txt und FT_8501.txt.
FT_8501.txt ist ein sehr langes Protokoll und es dürfen in diesem nur die Zeilen übrig bleiben, welche auch in Beleg.txt vorkommen.
Sprich ich habe mal die Daten aus Beleg.txt in ein Array eingelesen, und mit FT_8501.txt verglichen, und bei Bedarf werden Datensätze (welche in Beleg.txt nicht vorkommen) aus der FT_8501.txt gelöscht.
Spiele mich jetzt schon ewig herum, und es kommt trotzdem nur blödsinn heraus (Datensätze von FT_8501.txt hängt er mir einfach unten nochmal dran, usw.............)
BITTE UM HILFE, EVTL. MIT EIN PAAR SNIPPETS !?
Danke, und Lg ! Silvio
Anbei mein bisheriger Code:
Bin dabei ein Programm zu schreiben welches zwei Textdateien miteinander vergleicht,
nämlich Beleg.txt und FT_8501.txt.
FT_8501.txt ist ein sehr langes Protokoll und es dürfen in diesem nur die Zeilen übrig bleiben, welche auch in Beleg.txt vorkommen.
Sprich ich habe mal die Daten aus Beleg.txt in ein Array eingelesen, und mit FT_8501.txt verglichen, und bei Bedarf werden Datensätze (welche in Beleg.txt nicht vorkommen) aus der FT_8501.txt gelöscht.
Spiele mich jetzt schon ewig herum, und es kommt trotzdem nur blödsinn heraus (Datensätze von FT_8501.txt hängt er mir einfach unten nochmal dran, usw.............)
BITTE UM HILFE, EVTL. MIT EIN PAAR SNIPPETS !?
Danke, und Lg ! Silvio
Anbei mein bisheriger Code:
Code:
Private Sub cmd_abgleich_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_abgleich.Click Dim fname_er As String Dim fname_belegnr As String Dim line_er As String = "" Dim line_belegnr As String = "" Dim belegnr_er As String = "" Dim belegnr_belegnr As String = "" Dim tmp_er As ArrayList = New ArrayList Dim tmp_bn As ArrayList = New ArrayList Dim LineLength As Integer fname_er = txt_er.Text fname_belegnr = txt_belegnr.Text Dim fs_er As FileStream = New FileStream(fname_er, FileMode.OpenOrCreate, FileAccess.ReadWrite) Dim fs_bn As FileStream = New FileStream(fname_belegnr, FileMode.OpenOrCreate, FileAccess.ReadWrite) Dim sr_er As StreamReader = New StreamReader(fs_er) Dim sr_bn As StreamReader = New StreamReader(fs_bn) Dim sw_er As StreamWriter = New StreamWriter(fs_er) If MsgBox("WARNUNG ! Es werden nun nicht mehr benötigte Daten aus dem ER File entfernt !" & vbCrLf & "Falls Sie noch kein Backup der Originaldatei angelegt haben, so tun Sie dies bitte jetzt.", MsgBoxStyle.Critical + MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then GoTo abort Else Dim x As Decimal = 0 Do While Me.Opacity > 0.5 Me.Refresh() Me.Opacity -= 0.05 For x = 1 To 100000 Next x Loop Do While sr_bn.Peek <> -1 line_belegnr = sr_bn.ReadLine() belegnr_belegnr = line_belegnr.Substring(0, 7) tmp_bn.Add(belegnr_belegnr) Loop Do While sr_er.Peek <> -1 line_er = sr_er.ReadLine belegnr_er = Mid(line_er, 12, 7) MsgBox(belegnr_er) Console.WriteLine(belegnr_er) If tmp_bn.Contains(belegnr_er) Then Else sw_er.BaseStream.Seek(0, SeekOrigin.Begin) sw_er.WriteLine(line_er) sw_er.BaseStream.SetLength(sw_er.BaseStream.Length - LineLength) End If Loop Do While Me.Opacity < 1.0 Me.Refresh() Me.Opacity += 1.0 For x = 1 To 100000 Next x Loop 'fs_er.Close() fs_bn.Close() 'sr_er.Close() sr_bn.Close() 'sw_er.Close() 'sw_bn.Close() abort: End Sub
Comment