Siehe Dir zum Lesen das Beispiel in der Hilfedatei an. Ein Beispiel zum schreiben findest Du auch in der Hilfedatei unter OpenFile.
Wenn das nicht reicht einfach melden.
EnableExplicit
Define ff, file.s, text.s, format
If FileSize(file) >= 0
ff = ReadFile(#PB_Any, file) ; zum lesen, zum lesen und schreiben bitte OpenFile(...)
If ff
format = ReadStringFormat(ff)
While Not Eof(ff)
text + ReadString(ff, format)
Wend
CloseFile(ff)
EndIf
EndIf
; ---------------------------------------
ff = OpenFile(#PB_Any, file)
If ff
WriteStringFormat(ff, format)
WriteString(ff, text, format)
; ....
CloseFile(ff)
EndIf
Anpassungen bitte selber machen.
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
; um Kompatibilität mit EnableExplicit zu erhalten:
Define aString$
Define file$
Define ff
; /
ff = OpenFile (#PB_Any, file$)
WriteStringN (ff, aString$)
CloseFile (ff)
Ich meine, mich zu erinnern, dass freefile die niedrigste mögliche Nummer zurückgibt. In PureBasic müsstest Du alle Nummern ab #Null abfragen (mit IsFile ()), um wirklich die niedrigste zu finden. #PB_Any bei OpenFile () gibt eine Speicheradresse zurück, die liegt irgendwo.
Zuletzt geändert von es_91 am 14.12.2014 20:07, insgesamt 2-mal geändert.
Sodele, einer schreibt WriteString, der andere WriteStringN, ich habe BEIDES getestet, aber die Daten werden allerdings NICHT sauber geschrieben.
Zur Erklärung.
Ich bekomme vom Server einen String, den ich als binary abspeichern muss.
Unter GFA-Basic habe ich obigen Code genommen, der problemlos funktioniert.
Mit PB wird der String NICHT sauber geschrieben, d.h. an bestimmten Stellen macht er ein Chr(13) oder chr(10) wo es NICHT hingehört und trennt so Zeilen.
Getestet unter Linux und Windows.
Gibt es keine echte Übersetzung für
"Open file for Binary As # ff ?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x