[VB6 / VB.NET] Dateien Speichern / Lesen

  • Also Leute ich erkläre euch kurz wie man mit einem simplen Code Dateien in Visual Basic 6 und Visual Basic.NET Speichern und Lesen kann


    Inhalt des Tutorials:


    - VB 6 Schreiben
    - VB 6 Lesen
    - VB.NET Schreiben
    - VB.NET Lesen



    VB 6 Schreiben:


    Code
    Dim Meintext as String
    Meintext = "Text bla"
    Open "meinedatei.txt" For Output As #Dateinummer
    print #Dateinummer,Meintext
    close #Dateinummer


    Also Erste Zeile , eine Variable die meinen Inhalt enthält, Zweite Zeile der Inhalt wird zugewiesen.
    Dritte Zeile , Ich öffne meine Datei (wenn nicht vorhanden wird sie erstellt).
    Ich öffne meine Datei als Output = Ausgabe und weise meinem vorgang bzw. meiner Datei eine nummer zu,
    also statt Dateinummer kann da jetzt jede Zahl stehen #1 oder #2 aber immer beachten die nummer darf sich bis zum schließen der
    Datei nicht ändern da die Informationen wie Pfad angabe oder Typ in diesen Zahlen abschnitt gespeichert werden
    Ok, Vierte Zeile , ich schreibe meinen Inhalt in die Datei , erst die Dateinummer , dann mein inhalt.
    Die letzte Zeile, die Datei wird geschlossen bzw. der vorgang wird beendet, somit wird die Datei nicht mehr vom Programm benutzt
    Achtung: Bei einem schreibvorgang kann mehrmals Print verwendet werden, denn der inhalt wird nicht überschrieben, es wird einfach was
    hinzugefügt. Um die Datei zu überschreiben kann man einen neuen vorgang verwenden


    VB 6 Lesen:


    PHP
    Dim Rein_damit as String
    Open "datei.txt" for input as #Dateinummer
    input #Dateinummer,Rein_damit
    close #Dateinummer


    So ich verwende eine variable namens ,,Rein_damit´´ diese nehme ich dazu um Später darin den inhalt wiederzugeben.
    Als allererstes öffne ich meine Datei, die muss evntl. mal exestieren ;) , ich öffne sie im Modus input , damit holt man sich die Daten
    aus der Datei , ich lege wieder eine Dateinummer fest, bei mir steht dort nur Dateinummer, da kann jetzt eine Zahl von 0-bis iwas stehen(#1,#2,#3...).
    diese Datei sollte beim lesen immer gleich bleiben , da dort Pfadangabe und Modus gespeichert werden.
    So ich hole mir mit input meine Daten, input #1,Rein_damit . jetzt werden daten aus z.b. Dateinummer #1 die ihr verwendet hattet als Dateinummer (anzunehmen^^) in die Variable Rein_damit geholt, aber er liesst nur die erste Zeile der Datei , das heißt ihr müsstet nochmal input verwenden um die Zweite zu lesen, aber dazu gibt es eine Lösung:


    Code
    Rein_damit = Input(LOF(#1), #1)


    also diesmal packt er den ganzen inhalt in die variable , also input um die Datei zu lesen , dann LOF = Length of File , Dateinummer in klammern damit
    er weiss welche Datei und wieder die Dateinummer so.



    So kommen wir zu: VB.NET

    VB.NET Schreiben:


    Code
    Dim Writer As New IO.StreamWriter("Dateiname.txt")
    Writer.Write("Meintext")
    Writer.Close()


    Also , erstmal erstellen wir eine Variable die auf einen neuen StreamWriter verweist, der sollte dazu
    zuständig sein um eine Datei zu erstellen und sie zu beschreiben.
    also wir schreiben was in die datei, im Prinzip wie in der 6. Version von VB bzw. der 1998er Version , dort wird eine Dateinummer
    verwendet um die Daten zu erhaschen , hier verwenden wir eine Variable, dort können wir dann bestimmte Optionen wählen, bei
    diesem exemplar brauchen wir Write, also schreibe ich in meine Datei ,,Meintext" , danach wird sie simple wieder geschlossen.
    so wollte ich jetzt nur eine Linie schreiben nutze ich dies


    Code
    Writer.WriteLine("Meintext")


    Fertig ^^



    VB.NET Lesen:


    Code
    Dim READ As String
    Dim Reader As New IO.StreamReader("Dateiname.txt")
    READ = Reader.ReadToEnd()
    Reader.Close()


    So eine Variable um meinen inhalt abzurufen und noch eine Variable die auf einen neuen StreamReader verweist.
    so danach nehmen wir READ und lassen ihn den inhalt aus der Datei wiedergeben, das geht mit der Option ReadToEnd().
    So wird der komplette inhalt der Datei wiedergegeben. Wollt ihr nur eine Linie lesen geht das mit ReadLine().
    er liesst dann nach reihenfolge, würdet ihr in den Vorgang nochmal ReadLine einbauen würde er nach und nach weiterzählen
    und immer zur nächsten Linie springen.


    So , sollte es noch fragen zu den Funktionen geben, stellt diese in diesem Post ^^
    Ansonsten , viel Spaß beim ausprobieren ;)

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • So speichert er aber keinen variablen Text in einer datei, sondern nur eine datei ohne endung mit dem text"Mein Text" in der variable "Dateinamen" also nichts variables

  • Dateiname kann man durch verändern des Strings bestimmen bzw. kannst auch deine Variablen nutzen , Verbinden etc.


    z.b.


    Textbox1.text & ".txt" usw. halt variable wählbar


    oder auch den Inhalt der Datei kann man variable bestimmen, das sind nur Simple beispiele

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Dim FileDialog as new OpenFileDialog
    FileDialog.Filter = "Textdatei|*.txt"
    FileDialog.Title = "Text Öffnen..."



    if FileDialog.ShowDialog = Windows.Forms.DialogResult.OK then


    ' Aktion ausführen


    end if


    sowas ? ^^

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Wie ich es gezeigt hab, nur als Dateiname halt : FileDialog.Filename
    dann übernimmt er den Dateinamen aus dem Dialog, der bestätigt wurde,
    und dann nur noch oben das tut gründlich durchlesen ^^

    Mfg. BlackFoX_UD_ alias [BFX]Explosion