VB 5/6-Tipp 0497: Speichern und Laden von Dateien mittels FSO
von Sandro Bosshard
Beschreibung
Zeigt wie man schnell und einfach mit Hilfe des File-System-Objekts (FSO) Werte in eine Datei schreibt, und diese wieder ausliest.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '--------- Anfang Projektdatei Daten_speichern.vbp --------- ' Es muss ein Verweis auf 'Microsoft Scripting Runtime' gesetzt werden. '------- Anfang Formular "frmMain" alias frmMain.frm ------- ' Steuerelement: Timersteuerelement "tmrTimer" ' Steuerelement: Schaltfläche "cmdLaden" ' Steuerelement: Rahmensteuerelement "fraLaden" ' Steuerelement: Textfeld "txtLaden" auf fraLaden ' Steuerelement: Schaltfläche "cmdSpeichern" ' Steuerelement: Rahmensteuerelement "fraSpeichern" ' Steuerelement: Textfeld "txtDateiname" auf fraSpeichern ' Steuerelement: Beschriftungsfeld "lblPath" auf fraSpeichern ' Steuerelement: Beschriftungsfeld "lblEndung" auf fraSpeichern 'Hinweis 'Unter Verweise muss die Microsoft Scripting Runtime 'aktiviert sein. 'Autor: Sandro Bosshard 'Kontakt: webmaster@link-it.ch Option Explicit 'Variablen Dim fso As FileSystemObject Dim ts As TextStream Dim str As String Private Sub Form_Load() lblPath.Caption = App.Path & "\" End Sub Private Sub cmdSpeichern_Click() 'Neues Object anlegen Set fso = CreateObject("Scripting.FileSystemObject") 'Methode CreateTextFile des FileSystemObject-Objekts (Gegenstück: OpenTextFile) 'gibt ein Textstream-Objekt zurück Set ts = fso.CreateTextFile(App.Path & "\" & txtDateiname.Text & lblEndung.Caption) 'Verschiedene Methoden des CreateTextFile-Objekts ts.WriteLine "WriteLine Schreibt eine Zeile und hängt einen Zeilenumbruch an (vbCrLf)" ts.Write "Write Schreibt eine vorgegebene Anzahl Zeichen ohne Zeilenumbruch" 'Schreibt eine gewisse Anzahl (hier 3) an leeren Zeilen (Zeilenumbrüche) in eine Datei ts.WriteBlankLines 3 'Datei schliessen (Jede Datei muss geschlossen werden!) ts.Close End Sub Private Sub cmdLaden_Click() 'Neues Object anlegen Set fso = CreateObject("Scripting.FileSystemObject") 'Methode OpenTextFile gibt ein Textstream-Objekt zurück Set ts = fso.OpenTextFile(App.Path & "\" & txtDateiname.Text & lblEndung.Caption) str = ts.ReadAll 'Alles lesen ts.Close 'Datei schliessen txtLaden.Text = str End Sub Private Sub tmrTimer_Timer() Set fso = New FileSystemObject 'Die FileExists-Methode prüft, ob eine Datei vorhanden ist Select Case fso.FileExists(App.Path & "\" & txtDateiname.Text & lblEndung.Caption) Case True cmdLaden.Enabled = True Case False cmdLaden.Enabled = False End Select 'Neben der FileExists-Methode unterstützt das FileSystemObject 'eine ganze Reihe anderer Objekte, auf die ich hier nicht eingehe End Sub '-------- Ende Formular "frmMain" alias frmMain.frm -------- '---------- Ende Projektdatei Daten_speichern.vbp ----------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB5 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB6 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 4 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Felix.S am 01.05.2009 um 21:36
Ich finde den Code schlank, leicht durchschaubar und werde ihn auch verwenden! Nur Lob, keine Kritik!
Kommentar von Angelo am 08.05.2003 um 13:07
Hallo in der tip 0497 Speichern und Laden von Dateien mittels FSO gibt es eine methode txtLaden.Text = str möchte ich wissen wo das object angelegt worden ist.
M.f.G. Angelo
Kommentar von T.R. am 12.07.2002 um 18:48
Hallo,
schließe die Datei erst wieder wenn dein Programm beendet wird. Also die Zeile
"ts.Close"
erst bei Beenden.
Das hat den Nachteil, dass bei ienem Absturz des PCs die Datei auch meistens zerstört ist.
Noch was Grundsetzliches: Fragen bitte im Forum posten: schneller, besser, mehr
Kommentar von hazal am 02.07.2002 um 17:05
kann man die Dateien sperren, nach dem man sie geöffnet hat; damit Datei versehentlich nicht von anderen geändert wird, Während diese Datei von diesem Programm benutzt wird.