Inhalte einer Textbox Speichern

Neo010606

Grünschnabel
Hallo zusammen,
Ich bin ein VB Neuling.
Ich will ein Programm Schreiben, in dem in mehreren Textboxen (100) Zeiten eingegeben werden im Format (hh:mm:ss). Diese sollen dann in einer Datei gespeichert werden und wieder ausgelesen werden. Ich will mit diesen Zeiten (wenn Time$ = eingegebene Zeit) über einen LPT Port Relais schalten. Die Relais kann ich schon schalten und wenn ich ich die Zeiten in das Formular für Zeiteingabe (Time.frm) eingebe, dieses geöffnet lasse und in meinem anderen Formular (Start.frm) die Aktion Starte If Time$ = Zeit.T1 Then Call Ablauf_Start dann funktioniert meine Steuerung. Doch wenn ich das Formular Time.frm schließe funktionierts leider nichtmehr. Nu meine Frage, kann man die 100 Zeiteingaben die in je 1ner TextBox eingegeben werden in 1ner Datei Speichern und diese dann für die Verwendung in dem Formular Start.frm wieder Laden?

Vielen dank schonmal für euere Hilfe.
 
Danke für die schnelle Antwort.
Habe mir nun den Code für die Textbox Herausgeholt und in mein Projekt eingearbeitet.
Nun zeigt er mir aber in der 1. Textbox den inhallt der gesammten datei an. Kann ich dies nur auf die erste Zeile beschränken. Sorry ist vielleicht ne blöde frage, aber wie schon gesagt, ich binn in VB ein absoluter anfänger.

Habe diesen Code benutzt:
Dim aa As String
Dim FN As Integer

If Len(Dir$(App.Path & "\Zeit.txt", vbNormal)) > 0 Then
FN = FreeFile
Open App.Path & "\Zeit.txt" For Input As #FN
T1(0).Text = Input$(LOF(FN), FN)

Close FN
End If
 
Stattdessen:

Code:
Dim Tx as String
Dim i as Integer
FN = FreeFile
Open App.Path & "\Zeit.txt" For Input As #FN
Do  While Not EOF(Fn)
       Line Input #Fn, Tx
       T1(i).Text = Tx
        i = i +1
Loop
 
Ich glaub mein Fehler liegt irgendwie beim Speichern der Daten.
Die Zeiten werden hintereinander gespeichert und nicht untereinander (also für jede Textbox eine eigene Zeile)
hier mal der Code:
Private Sub Command1_Click()
Dim FN As Integer

FN = FreeFile
Open App.Path & "\Zeit.txt" For Output As #FN
Print #FN, T1.Text;
Print #FN, T2.Text;

Close FN
Me.Hide

End Sub

Private Sub Form_Load()
Dim Tx As String
Dim i As Integer
FN = FreeFile
Open App.Path & "\Zeit.txt" For Input As #FN
Do While Not EOF(FN)
Line Input #FN, Tx
T1.Text = Tx
T2.Text = Tx

Loop

Close FN


End Sub

Mach ich da was falsch?

Ich dachte mir das das so aussieht:
Zeit 1 -> entspricht Textbox 1
Zeit 2 -> entspricht Textbox 2
usw
diese Zeiten sollen dann auch von den jeweiligen Textboxen geladen werden
 
Zuletzt bearbeitet:
Hier sitzt dein Fehler

Print #FN, T1.Text;

Das Semikolon veranlasst deine Save-Routine alles hintereinander zu speichern. Einfach das Semikolon weglassen
 
Cool, danke das klappt.
Aber jetzt hab ich das Problem das immer bei allen Textboxen die letzte Zeile der datei Zeit.txt angezeigt wird. Muß ich da am Ladebefehl was ändern?
 
Du musst die Textboxen als Control-Array deklarieren.
Dann sollte der Code von ronald funktionieren.
 
Setz die erste Textbox auf deine Form.
Such in den Eigenschaften der Textbox die Eigenschaft "Index". Diese müsste leer sein.
Setz dort einfach eine "0" (=Null) ein.
Wenn du das erledigt hast, clicke/markiere deine Textbox auf der Form, drücke STRG+C und dann STRG+V, und voila, die dadurch neu erstellte Textbox hat schon den Index "1"
 

Neue Beiträge

Zurück