soritose
Goto Top

Auslesen aus dateien und sonderzeichen darstellen

Hallo der sori wieder

habe mal wieder ein Problem

ich möchte aus einer txt Datei was auslesen und in ein Text.box da stellen

das geht auch so weit alles nur jest kommt der kleine Fehler ich kann ein bestürmtes zeichne nicht darstellen

& das gibt er nicht aus

in der txt Datei ist das drin

Law & Order: New York
und in der Text.Box gibt er das aus
Law Order: New York

 Dim Daten_lesen() As String = System.IO.File.ReadAllLines(TextBox1.Text, System.Text.UTF8Encoding.Default)
            ltitel1.Text = Daten_lesen(6)

Dim Daten_lesen() As String = System.IO.File.ReadAllLines(TextBox1.Text, System.Text.UnicodeEncoding.Default)
            ltitel1.Text = Daten_lesen(6)

Dim Daten_lesen() As String = System.IO.File.ReadAllLines(TextBox1.Text, System.Text.Encoding.Default)
            ltitel1.Text = Daten_lesen(6)

Dim Daten_lesen() As String = System.IO.File.ReadAllLines(TextBox1.Text)
            ltitel1.Text = Daten_lesen(6)

ich habe es mit allen 4 Varianten versuch immer das selbe Ergebnis

wie kann ich das & aus geben

Content-ID: 256368

Url: https://administrator.de/contentid/256368

Ausgedruckt am: 24.11.2024 um 08:11 Uhr

rrobbyy
rrobbyy 01.12.2014 um 14:49:05 Uhr
Goto Top
Es ist gut zu wissen, welche Programmiersprache du verwendest. Ich vermute mal vb.net

Der Code funktioniert bei mir unter Visual Studio 2013 mit .net 4.5...


Das System.IO liest alle Zeilen in ein Array. Das Ding unterscheidet nicht nach irgendwelchen Zeichen und filtert raus. Kann es sein, dass in der Datei das &-Zeichen falsch codiert ist?
colinardo
colinardo 01.12.2014 aktualisiert um 14:52:47 Uhr
Goto Top
Moin soritose,
dann benutzt deine Textdatei vermutlich ein anderes Encoding.

Versuche mal das Encoding über diese Hilfs-Funktion dem zweiten Parameter zu übergeben:
Sub Test()
  Dim strMyFile As String = "C:\temp\test.txt"  
  TextBox1.Text = System.IO.File.ReadAllLines(strMyFile, GetFileEncoding(strMyFile))(6)
End Sub

Public Function GetFileEncoding(filePath As String) As System.Text.Encoding
    Dim sr As System.IO.StreamReader = New System.IO.StreamReader(filePath, True)
    sr.Read()
    Return sr.CurrentEncoding
End Function
p.s. das ist nur eine simple Methode zum erkennen des Encodings, eine zuverlässigere Methode die das BOM auswertet, findest du hier:
http://stackoverflow.com/questions/18915633/determine-textfile-encoding

Grüße Uwe
colinardo
Lösung colinardo 01.12.2014, aktualisiert am 05.12.2014 um 00:01:29 Uhr
Goto Top
Ich hoffe mal nicht das du mit deiner "Textbox" einen Label meinst ! Bei diesen ist das UND-Zeichen(&) besonders zu betrachten, denn dort muss es verdoppelt werden, damit es angezeigt wird, da es normalerweise einen ALT-Shortcut-Key einleitet.

Grüße Uwe
soritose
soritose 05.12.2014 um 00:01:22 Uhr
Goto Top
Sory hatte ich falsch geschrieben doch es ist ein Label

danke jest geht es