Hallo. Dien Vorschlag funktioniert einfach nicht.
Hier der ganze Code:
' -----------------------------------------------
' Der große Ratgeber in allen Lebenslagen
' Jetzt lerne ich Visual Basic 2008
' -----------------------------------------------
Imports System.IO
Imports System.Text
Public Class Form1
Private Kennzeichen(), Ort() As String
Private Tippsdatei As String
Private actual As Char
Sub TippsEinlesen()
Kennzeichen = BereichEinlesen("Kennzeichen")
Ort = BereichEinlesen("Ort")
End Sub
Function BereichEinlesen(ByVal Bereich As String) As String()
Dim Zeile As String = String.Empty
Dim ZeilenNr As Integer = 0
Dim Zeilen() As String = {String.Empty}
Dim Gefunden As Boolean = False
Using Sr As New StreamReader(Tippsdatei, Encoding.ASCII)
While Not Sr.EndOfStream
Zeile = Sr.ReadLine
If Zeile.StartsWith(Bereich & "::") Then
Gefunden = True
Exit While
End If
End While
If Gefunden = False Then Return Nothing
' Jetzt bis zum nächsten Bereich oder Ende des Streams lesen
Do While Not Sr.EndOfStream
Zeile = Sr.ReadLine()
If Zeile.Contains("::") Then Exit Do
ReDim Preserve Zeilen(ZeilenNr)
Zeilen(ZeilenNr) = Zeile
ZeilenNr += 1
Loop
End Using
Return Zeilen
End Function
''' <summary>
''' Fügt dem ListView eine komplette Datenzeile hinzu
''' </summary>
''' <param name="lvw">ListView-Control</param>
''' <param name="Text">Parameterliste der einzelnen Zellenwerte</param>
Public Sub lvwAddItem(ByVal lvw As ListView, ByVal ParamArray Text() As _
String)
With lvw.Items
' 1. Eintrag hinzufügen
With .Add(Text(0))
If Text.Length > 1 Then
' String-Array für die weiteren Zellen erstellen...
Dim SubItems(Text.Length - 1) As String
Array.Copy(Text, 1, SubItems, 0, Text.Length - 1)
' ... und diese via AddRange dem ListView hinzufügen
.SubItems.AddRange(SubItems)
End If
End With
End With
End Sub
Private Sub Form_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
alle_lesen()
End Sub
Sub alle_lesen()
'Listview leeren
lvKennzeichen.Items.Clear()
lesen("A")
lesen("B")
lesen("C")
lesen("D")
lesen("E")
lesen("F")
lesen("G")
lesen("H")
lesen("I")
lesen("J")
lesen("K")
lesen("L")
lesen("M")
lesen("N")
lesen("O")
lesen("P")
lesen("Q")
lesen("R")
lesen("S")
lesen("T")
lesen("U")
lesen("V")
lesen("W")
lesen("X")
lesen("Y")
lesen("Z")
lvKennzeichen.Focus()
End Sub
Sub lesen(buchstabe As String)
Tippsdatei = buchstabe + ".txt"
TippsEinlesen()
Dim z As Integer = 0 'zählervariable
If Kennzeichen IsNot Nothing Then
Do Until z = UBound(Kennzeichen) + 1
lvwAddItem(lvKennzeichen, Kennzeichen(z), Ort(z))
z = z + 1 'z erhöhen um 1
Loop
End If
lvKennzeichen.Focus()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
Handles MyBase.Click, Button9.Click, Button8.Click, Button7.Click, _
Button6.Click, Button5.Click, Button4.Click, Button3.Click, _
Button26.Click, Button25.Click, Button24.Click, Button23.Click, _
Button22.Click, Button21.Click, Button20.Click, Button2.Click, _
Button19.Click, Button18.Click, Button17.Click, Button16.Click, _
Button15.Click, Button14.Click, Button13.Click, Button12.Click, _
Button11.Click, Button10.Click, Button1.Click
'Listview leeren
lvKennzeichen.Items.Clear() 'ListView leeren
lesen(sender.text.ToString) 'Kennzeichen einlesen
lvKennzeichen.Focus() 'Fokus auf ListView
End Sub
Private Sub Button27_Click(sender As System.Object, e As System.EventArgs) _
Handles Button27.Click
alle_lesen()
End Sub
Private Sub Form1_Resize(sender As System.Object, e As System.EventArgs) _
Handles MyBase.Resize
lvKennzeichen.Size = Me.Size
End Sub
End Class Visual Basic FTW!! |