VB 5/6-Tipp 0200: Inhalt von List-, Text- und ComboBoxen speichern
von ActiveVB
Beschreibung
Immer wieder eine beliebte Frage im Forum: Das speichern von Inhalten der List-, Text- und ComboBox bei Beendigung einer Anwendung und deren erneutes Einlesen bei Start. Hier ein Vorschlag diese Prozedur via Text-Dateien erledigen zu lassen.
Update: Nun werden keine Leerzeilen mehr an das Ende der Dateien geschrieben.
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 Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Textfeld "Text1" ' Steuerelement: Kombinationsliste "Combo1" ' Steuerelement: Listen-Steuerelement "List1" Option Explicit Private Sub Command1_Click() Unload Me End Sub Private Sub Form_Initialize() Dim aa As String Dim FN As Integer If Len(Dir$(App.Path & "\Text1.txt", vbNormal)) > 0 Then FN = FreeFile Open App.Path & "\Text1.txt" For Input As #FN Text1.Text = Input$(LOF(FN), FN) Close FN End If List1.Clear If Len(Dir$(App.Path & "\List1.txt", vbNormal)) > 0 Then FN = FreeFile Open App.Path & "\List1.txt" For Input As #FN Do While Not EOF(FN) Input #FN, aa List1.AddItem aa Loop Close FN End If Combo1.Clear If Len(Dir$(App.Path & "\Combo1.txt", vbNormal)) > 0 Then FN = FreeFile Open App.Path & "\Combo1.txt" For Input As #FN Do While Not EOF(FN) Input #FN, aa Combo1.AddItem aa Loop Close FN If Combo1.ListCount > 0 Then Combo1.ListIndex = 0 End If End Sub Private Sub Form_Unload(Cancel As Integer) Dim FN As Integer Dim x As Integer FN = FreeFile Open App.Path & "\Text1.txt" For Output As #FN Print #FN, Text1.Text; Close FN FN = FreeFile Open App.Path & "\List1.txt" For Output As #FN For x = 0 To List1.ListCount - 1 Print #FN, List1.List(x) Next x Close FN FN = FreeFile Open App.Path & "\Combo1.txt" For Output As #FN For x = 0 To Combo1.ListCount - 1 Print #FN, Combo1.List(x) Next x Close FN End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.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 3 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 Timo Schreiber am 10.10.2002 um 11:03
Is weniger meine Meinung, eher 'ne Frage.
Bezieht sich dieser Source eigentlich auf ein einzeiliges Textfeld oder kann dieses Textfeld auch Mehrzeilig sein?
MfG
Kommentar von Markus Unterkofler am 06.04.2002 um 15:45
Ich hab in meiner Liste Datum und Uhrzeit und das Programm speichert es auch so richtig. Wenn ich aber das ganze einlese kommen da komische Zahlen. Das liegt wahrscheinlich an den Punkten und Doppelpunkten von den Einträgen. Weiß jemand rat?
Kommentar von Julien Haber am 10.02.2002 um 14:12
Kann mir einer bitte ein Beispiel schicken,wo der Inhalt von mehreren Labels(auf demselben Formular) in eine Textdatei gespeichert und wieder richtig ausgelesen werden.
Weil ich schaff es nicht dass beim Laden des Programms wieder der richtige Text im richtigen Label steht.
Hoffe dass ihr mich versteht.