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-Key: 256368

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

Printed on: April 19, 2024 at 06:04 o'clock

Member: rrobbyy
rrobbyy Dec 01, 2014 at 13:49:05 (UTC)
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?
Member: colinardo
colinardo Dec 01, 2014 updated at 13:52:47 (UTC)
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
Member: colinardo
Solution colinardo Dec 01, 2014, updated at Dec 04, 2014 at 23:01:29 (UTC)
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
Member: soritose
soritose Dec 04, 2014 at 23:01:22 (UTC)
Goto Top
Sory hatte ich falsch geschrieben doch es ist ein Label

danke jest geht es