visualbasic
Goto Top

Letzten Zeilumbruch aus Datei entfernen

Hallo
ich schreibe derzeit an einem Textverarbeitungsprogramm.
Jetzt ist mir aufgefallen, dass ich mit einem simplen
file.writealltext([pfad],richtextbox1.text,system.text.encoding.default)
das ganze nicht speichern kann, da er dann die Zeilumbrüche nicht mitmacht.

Nach einiger Zeit lesen bin ich dann auf
For Each zeile As String In RichTextBox1.Lines
            My.Computer.FileSystem.WriteAllText([pfad], zeile & vbNewLine, True, System.Text.Encoding.Default)
        Next
gekommen, was leider auch einen Schönheitsfehler enthält; denn jetzt ist in der Datei [pfad] an der Letzten Stelle ein vbnewline, welches unerwünscht ist.

Deshalb habe ich mir den folgenden Code zusammen gebastelt
File.WriteAllText([pfad], File.ReadAllText([pfad]).Remove(File.ReadAllText([pfad], System.Text.Encoding.Default).LastIndexOf(vbNewLine) - 1, 1), System.Text.Encoding.Default)
und wundere mich, warum es nicht geht...
Das mit dem
(vbnewline) -1
müsste ja eigentlich sein, da der Index ja bei 0 beginnt, oder?

Was habe ich also sonst falsch gemacht?
Oder gibt es einen einfacheren Weg, den Text einer RichBox 1 zu 1 zu speichern?

mfg Chris

Content-ID: 191301

Url: https://administrator.de/forum/letzten-zeilumbruch-aus-datei-entfernen-191301.html

Ausgedruckt am: 21.12.2024 um 08:12 Uhr

wiesi200
wiesi200 16.09.2012 um 14:31:06 Uhr
Goto Top
Hallo, so wirst du meiner Meinung nach eh schnell auf Probleme stoßen.
Da vermutlich alle deine Formatierungen nach dem Speichern weg sind.

Bei MSDN würde man eigentlich auch schon viele Codebeispiele finden.
http://msdn.microsoft.com/de-de/library/aa970917.aspx#Y605
visualbasic
visualbasic 16.09.2012 um 14:34:23 Uhr
Goto Top
Zitat von @wiesi200:
Hallo, so wirst du meiner Meinung nach eh schnell auf Probleme stoßen.
Da vermutlich alle deine Formatierungen nach dem Speichern weg sind.
Ich habe doch
System.Text.Encoding.Default
verwendet ...

Bei MSDN würde man eigentlich auch schon viele Codebeispiele finden.
http://msdn.microsoft.com/de-de/library/aa970917.aspx#Y605
msdn is mir zu schwer
wiesi200
wiesi200 16.09.2012 um 14:43:30 Uhr
Goto Top
Zitat von @visualbasic:
> Bei MSDN würde man eigentlich auch schon viele Codebeispiele finden.
> http://msdn.microsoft.com/de-de/library/aa970917.aspx#Y605
msdn is mir zu schwer

Na dann hast du doch ne Herausforderung wo du hin solltest.
Lies dir den Text mal durch für den Fall ist's ja wirklich überschaubar.
bastla
bastla 16.09.2012 um 14:47:39 Uhr
Goto Top
Hallo visualbasic!

Abgesehen von der angesprochenen Herausforderung (die Du annehmen solltest): Dass "vbNewline" durch 2 Zeichen repräsentiert wird, ist Dir bekannt?

Grüße
bastla
visualbasic
visualbasic 16.09.2012 aktualisiert um 14:55:02 Uhr
Goto Top
Zitat von @bastla:
Hallo visualbasic!

Abgesehen von der angesprochenen Herausforderung (die Du annehmen solltest): Dass "vbNewline" durch 2 Zeichen
repräsentiert wird, ist Dir bekannt?
Danke
ich habe es jetzt tauf
File.WriteAllText([pfad], File.ReadAllText([pfad]).Remove(File.ReadAllText([pfad], System.Text.Encoding.Default).LastIndexOf(vbNewLine), 2), System.Text.Encoding.Default)
umgewandelt und siehe da: Es funktioniert!
Vielen dank
mfg Christopher alias @visualbasic
Pjordorf
Pjordorf 16.09.2012 um 17:23:40 Uhr
Goto Top
Hallo,

Zitat von @visualbasic:
ich schreibe derzeit an einem Textverarbeitungsprogramm.
Sag uns rechtzeitig Bescheid wann dein neues Textverabeitungsprogramm fertig ist. Das müssen wir alle haben weil das wird bestimmt besser als MS Office und Co. sein. Selbst Wordstar dürfte dagegen verblassenface-smile

Gruß,
Peter
visualbasic
visualbasic 17.09.2012 um 06:27:36 Uhr
Goto Top
Zitat von @Pjordorf:
Hallo,

> Zitat von @visualbasic:
> ich schreibe derzeit an einem Textverarbeitungsprogramm.
Sag uns rechtzeitig Bescheid wann dein neues Textverabeitungsprogramm fertig ist. Das müssen wir alle haben weil das wird
bestimmt besser als MS Office und Co. sein. Selbst Wordstar dürfte dagegen verblassenface-smile
Das habe ich eigentlich für mich geschrieben, weil ich oft code brauche, der aus sehr vielen (fast) gleichen zeilen besteht oder aus 26 verschiedenen, bei dem im ersten "a" enthalten ist, im zweuten "b" und so weiter...

Chris alias @visualbasic
wiesi200
wiesi200 17.09.2012 um 07:27:05 Uhr
Goto Top
Morgen,

Drück mal nacheinander in Visual Studio
STRG + B
STRG + K

An so ein Problem hat auch Microsoft gedacht.
Da muss man nicht's selbst basteln.
visualbasic
visualbasic 17.09.2012 um 19:14:31 Uhr
Goto Top
Zitat von @wiesi200:
Morgen,

Drück mal nacheinander in Visual Studio
STRG + B
STRG + K
Was bringt mir der Code-Ausschnitt-Manager ?
wiesi200
wiesi200 17.09.2012 um 19:42:12 Uhr
Goto Top
Zitat von @visualbasic:
> Zitat von @wiesi200:
> ----
> Morgen,
>
> Drück mal nacheinander in Visual Studio
> STRG + B
> STRG + K
Was bringt mir der Code-Ausschnitt-Manager ?


Der ist dafür da das man Code den man oft verwendet in Visual Studio hinterlegen und bei Bedarf abrufen kann. Sollte sich eigentlich mit deiner Anforderung decken.

Wobei es für mich etwas merkwürdig anhört. Selber Code nur Unterschied durch a b usw. Bildest du so etwas eine Tastatur ab?
visualbasic
visualbasic 17.09.2012 um 20:55:28 Uhr
Goto Top
Ich habe mir schon einen Ordner mit den wichtigsten Snippets gemachts.
Naja und es kommt öfters vor, dass man z.B. ein Liste in einer Textdatei hat mit 100 Zeilen und möchte die dann in eine ExcelTabelle einfügen ==> Da hilft normal nur C&P aber das dauert...
@visualbasic