AmiBlitz³
problem mit datei operationen - Druckversion

+- AmiBlitz³ (https://www.amiblitz.de/community)
+-- Forum: AmiBlitz³ (https://www.amiblitz.de/community/forum-3.html)
+--- Forum: Questions & Answers (https://www.amiblitz.de/community/forum-7.html)
+--- Thema: problem mit datei operationen (/thread-306.html)



problem mit datei operationen - xp^tsa - 17.01.2026

Code:
jo=OpenFile(1,"test")
wert.l=200
WriteType 1,wert.l
wert.l=100
WriteType 1,wert.l
CloseFile 1

jo=ReadFile(1,"test")
ReadType 1,ww.l
NPrint ww
ReadType 1,ww.l
NPrint ww
CloseFile 1

warum funktioniert das nicht, es wird nur 0 angezeigt

die datei "test" wird erstellt und ist auch die 8 bytes gross


RE: problem mit datei operationen - hackball - 18.01.2026

Du mußt die Ausgabe / Eingabe definieren:

Openfile...1

FileInput 1
bzw.
FileOutput 1

und danach wieder zurückbiegen auf
DefaultOutput (CLI) bzw. WindowOutput etc.


RE: problem mit datei operationen - xp^tsa - 18.01.2026

hi

hab es eben hinbekommen Wink

Code:
Dim GameDaten.l(50)
size.l=51*4 ;einträge mal 4 bytes

;ein paar werte setzen
GameDaten(0)=20
GameDaten(1)=40
GameDaten(2)=12345

jo=OpenFile(1,"testset")
If jo
;FileOutput 1
WriteMem 1,&GameDaten(0),size
CloseFile 1
Else
NPrint "cant create file"
EndIf

;werte wieder loeschen
GameDaten(0)=0
GameDaten(1)=11 ;for test
GameDaten(2)=0

jo=ReadFile(1,"testset")
If jo
;FileInput 1          1
ReadMem 1,&GameDaten(0),size
CloseFile 1
Else
NPrint "file not found"
EndIf

;DefaultOutput

For i=0 To 2
NPrint GameDaten(i)
Next

End


aber trotzdem, ich würde mir writeword,writelong etc. für eine weitere amiblitzversion wünschen

die NFile lib hat solche befehle, stürzt aber leider ab, sobald
das programm kompiliert ist


RE: problem mit datei operationen - hackball - 18.01.2026

Die NLibs mußt du konsequent benutzen, die Befehle kann man normalerweise nicht mit den internen von BB2 mischen.
Aber ja, manche NLibs sind nicht so stabil.

Als Alternative kannst du ja später immer noch runter gehen auf dos.library direkt, wenn du dir das zutraust.