Einträge in txt Datei untereinander

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    Einträge in txt Datei untereinander

    Hallo liebe Leute

    Ich muss mich schon fast schämen, das ich diese Frage stelle. Ich habe es schon mehrfach gemacht aber ich komme zum verrecken nicht mehr drauf (Brett vorm Kopf)
    Folgendes Problem:
    ich habe mehrere Button die jeweils einen anderen Eintrag in ein und der selben txt , untereinander vornehmen sollen.

    Quellcode

    1. My.Computer.FileSystem.WriteAllText("datei.txt", "100GH34", True)


    soweit für mich klar....
    klick ich mehrmals auf den Button oder einen anderen, sind die Einträge neben einander , sollten allerdings untereinander.
    Wie bekomme ich es nochmal hin um zu prüfen welche die letzte frei Zeile in meiner txt ist.

    Danke Euch im vorraus

    Verschoben. ~Trade

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

    Wirf den My-Namespace raus, der ist Ranz. Nimm stattdessen ​System.IO.
    msdn.microsoft.com/de-de/library/dd383691(v=vs.110).aspx

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @Otti Nimm

    VB.NET-Quellcode

    1. File.AppendAllText(DATEI, DEIN_TEXT)
    2. File.AppendAllText(DATEI, Environment.NewLine)
    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!
    Hallo zusammen...
    ​Danke nochmal für Eure Hilfe.
    ​Habe allerdingsnoch ein Problem, möchte gerne die Einträge aus der txt, die nun untereinander eingetragen sind auslesen und nacheinander in einem Label anzeigen lassen.
    ​Sprich die erste zeile aus der txt, 2 Sekunden später die zweite zeile aus der txt, usw.
    ​wenn die letzte zeile erreicht ist soll alles wieder von vorne anfangen.....

    Habe keinen Ansatz wie ich das lösen soll....wer kann helfen von euch????

    ​Danke im Vorraus

    Quellcode

    1. Dim lesen As String = File.ReadAllText("datei.txt")
    2. zuletzthinzugefugt.Text = lesen


    soweit klar...allerdings wird mir nur der erste eintrag gezeigt.
    Hat wer eine Idee?

    Wie ich welche zeile auslese ist auch bekannt.

    Quellcode

    1. Dim lesen() As String = IO.File.ReadAllLines("datei.txt")
    2. Einkaufsliste.Text = lesen(1)'gewünschte zeile aus der txt


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

    ReadAllText packt alles in den String, inklusive Zeilenumbrüche. An denen musst Du passend splitten und mit dem Bruchstücken wieterarbeiten. Oder gleich mit ReadLines arbeiten, wodurch Du eben ein Array aus Strings bekommst, wobei jeder String einer Dateizeile entspricht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    So aus'm Kopf heraus:

    VB.NET-Quellcode

    1. Private CurrentLine As Integer = 0, TextLines As List(Of String) = Nothing
    2. Private Sub LoadAllTextLinesFromFile()
    3. TextLines = IO.File.ReadAllLines("YourFile").ToList
    4. End Sub
    5. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    6. Label1.Text = TextLines(CurrentLine)
    7. CurrentLine = (CurrentLine + 1) Mod TextLines.Count
    8. End Sub

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Das dürfte darauf hinweise, dass TextLines noch nix ist. Wenn der Fehler auftaucht, schieb den Mauszeiger auf TextLines, dann müsste Dir angezeigt werden, welchen Wert TextLines hat. Und ich tippe auf Nothing. Mit einer Variable, die den Wert Nothing hat, kann man fast nur genau das machen: Nothing. Was anderes, was man z.B. mit so einer Variable machen kann, ist ihren Wert zu ändern, und zwar mit einer Zuweisung, z.B. wie sie in der Sub LoadAllTextLinesFromFile ist. Kann es sein, dass Du vergessen hast, vorher erstmal diese Sub aufzurufen, damit in TextLines erstmal überhaupt was reingeladen wird?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hi
    noch eine Randanmerkung: Wenn du die Datei nicht als Liste benötigst, solltest du nur ein Array behalten (d.h. das ToList weglassen und den Typen des Feldes TextLines As List(Of String) auf String() anpassen). Wenn du weitere Inhalte hinzufügst, Zeilen löscht, usw. kannst du aber durchaus auf die Liste zurückgreifen. Falls nicht, ist es eigentlich nur weiterer Overhead und das Array verkompliziert das Programm nicht weiter.

    Viele Grüße
    ~blaze~