txt anlegen mit text..^^

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Planewandane.

    txt anlegen mit text..^^

    hallo
    hab hier ein problem im code..auf klick von "buttonX" erstellt er den ordner "Settings" und die text datei "settings.txt", ich brauche aber noch den text aus der RichTextBox1 in der "settings.txt" datei..
    wie baue ich hier ein,

    VB.NET-Quellcode

    1. If My.Computer.FileSystem.DirectoryExists(My.Application.Info.DirectoryPath & "\Settings" & "\settings.txt") = False Then
    2. My.Computer.FileSystem.CreateDirectory(My.Application.Info.DirectoryPath & "\Settings" & "\settings.txt.")


    dass er in der "settings.txt" datei den text der "RichTextBox1" (zeilen) schreibt und speichert?
    und pls mit kurzer beschreibung.. (wie/wo/warum) :D

    mfg
    Entweder mit Streamwriter oder IO.File.WriteAllText.

    Versuchst du damit

    VB.NET-Quellcode

    1. My.Computer.FileSystem.CreateDirectory(My.Application.Info.DirectoryPath & "\Settings" & "\settings.txt.")


    eine Datei anzulegen? Damit wirst du einen Ordner anlegen, mal abgesehen zweifle ich daran, ob der Code funktioniert.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    VB.NET-Quellcode

    1. Using sw As StreamWriter = New StreamWriter("test.txt")
    2. sw.WriteLine("text")
    3. End Using


    Mehr gibt es hier.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    Planewandane schrieb:

    My.Computer.FileSystem.CreateDirectory(My.Application.Info.DirectoryPath & "\Settings" & "\settings.txt.")


    Damit sollte er ein Verzeichnis erstellen welches am Ende \settings.txt hat.

    Ist bestimmt nicht so geplant.

    OK Texte in Dateien schreiben geht dann so


    (Text-) Dateien einlesen

    Das hier ist so ziemlich eines der simpelsten Tutorials hier, aber vielleicht kann ein Anfänger ja was daraus lernen. Um den gesamten Inhalt einer Textdatei auszulesen, geht man so vor:

    VB.NET-Quellcode

    1. Dim inhalt As String = IO.File.ReadAllText("die_datei.txt")


    Vielleicht kennen einige auch My.Computer.FileSystem.ReadAllText - letztendlich dasselbe.

    Nun zur nächsten Methode: Readalllines ermöglicht es, alle Zeilen einer Datei einzeln in einem (String-) Array zu speichern. Beispiel:

    VB.NET-Quellcode

    1. Dim lines() As String = IO.File.ReadAllLines("die_datei.txt")


    Gut - jetzt enthält lines(0) die erste Zeile, lines(1) die zweite und so weiter und so weiter. Man sollte allerdings beachten, dass man den maximalen Index nicht überschreitet, den man entweder über das etwas ältere Ubound oder über die neue Methode .Length bekommt:

    VB.NET-Quellcode

    1. Dim max As Integer = lines.Length


    Damit kann man schon etwas mehr machen, etwa eine eigene Trennzeichenbasierte Datenbank in einer Schleife einlesen (für jeden Datensatz eine Zeile, dann innerhalb jeder Zeile trennen), oder nur bestimmte Zeilen wie zum Beispiel nur jede zweite lesen.

    Die dritte Methode wäre der Streamreader.

    VB.NET-Quellcode

    1. Dim strr As New IO.File.StreamReader(New IO.FileStream("die_datei.txt", IO.FileMode.Open))


    oder auch einfach

    VB.NET-Quellcode

    1. Dim strr As New IO.File.StreamReader("die_datei.txt")


    Mit der Methode "Read" bzw. "ReadLine" wird jeweils immer aus der Datei gelesen. Danach muss der Streamreader geschlossen werden - mit der Close-Methode. Dies wird oft vergessen und ein äußerst blöder Fehler.

    Man sollte darauf achten, wann man welche Methoden am besten benutzt. Vor allem bei größeren Dateien kann es je nachdem sogar für die Performance entscheidend sein.

    Text-) Dateien schreiben

    Wieder ein sehr simples Tutorial, aber die gehören ja auch dazu ;) Um einen String in eine Datei zu schreiben, geht man so vor:

    VB.NET-Quellcode

    1. IO.File.WriteAllText("die_datei.txt", "inhalt")


    Vielleicht kennen einige auch My.Computer.FileSystem.WriteAllText - das ist genau dasselbe.

    Alternativ möchte ich hier noch den Streamwriter vorstellen - das genaue Gegenteil vom Streamreader.

    VB.NET-Quellcode

    1. Dim strw As New IO.StreamWriter("die_datei.txt", False)


    "False" gibt hierbei an, dass der Inhalt der Datei überschrieben werden soll. Falls hier True angegeben wird, wird der Inhalt lediglich an die Datei angefügt. Mit der Methode "Write" oder "Writeline" kann geschrieben werden. Um "zwischenzuspeichern", benutzt man Flush. Wenn das schreiben abgeschlossen ist, muss der Streamwriter geschlossen werden. Dieser Fehler wird äußerst gerne begangen.

    Man sollte immer darauf achten, wann man welche Methoden am besten benutzt.
    Wenn man zum Beispiel Array´s speichern möchte, kann man entweder mit einem Streamwriter arbeiten oder aber auch
    einen Stringbuilder mit der Methode Appendline benutzen, und das ganze anschließend mit WriteAllText in die
    Datei schreiben - diese Entscheidung sei jedem selbst überlassen.


    Ist nicht von mir.
    ich habe es noch gefunden. puhh
    VCWare

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

    Bernd, schreib das besser mal in die Tipps-Sektion. Da lässt sich wohl besser und mit anständiger Formatierung drauf verlinken ;)
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Dann halt einen Link wo du es herhast^^
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    hm kann man das nicht gleich hier einbauen? weil müsste sonst ziemlich viel vom code abändern... geht unten noch weiter ;D

    aso mit dem code von mir überprüft er beim einloggen ob der ordner Settings vorhanden ist und die datei settings.txt, ist es nicht der fall erstellt er einen ordner mit dem namen settings und einer txt datei darin mit dem namen settings.txt (mehrmals ausprobiert, funktioniert 100%) ;D

    aber statt ne leere settings.txt müsste er nun eben den text aus der richtextbox reinschreiben und mit seichern..
    geht das nicht so?

    und vielen dank für infos, werde in zukunft sicher mal darauf zurückgreifen..
    Guck dir meinen Code an und arbeite ihn entsprechend um, sodass er die Datei mit dem richtigen Namen und Inhalt schreibt.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    Planewandane schrieb:

    und vielen dank für infos, werde in zukunft sicher mal darauf zurückgreifen..

    Das solltest du Direkt tun.

    Ersetze einfach mal TextBox1.Text in RichtextBox1.Text dann bist du doch schon am Ziel.
    Fertigen Code werde ich dir nicht geben.

    wann willst du denn darauf schauen ? willst du das Programm jetzt schreiben oder irgendwann mal ?
    ups^^
    die settings.txt wurde durch einen anderen befehl ausgelöst, nun gelöscht und jetzt macht er den unterordner, wie er eigentlich nach befehl auch machen müsste, war aber wirklich nicht mein ziel.. hatte bisschen durcheinander im code, nun aufgeräumt, doch problem besteht immernoch..

    Ersetze einfach mal TextBox1.Text in RichtextBox1.Text dann bist du doch schon am Ziel.
    wo meinst du? check das ned ganz, weil sehe niergendswo ne textbox..
    und fertigen code brauchst du mir nicht zu geben.. will schliesslich auch was lernen^^ ;D