Speichern von Text! Hilfe!

hi,

ich habe ein rießen Problem:

Wie kann ich den Text von einem TXT-Feld speichern und danach auch wieder laden? Ist eigentlich nicht schwer aber was macht man wennd er Text beliebig lang sein soll und der Text eine String Variable sein soll! Jetzt funktioniert der random Modus nicht mehr bei mir. Was kann ich jetzt machen?

Vielen Dank im Voraus!

CU

Sven

Hier ein kleines Bsp, dass die Sache verdeutlichen soll.

Private Sub Command1_Click()
Dim DateiNr As Integer
Dim Temp As String

Temp = Text1.Text

DateiNr = FreeFile

Open „C:\Windows\Desktop\save.txt“ For Random As DateiNr

Put DateiNr, , Temp

Close DateiNr

End Sub

Private Sub Form_Load()
Text1.Text = "1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 "

End Sub

Hallo Sven,

String-Variabeln dürfen nur 255 Zeichen Lang sein!
Könnte das ursache deines Problems sein ?

Gruss
Nils

hi,

ich habe ein rießen Problem:

Wie kann ich den Text von einem TXT-Feld speichern und danach
auch wieder laden? Ist eigentlich nicht schwer aber was macht
man wennd er Text beliebig lang sein soll und der Text eine
String Variable sein soll! Jetzt funktioniert der random Modus
nicht mehr bei mir. Was kann ich jetzt machen?

Vielen Dank im Voraus!

CU

Sven

So kannst Du einen String abspeichern und wieder laden. Der String selber darf aber keinen Zeilenumbruch enthalten, wegen der Funktion „Line Input #“.

Dim intFH As Integer
Dim strBuf As String
'
intFH = FreeFile
Open "c:\Temp\test.dat" For Output Lock Read Write As intFH
Print #intFH, Me.Text1.Text
Close intFH
'
Me.Text1.Text = ""
'
intFH = FreeFile
Open "c:\Temp\test.dat" For Input As intFH
Line Input #intFH, strBuf
Close intFH
Me.Text1.Text = strBuf

Willst Du einen ganzen Text z.B. mit Zeilenumbrüchen speichern und wieder laden so kann man das mit der „Binären-Variante“ lösen:

Dim intFH As Integer
Dim strBuf As String
'
'Datei vorher weglöschen
On Error Resume Next
Call Kill("c:\Temp\test.dat")
On Error GoTo 0
'
'
intFH = FreeFile
Open "c:\Temp\test.dat" For Binary Access Write Lock Read Write As intFH
Put #intFH, , Me.Text1.Text
Close intFH
'
Me.Text1.Text = ""
'
strBuf = Space$(FileLen("c:\Temp\test.dat"))
intFH = FreeFile
Open "c:\Temp\test.dat" For Binary Access Read As intFH
Get #intFH, , strBuf
Close intFH
Me.Text1.Text = strBuf

hope you enjoy
greets from michL (vienna)

Hallo Sven,

String-Variabeln dürfen nur 255 Zeichen Lang sein!
Könnte das ursache deines Problems sein ?

Also ich weiss nicht, welche VB-Version du hast, aber bei VB 5.0 oder 6.0 zum Beispiel fasst eine String-Variable ca. 2 GB, solltest du mal ausprobieren bevor du postest oder weiter QBasic-Programmieren…

:wink:

Ralph

1 Like