Textbox auslesen und ersetzen

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Textbox auslesen und ersetzen

    Servus Leute,

    Ich habe ein kleines Problem bekomme es dennoch nicht in den Griff.
    Ich habe ein kleines Prog dass eine Textdatei ausließt und mir in einer Textbox den Text anzeigt.
    Nun zum Problem, in der Textdatei die ich auslese kommen öfters umlaute wie: Häuser, Löten vor.
    Diese Umlaute möchte ich egal in welchen Wort diese vorkommen in ö wie oe oder ä wie ae umschreiben automatisch.
    Ich habe stundenlang ( ohne Mist ) dass Netz durchforstet kam aber zu keinem Ergebnis ( eventuell falsch gesucht ?) dann habe ich dieses Forum gefunden und mir gedachte ich Frage hier mal an.

    Ich hoffe es kann mir jemand Helfen, Danke!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „TheCodeGeR“ ()

    Dazu braucht man minimale Grundlagen.
    Also ich könnte dir eine Methode schreiben, der übergibst du den "dreckigen" String, und sie gibt dir den bereinigt zurück.
    Aber würde dir das helfen, oder muss ühaupt erst geklärt werden, was mit soner Methode zu machen wäre?

    Zu den Begriffen: Grundlagen: Fachbegriffe
    @TheCodeGeR Willkommen im Forum. :thumbup:
    Die Frage ist wohl, mit welchem Encoding die Texte auf der Festplatte abgelegt wurden.
    Teste mal so was:

    VB.NET-Quellcode

    1. TextBox1.Text = System.IO.File.ReadAllText(DEIN_PFAD, System.Text.Encoding.Default)
    2. ' oder
    3. TextBox1.Text = System.IO.File.ReadAllText(DEIN_PFAD, System.Text.Encoding.UTF8)


    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    ErfinderDesRades schrieb:

    Dazu braucht man minimale Grundlagen.
    Also ich könnte dir eine Methode schreiben, der übergibst du den "dreckigen" String, und sie gibt dir den bereinigt zurück.
    Aber würde dir das helfen, oder muss ühaupt erst geklärt werden, was mit soner Methode zu machen wäre?

    Zu den Begriffen: Grundlagen: Fachbegriffe


    Danke für deinen Kommentar. Ich habe schon etwas probiert, und zwar:

    Habe ich einen Text in die Textbox eingefügt:

    Türnotöffnung bla bla Türe öffnen und wieder Schließen ( Frei erfunden )

    Habe angeben das er ü mit ue ersetzen soll und ö mit oe und ß mit ss, leider aber löscht er den ganzen Satz und schreibt dann nur ue in die Textbox, also ich habe völlig daneben gehauen, bin auch ehrlich dass ich kein Skiller bin was Programmieren angeht. Die Funktion soll ja aber nur die Umlaute auswechseln und nix weiteres.
    Es wäre schon toll wenn du mir da behilflich sein kannst.

    @RodFromGermany

    vielen Dank.

    Das ist auch ein variante bringt mir nur nix, da wir - wenn wir einen Einsatz empfangen dass ganze an unsere MySQL datenbank senden, was soweit auch geht aber es werden keine Umlaute angezeigt somit benötige ich wie auch immer eine funktion was die werte: ö,ä,ü,ß umschreibt egal welche länge der Text hat usw.

    Danke noch mal!

    Ich stelle mir das so vor:

    Es kommt ein Einsatz, das kleine Programm wird angesprochen: ließt eine Textdatei aus, und ändert bei bedarf die Umlaute in ae,oe usw ab. Das wäre die beste lösung für uns!

    TheCodeGeR schrieb:

    an unsere MySQL datenbank senden
    Fang mal an und poste eine vollständige Problembeschreibung.
    Datenbanken haben kein Problem mit Umlauten, die DB und Dein Programm müssen nur dieselbe Codierung verwenden :!:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    TheCodeGeR schrieb:

    an unsere MySQL datenbank senden
    Fang mal an und poste eine vollständige Problembeschreibung.
    Datenbanken haben kein Problem mit Umlauten, die DB und Dein Programm müssen nur dieselbe Codierung verwenden :!:


    Das ist schon alles soweit fertig und funktioniert mit der Übertragung zur Datenbank. Wie gesagt text ohne Umlaute funzen, kommen aber Umlaute funtzt dies nicht.
    Deswegen ist dies mir die einzige Lösung die Umlaute um zu ändern, und das würde auch das Problem beheben leider habe ich aber keine Idee wie.

    Die Textbox ließt einen Text von Einsätze.txt aus, diese Meldung wird dann eine MySQL Datenbank Übertragen ( Funktinoiert prima ). Stehen aber bei den ausgelesen Text aus der Einsätze Wörter wie: Türnotöffnung oder Türe Schließen, wir nix mehr angezeigt auf unsere App & dass aber wie schon gesagt nur bei Umlauten. Ädnere ich diese ab zum Beispiel: Tuernotoeffnung funktioniert alles prima. Des wegen wie schon paar mal gesagt^^ Suche ich ein Lösung diese zu Ändern automatisch.
    1. Willst du Dinge in einem String ersetzten geht das mit String.Replace("","")
    2. Wähle das korrekte Encoding (siehe Post von Rod), was Punkt 1 überflüssig machen würde
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    TheCodeGeR schrieb:

    Das ist schon alles soweit fertig
    Offensichtlich nicht, denn die Umlaute funktionieren nicht.
    Wie werden Umlaute in der DB codiert?
    Poste mal eine Datei mit nem DB-Text, in dem Umlaute vorkommen (dann können wir ggf. die Codierung ermitteln).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @mrMo

    [quote='mrMo',1. Willst du Dinge in einem String ersetzten geht das mit String.Replace("","")2. Wähle das korrekte Encoding (siehe Post von Rod), was Punkt 1 überflüssig machen würde[/quote]

    Das mit String Replace habe ich getan. Hat aber nicht gefuntzt bei einer ganzen Meldung wurde alles entfernt und es stande nur noch oe da.Hier mal der Java Code von unsere App, eventuell hilft das ja:

    RodFromGermany schrieb:

    Zitat von TheCodeGeR: „Das ist schon alles soweit fertig“Offensichtlich nicht, denn die Umlaute funktionieren nicht.
    Wie werden Umlaute in der DB codiert?
    Poste mal <span style="text-decoration: underline"><b>eine Datei</b></span> mit nem DB-Text, in dem Umlaute vorkommen (dann können wir ggf. die Codierung…




    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TheCodeGeR“ ()

    Das mit String Replace habe ich getan. Hat aber nicht gefuntzt


    Dann hast du es falsch gemacht. Das ist aber auch gar nicht der korrekte Weg. Denn der wäre das korrekte Encoding zu verwenden.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @TheCodeGeR Keinen Code, sondern einen Datenbank-typischen Text mit Umlauten, den Du in eine Datei packst, damit der Umweg über das Forum das Encoding nicht vermatscht.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wie gesagt, wenn es nicht klappt, dann machst du es halt einfach falsch...

    Mal abgesehen davon, dass die Replace Variante hier einfach die falsche Lösung ist, könntest du auch einfach etwas Engagement zeigen und die google Suche verwenden um dein Problem selbst zu lösen.

    Schau da mal rein: msdn.microsoft.com/de-de/library/fk49wtc1(v=vs.110).aspx
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    mrMo schrieb:

    Wie gesagt, wenn es nicht klappt, dann machst du es halt einfach falsch...

    Mal abgesehen davon, dass die Replace Variante hier einfach die falsche Lösung ist, könntest du auch einfach etwas Engagement zeigen und die google Suche verwenden um dein Problem selbst zu lösen.

    Schau da mal rein: msdn.microsoft.com/de-de/library/fk49wtc1(v=vs.110).aspx



    So habe es hinbekommen. Danke :* Und nicht immer gleich so Unsportlich sein, Danke Danke :*

    TheCodeGeR schrieb:

    nicht immer gleich so Unsportlich sein


    Oh, ich denke ich bin sehr sportlich zu dir gewesen:

    Jetzt hast du gelernt (hoffe ich zumindest) wie man String.Replace() richtig anwendet. Zusätzlich kennst du jetzt MSDN. Dort ist nen Haufen Zeug dokumentiert.

    Aber wenn dir oben ein paar Smilys gefehlt haben, und meine Antwort daher unhöflich rüber kam, bekommste hier extra Smilys -> :) ;) :P
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    TheCodeGeR schrieb:

    ErfinderDesRades schrieb:

    Also ich könnte dir eine Methode schreiben, der übergibst du den "dreckigen" String, und sie gibt dir den bereinigt zurück.
    Aber würde dir das helfen, oder muss ühaupt erst geklärt werden, was mit soner Methode zu machen wäre?...
    Danke für deinen Kommentar. Ich habe schon etwas probiert, und zwar:
    ...
    Ich bin bisserl ungehalten.
    Ich stelle dir eine Frage, bekomme ein Danke für meinen Kommentar, aber keine Antwort.

    Liest du die Posts eiglich auch?