Werte dauerhaft speichern

@Filone: Also das Speichern und Laden (mittels PropertyBag) von einer PictureBox bzw. dem Bild in einer PictureBox habe ich nun hinbekommen, aber Einstellungen wie "BackColor" werden nicht mit gespeichert. Ich hatte das so verstanden, dass alle Einstellungen eines Objekts auf einmal gespeichert werden...Hab ich in meinem Code evtl. nur Mist geschrieben oder wird pro "WriteProperty" nur eine Eigenschaft gespeichert?
Mein Code sieht einfach so aus:
Code:
Dim Test As New PropertyBag
Test.WriteProperty "MeinTestName", Me.Picture1
 
Vektor hat gesagt.:
Also, um eine Datei zu erstellen machst du folgendes.

Code:
Dim Pfad as String

Pfad = "C:\Verzeichnis\Dateiname.txt" 

'Dann erstellen wir die Datei
'Sollte sie bereits bestehen, wird sie überschrieben

Open Pfad for Output as #1

'Jetzt schreibst du den Wert rein

Print #1, "Farbwert"

'Und schließt die Datei wieder um sie freizugeben

Close #1

---------------------------------

'Dann musst du im Form_Initialize die Datei wieder öffnen

Dim Farbwert as String

Open Pfad for Input as #1

'Du liest den Wert aus

Farbwert = Line Input #1

'Du schließt die Datei wieder

Close #1

'Und dann kannst du wieder weiterarbeiten.

Hoffe es hilft dir...
Hi leute, bei mir erscheint dieser Fehler: Pfad nicht gefunden
Muss die Textdatei die man öffnen will schon vorhanden sein?
Wenn ja, wie erstelle ich eine?
cu, yan1
 
tja, jetzt bei mir auch, doch mein problem ist, dass zwar die datei nicht existieren muss, aber der ordner.
Ich hab das jetzt mit mkdir "C:\...." gemacht, aber da müsste ich abfragen, ob der ordner schon vorhanden ist.

Gibt es einen Befehl, um zu überprüfen ob ein Ordner oder eine Datei soch existiert
 
Das geht am einfachsten mit dem FileSystemObject

So überprüfst du ob der Ordner existiert, wenn nicht dann erstellst du ihn.
Anschließen einfach die Textdatei erzeugen. Du könntest das auch mithilfe des FSO und eines TextStreamObjects machen, geht aber genauso mit den VB Standardkommandos.

Um ein FSO verwenden zu können musst du unter "Verweise" die "Scripting Runtime Bibliothek" einbinden (scrrun.dll).

Code:
'Zuerst erstellst du global ein FileSystemObject

Public fso as new FileSystemObject
-------------------------------------------
Dim Pfad as String

Pfad = "C:\Verzeichnis"

'Nun überprüfen wir mit dem FSO ob das verzeichnis existiert

    If fso.FolderExists(Pfad) = False Then
'Erstellen des Ordners
        fso.CreateFolder (Pfad)
        'Schreiben der Datei
    else
        'Schreiben der Datei
    End If
 
Danke Vektor, das mit dem FileSystemObject ist echt super, Mit dem kann man eigentlich alles im Bereich Datei System machen!
 
Hallo,

leider weiß ich nicht mehr ob es da im FileSystemObject ein Attribut gibt, welches dies automatisiert, da ich auf .NET umgestiegen bin, aber du kannst einfach in einer If-Abfrage überprüfen ob die Datei schon existiert:
Visual Basic:
If FSO.FileExists(Pfad) = True then
    ' Anderen Dateinamen nehmen
    ' Datei schreiben
else
    ' Datei schreiben
End If
Bis dann..
 
Hallo,

um festzustellen ob eine Datei bereits existiert, kannst Du folgende Funktion verwenden:

Code:
public Function FileExists(FileName As String) As Boolean
    If FileName <> "" Then
        FileExists = (Dir$(FileName) <> "")
    Else
        FileExists = False
    End If
End Function

Als Übergabeparameter gibst Du die fragliche File (mit Pfad) an. Als Rückgabewert bekommst Du
  • TRUE, wenn die Datei vorhanden ist
  • FALSE, falls die Datei nicht vorhanden ist

Beispiel:

Code:
If FileExists("c:\test.txt") = True then
 ' anderen Dateinamen nehmen
 ' Datei schreiben
else
 ' Datei schreiben
endif
 
Hi zusammen. Ich versuche auch noch einige Variablen in eine Datei zu speichern.

Doch wie mach ich das wenn ich mehr als eine Variable habe?

Muss ich jedesmal die 3 Befehle verwenden?
Private Sub Command1_Click()
Dim Pfad As String

Pfad = "C:\Dateiname.txt"

Open Pfad For Output As #1
Print #1, "Farbwert"
Close #1

Open Pfad For Append As #2
Print #2, "Farbwert1"
Close #2

usw.
End Sub

Und 2. Das öffnen funktioniert nicht:
Dim Farbwert As String

Open Pfad For Input As #1

'Du liest den Wert aus

Farbwert = Line Input #1

'Du schließt die Datei wieder

Close #1

Da kommt jedesmal "Syntax Error"
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück