Post by Christoph MaerckerPost by Louis NoserIch möchte in einem DOS-Batch (unter WinXP) Binärdaten in einer Datei
ändern.
Geht das? Wie?
Allenfalls mit QBasic. War mind. bis MS-DOS 6.22 mit dabei. Unter
32Bit-Windows nicht mehr, könnte aber auch dort laufen, weil
versionsunabhängig.
Stimmt Basic ist für etliche Spielereien sehr flexibel.
Ich würde mir dafür OPEN, GET, PUT und CLOSE mal anschauen.
...
So wie ich das sehe, benutzt edit.com(429 Bytes) aus MSDOS6.22
das dortige QBasic, so das beide sich beim Editieren identisch verhalten.
Bei W98SE ist QBasic nicht mehr enthalten, das dortige edit.com ist
nun 71022 Bytes groß.
[QBasic aus DOS6.22]
Qbasic.exe (195372 Bytes)
Qbasic.hlp (146989 Bytes)
Qbasic.ini (132 Bytes wird beim ändern der Optionen angelegt)
;---------------------------------------------------------
Dann habe ich hier noch Microsoft QuickBASIC V4.5(qb.exe und mehr).
Binärdateien können auch mit
BLOAD "Pfad Name.Exp",Offsetadresse
geladen und mit
BSAVE "Pfad Name.Exp",Offsetadresse,länge
gespeichert werden. Dabei wird die betreffende Segmentadresse etwa mit
DEF SEG = &HB800
vorher angegeben(hier in hexadezimaler Form).
...
Mit QuickBASIC läßt sich aus einem Basic-Listing, eine eigenständige
*.exe-Datei erstellen, die dann wahlweise auch völlig unabhängig von
QuickBASIC lauffähig ist. Diese *.exe-Dateien lassen sich dann aber
nachträglich entsprechend schwerer verändern oder erweitern,
wenn man den Basic-Quellcode und/oder QuickBASIC nicht besitzt.
Auch kann man Basic-Object Module(*.obj) mit Assembler-Object Module
zusammen linken, um damit neue/eigens dafür declarierte Funktionen
schon innerhalb eines BASIC-Listing zu benutzen.
;---------------------------------------------------------
Manche Basic-Programme(etwa Games) laufen jedoch auf heutigen Rechnern
derart schnell, da sie für/mit wesentlich langsameren Rechner erstellt
wurden. Es sieht dann entsprechend lustig aus.
Dirk