Hallo Gemeinde,
ich versuche hier mit VB2008Express eine Textdatei einzulesen und den Inhalt in eine Listbox zu schreiben.
Funktioniert alles bis auf die Umlaute, die werden durch ein Rechteck ersetzt.
Gibt's dafür eine Lösung?
Der Quellcode steht unten
Danke schon mal
swirfel
Private Sub listbox_fuellen() 'Form1_Load(ByVal sender As Object, ByVal e As
' System.EventArgs) Handles Me.Load
Const DATEINAME As String = "c:\blackboard\transfer.txt"
' --- Datei öffnen
Dim fs As FileStream = New FileStream(DATEINAME, FileMode.OpenOrCreate, _
FileAccess.ReadWrite)
Dim mass As Integer
Dim steht As String
Dim i As Integer
Dim umbruch As String
Dim umbruch2 As String
Dim suchtext As String
Dim ersterteil As String
Dim zweiterteil As String
Dim dritterteil As String
Dim j As Integer
' --- Stream öffnen
Dim r As StreamReader = New StreamReader(fs)
' --- Zeiger auf den Anfang
r.BaseStream.Seek(0, SeekOrigin.Begin)
' --- Alle Zeilen lesen und an Console ausgeben
j = 1
While r.Peek() > -1 Or j = 13
'say(r.ReadLine())
steht = r.ReadLine()
suchtext = " "
mass = Len(steht)
If mass > 37 Then
If mass < 64 Then
i = 37
Do
umbruch = InStr(i, steht, suchtext)
i = i - 1
Loop Until umbruch <> 0
ersterteil = Mid(steht, 1, umbruch)
ListBox1.Items.Add(ersterteil)
j = j + 1
umbruch = umbruch + 1
zweiterteil = Mid(steht, umbruch, mass)
zweiterteil = " " & zweiterteil
ListBox1.Items.Add(zweiterteil)
j = j + 1
Else
i = 37
Do
umbruch = InStr(i, steht, suchtext)
i = i - 1
Loop Until umbruch <> 0
'MsgBox(umbruch)
ersterteil = Mid(steht, 1, umbruch)
ListBox1.Items.Add(ersterteil)
j = j + 1
umbruch = umbruch + 1
i = 64
Do
umbruch2 = InStr(i, steht, suchtext)
i = i - 1
Loop Until umbruch2 <> 0
zweiterteil = Mid(steht, umbruch, umbruch2)
zweiterteil = " " & zweiterteil
ListBox1.Items.Add(zweiterteil)
j = j + 1
'Dritte Zeile
dritterteil = Mid(steht, umbruch2, mass)
dritterteil = LTrim(dritterteil)
dritterteil = " " & dritterteil
ListBox1.Items.Add(dritterteil)
j = j + 1
'MsgBox(umbruch)
End If
Else
ListBox1.Items.Add(steht)
j = j + 1
End If
End While
' --- Reader und Stream schließen
r.Close()
fs.Close()
End Sub |