Hi, das ist nur ein test von mir, aber ich bekomme es nicht hin die selbe Datei neu einzulesen ohne das sie mir mein ListView zerstört. entweder ist die "Variable" nicht Leer beim nächsten Aufruf der selben Datei (die Länge ist um hälfte länger) oder es liegt im Aufruf der List Items?
Danke für etweige Hilfe
Private Sub MnuOeffnen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuOeffnen.Click
Dim ENTER As String = Chr(13) & Chr(10)
Dim delimStr As String = "//"
Dim delimiter As Char() = delimStr.ToCharArray()
Dim Inhalt As String = " "
Dim Lvi As ListViewItem
Dim TXT, ADR, KOMM, FORM, TEST As Int64
Dim Start, Ende, Laenge As Int64
Dim objDateiMacher As StreamWriter
Dim objDateiLeser As StreamReader
Dim TestChar As Char
Dim NextVar As Byte
Dim Text(), StrVar(), Wert(), Name() As String
Dim Begin As Int64
Dim Feld() As Char
OpenFileDialog1.Filter = "AWL Quelle(*.awl)|*.awl"
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
'If DATEINAME <> OpenFileDialog1.FileName Then
DATEINAME = OpenFileDialog1.FileName
'Else
'Exit Sub
'End If
Else
Exit Sub
End If
StatusBar1.Panels(0).Text = DATEINAME
Inhalt = Nothing
objDateiLeser = Nothing
objDateiLeser = New StreamReader(DATEINAME, System.Text.Encoding.Default)
strExcelDateiname = objDateiLeser.ReadToEnd()
Inhalt = strExcelDateiname
objDateiLeser.Close()
objDateiLeser = Nothing
DateiExt = (DATEINAME.Substring(DATEINAME.Length - 3, 3)).ToUpper
Inhalt = Inhalt.Replace("ü", "ue")
Inhalt = Inhalt.Replace("ö", "oe")
Inhalt = Inhalt.Replace("ä", "ae")
Inhalt = Inhalt.Replace("Ü", "Ue")
Inhalt = Inhalt.Replace("Ö", "Oe")
Inhalt = Inhalt.Replace("Ä", "Ae")
Inhalt = Inhalt.Replace("°C", " Grd")
Text = Inhalt.Split(ENTER)
TXT = UBound(Text)
LsvParam.Items.Clear()
ReDim Variable(0)
ReDim Name(0)
ReDim Wert(0)
For i = 6 To TXT
ReDim Preserve Variable(X)
Name = Text(i).Split(delimiter, 2)
Wert = Text(i).Split(":")
'If StrVar(0) ST= " END_RUCT ; " Then Exit For
If UBound(Name) > 0 Then
Variable(X).Parameter = Name(1).Remove(0, 1)
End If
If UBound(Wert) > 0 Then
Variable(X).Wert = Wert(1).Remove(0, 2)
Variable(X).Wert = Variable(X).Wert.Remove(Len(Variable(X).Wert) - 2, 2)
End If
X += 1
Next
For i = 0 To UBound(Variable) / 2 - 1
Lvi = LsvParam.Items.Add(Variable(X).Parameter)
Lvi.SubItems.Add(Variable((X + UBound(Variable) / 2) + 1).Wert)
X += 1
Next
End Sub
Danke für etweige Hilfe
Private Sub MnuOeffnen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuOeffnen.Click
Dim ENTER As String = Chr(13) & Chr(10)
Dim delimStr As String = "//"
Dim delimiter As Char() = delimStr.ToCharArray()
Dim Inhalt As String = " "
Dim Lvi As ListViewItem
Dim TXT, ADR, KOMM, FORM, TEST As Int64
Dim Start, Ende, Laenge As Int64
Dim objDateiMacher As StreamWriter
Dim objDateiLeser As StreamReader
Dim TestChar As Char
Dim NextVar As Byte
Dim Text(), StrVar(), Wert(), Name() As String
Dim Begin As Int64
Dim Feld() As Char
OpenFileDialog1.Filter = "AWL Quelle(*.awl)|*.awl"
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
'If DATEINAME <> OpenFileDialog1.FileName Then
DATEINAME = OpenFileDialog1.FileName
'Else
'Exit Sub
'End If
Else
Exit Sub
End If
StatusBar1.Panels(0).Text = DATEINAME
Inhalt = Nothing
objDateiLeser = Nothing
objDateiLeser = New StreamReader(DATEINAME, System.Text.Encoding.Default)
strExcelDateiname = objDateiLeser.ReadToEnd()
Inhalt = strExcelDateiname
objDateiLeser.Close()
objDateiLeser = Nothing
DateiExt = (DATEINAME.Substring(DATEINAME.Length - 3, 3)).ToUpper
Inhalt = Inhalt.Replace("ü", "ue")
Inhalt = Inhalt.Replace("ö", "oe")
Inhalt = Inhalt.Replace("ä", "ae")
Inhalt = Inhalt.Replace("Ü", "Ue")
Inhalt = Inhalt.Replace("Ö", "Oe")
Inhalt = Inhalt.Replace("Ä", "Ae")
Inhalt = Inhalt.Replace("°C", " Grd")
Text = Inhalt.Split(ENTER)
TXT = UBound(Text)
LsvParam.Items.Clear()
ReDim Variable(0)
ReDim Name(0)
ReDim Wert(0)
For i = 6 To TXT
ReDim Preserve Variable(X)
Name = Text(i).Split(delimiter, 2)
Wert = Text(i).Split(":")
'If StrVar(0) ST= " END_RUCT ; " Then Exit For
If UBound(Name) > 0 Then
Variable(X).Parameter = Name(1).Remove(0, 1)
End If
If UBound(Wert) > 0 Then
Variable(X).Wert = Wert(1).Remove(0, 2)
Variable(X).Wert = Variable(X).Wert.Remove(Len(Variable(X).Wert) - 2, 2)
End If
X += 1
Next
For i = 0 To UBound(Variable) / 2 - 1
Lvi = LsvParam.Items.Add(Variable(X).Parameter)
Lvi.SubItems.Add(Variable((X + UBound(Variable) / 2) + 1).Wert)
X += 1
Next
End Sub