Mehrzeilig Speichern und Laden

Mister master

Erfahrenes Mitglied
Ich habe jetzt alle 491 Themen zu dem Theme Speichern durchgearbeitet, und trotzdem nichts gefunden, dass mir bei meinem eigentlich ganz einfachen Problem helfen könnte!

Ich habe: eine Textdatei C:\test.txt, 3 variablen, nennen wir sie A, B und C und 2 Buttons, save/load.

Ich will in test.txt mein Drei Variablen nach einem Schema speichern, nämlich:

A = 1. Zeile
B = 2. Zeile
C = 3. Zeile

NICHT ANDERS!

und beim Auslesen will ich auch, dass

A den Wert der 1. Zeile hat
B den Wert der 2. Zeile und
C den Wert der 3. Zeile!

Nicht mehr, aber SuFU ergibt nichts zu dem Thema.

MfG,
M&M
 
Eine INI Datei ist nichts anderes als ein Text Datei.
Das musst du dir schon durchlesen und durcharbeiten, dann weißt du auch wie man eine INI Datei erstellt.
 
Für mich als Newbie sieht das aber ziemlich kompliziert aus und ich blicke jetzt schon nach der 2. Seite nicht mehr durch. Hat nicht irgentwer einen Lösungsvorschlag mit .txt?
 
Hier hab noch was für Text Dateien.
Textdateien komfortabel einlesen und schreiben

// EDIT

Hier mal ein kleines Beispiel für das Lesen und - Schreiben einer INI Datei.

Starte und schließe die Anwendung 2 mal.

Beim 1. Start bekommst 3 MsgBoxen mit dem Text nix.
Beim 2. Start bekommst 3 MsgBoxen mit dem Text Hallo - wie - gehts.

Die Datei Test.ini sieht dann so aus:
[Start]
A=Hallo
B=wie
C=gehts

Code:
Private Declare Function WritePrivateProfileString Lib _
  "kernel32" Alias "WritePrivateProfileStringA" _
  (ByVal lpApplicationName As String, _
  ByVal lpKeyName As Any, ByVal lpString As Any, _
  ByVal lpFileName As String) As Long

Private Declare Function GetPrivateProfileString Lib _
  "kernel32" Alias "GetPrivateProfileStringA" _
  (ByVal lpApplicationName As String, _
  ByVal lpKeyName As Any, ByVal lpDefault As String, _
  ByVal lpReturnedString As String, ByVal nSize As Long, _
  ByVal lpFileName As String) As Long

Private DeineErsteVariable As String
Private DeineZweiteVariable As String
Private DeineDritteVariable As String

Private Sub Form_Load()
'INI Datei beim Starten der Anwendung lesen.

Dim sValue As String * 255
Dim lResult As Long

' nix ist der Defaultwert, wenn nichts in der INI steht
lResult = GetPrivateProfileString("Start", "A", "nix", sValue, Len(sValue), App.Path & "\Test.ini")
DeineErsteVariable = Left$(sValue, lResult)

lResult = GetPrivateProfileString("Start", "B", "nix", sValue, Len(sValue), App.Path & "\Test.ini")
DeineZweiteVariable = Left$(sValue, lResult)

lResult = GetPrivateProfileString("Start", "C", "nix", sValue, Len(sValue), App.Path & "\Test.ini")
DeineDritteVariable = Left$(sValue, lResult)

MsgBox DeineErsteVariable
MsgBox DeineZweiteVariable
MsgBox DeineDritteVariable

End Sub

Private Sub Form_Unload(Cancel As Integer)
'INI Datei beim Beenden der Anwendung schreiben.

DeineErsteVariable = "Hallo"
DeineZweiteVariable = "wie"
DeineDritteVariable = "gehts"

WritePrivateProfileString "Start", "A", DeineErsteVariable, App.Path & "\Test.ini"
WritePrivateProfileString "Start", "B", DeineZweiteVariable, App.Path & "\Test.ini"
WritePrivateProfileString "Start", "C", DeineDritteVariable, App.Path & "\Test.ini"

End Sub
So schwer ist das doch nicht.
 
Hallo,

bin in diesem Thema auch als Anfänger unterwegs und hab schon viel recherchiert,
als ich auf den Code des vorherigen Beitrages stieß.

Ich habe versucht, ihn unter VB2005 zum Laufen zu bringen, aber es funktioniert einfach nicht. Bekomme immer solche Fehler wie"end of" -Anweisung wird erwartet.

Habt ihr da noch einen Tipp für mich?

Danke & Gruß

Thomas
 
Hallo,

bin in diesem Thema auch als Anfänger unterwegs und hab schon viel recherchiert,
als ich auf den Code des vorherigen Beitrages stieß.

Ich habe versucht, ihn unter VB2005 zum Laufen zu bringen, aber es funktioniert einfach nicht. Bekomme immer solche Fehler wie"end of" -Anweisung wird erwartet.

Habt ihr da noch einen Tipp für mich?

Danke & Gruß

Thomas

Hallo Thomas ,

du bist hier auch falsch denn vb2005 ist dot net und das ist ein anderes Forum
Grüsse bb
 
Hallo,

Ich habe versucht, ihn unter VB2005 zum Laufen zu bringen, aber es funktioniert einfach nicht. Bekomme immer solche Fehler wie"end of" -Anweisung wird erwartet.
logisch, der gepostete Code sieht ja auch eher nach VB6 aus und nicht nach VB .net (2005). Da stecken völlig unterschiedliche Technologien dahinter.

Wenn du mit VB 2005 eine Datei öffnen willst, würde ich dir raten, einen FileStream zu benutzen.

http://www.google.de/search?hl=de&q=.net+filestream&btnG=Suche&meta=
http://www.google.de/search?hl=de&q=vb+.net+filestream&btnG=Suche&meta=
http://www.google.de/search?hl=de&q=vb+.net+open+file&btnG=Suche&meta=

Vielleicht ist da ja was brauchbares für dich dabei?

Grüße, D.
 
Zurück