Datei auf einmal einlesen und schreiben

Hallo Wissende,

ich hab jetzt wieder eine halbe Stunde rumgemacht mit Open, input, binary, put, get, input usw, ich kriegs wieder nicht hin :frowning:
Dabei hatte ich hier schonmal nachgefragt und es wurde mir ja schon gezeigt wie das geht, aber in der Archivsuche finde ich den Beitrag nicht :frowning:

Also wie geht das Einlesen und später das Schreiben?

Sub Einlesen()
Dim FF As Long, Inh, Laenge
FF = FreeFile
Open „c:\test\the sopranos s04e05.srt“ For ??? As #FF
??? #FF, , Inh
Close FF
MsgBox Len(Inh)
End Sub

Danke ^ Gruß
Reinhard

Hallo Reinhard,

Also wie geht das Einlesen und später das Schreiben?

Sub Einlesen()
Dim FF As Long, Inh, Laenge
FF = FreeFile
Open „c:\test\the sopranos s04e05.srt“ For ??? As #FF
??? #FF, , Inh
Close FF
MsgBox Len(Inh)
End Sub

schon fast richtig.
Der string, in den die Daten sollen muss nur schon vor dem Lesen die richtige Länge haben, der muss also mit entsprechend vielen Leerzeichen vorbesetzt werden. FF ist Integer, nicht Long

Sub Einlesen()
 Dim FF As Integer, Inh As String, Laenge As Long, Na As String
 FF = FreeFile
 Na = "c:\test\the sopranos s04e05.srt"
 Laenge = Space(Filelen(Na))
 Open Na For Binary As #FF
 Get #FF, , Inh
 Close #FF
 MsgBox Len(Inh)
End Sub

Ich hoffe ich habe keine Tippfehler drin, ich kann nicht testen.

Gruß Rainer

Hallo reinhard,

… und später das Schreiben?

ach ja schreiben ja auch …

Sub Schreiben(Byval Inh As String)
 Dim FF As Integer, Laenge As Long, Na As String
 FF = FreeFile
 Na = "c:\test\the sopranos s04e05.srt"
 Open Na For Binary As #FF
 Put #FF, , Inh
 Close #FF
End Sub

Korrektur
Hallo Reinhard

Sorry, Fehler entdeckt. :smile:

Laenge = Space(Filelen(Na)) … ist falsch.

Inh = Space(Filelen(Na))

Laenge wird gar nicht gebraucht.

Gruß Rainer

Sub Schreiben(Byval Inh As String)
Dim FF As Integer, Laenge As Long, Na As String
FF = FreeFile
Na = „c:\test\the sopranos s04e05.srt“
Open Na For Binary As #FF
Put #FF, , Inh
Close #FF
End Sub

Hallo Rainer,

danke dir.
Bei dem Get war ich ja bei meinen Versuchen nah dran, nur das Space hatte ich nicht im Sinn.

Gruß
Reinhard