Wo is der fehler?

Fr3dd1

Mitglied
Hallo,

Wollte mal fragen ob ihr den fehler findet.
Es kommt kein fehler nur die datei wird dort nicht gespeichert.



Private Sub Command1_Click()

Dim a As Long
Dim b As String

b = Dir1 + "config.cfg"
a = FreeFile()

MsgBox ("config.cfg wurde in " & b & " gespeichert")
Open " & b & " For Append As #1
Print #1, Chr(13) 'Setzt den Cursor in eine neue Zeile
Print #1, Form2.Text1
Close #1
Unload Me
End Sub


thx

mfg Freddy
 
Zuletzt bearbeitet:
Ich nehm mal an, Dir1 ist eine DriveListBox. Ich seh da gleich mal ein paar {Syntax} und {Programmiertechnische} (kurz {Prog}) Fehler:

1) {Prog}
Eine Dateinummer kann nur bis 32767 gehen, ist also keine Long-Zahl sondern eine Integer-Zahl. Richtig wäre
Visual Basic:
Dim a As Integer

2) {Prog}:
Wenn du Strings verbindest, nimm das & Zeichen und nicht das + Zeichen. Wenn du nämlich mal Zahlen als String verbinden willst, kannst du sonst Probleme kriegen.
Visual Basic:
b = Dir1 & "config.cfg"

3) {Prog}
Du hast ja schon die nächste freie Filenummer mit FreeFile ermittelt, warum benutzt du sie dann nicht? Im ua Code hab ich das schon berücksichtigt.

4) {Syntax}
In der Variable b hast du schon den kompletten Dateinamen mit Pfad, du brauchst also in der Open-Anweisung keine & mehr:
Visual Basic:
Open b For Append As #a

5) {Prog}
VB hat für diverse Zeichen bereits vordefinierte Konstanten, auch für den Zeilenvorschub.
Visual Basic:
Print #a, vbNewLine

Gesamt würde das also so aussehen:
Visual Basic:
Private Sub Command1_Click()
 Dim a As Integer
 Dim b As String

 b = Dir1 & "config.cfg"
 a = FreeFile()

 MsgBox ("config.cfg wurde in " & b & " gespeichert")
 Open b For Append As #a
  Print #a, vbNewLine 'Setzt den Cursor in eine neue Zeile
  Print #a, Form2.Text1
 Close #a
 Unload Me
End Sub


Der Doc!
 
Zurück