GFA Basic-Programme, die mit der PSAVE-Option abgespeichert wurden, sind nicht listbar. Das hat seine Gründe und ist voll akzeptiert, aber manchmal kommt es vor, daß man ein solches Programm compilieren möchte. Der Compiler weigert sich aber, ein ’PSAVE-Programm’ zu bearbeiten, ein klitzekleiner Eingriff schafft dabei Abhilfe.
Im Prinzip muß man dazu nur das erste Byte eines listgeschützten Basic-Programmes von 255 auf 00 ändern.
normales Programm 00 02 71 102 ..
geschützte Programme 255 02 71 102 ..
Das zweite Byte stellt die Versionsnummer des GFA-Basics wieder, im oben angegebenen Beispiel handelt es sich um Version 2.0.
Das Programm öffnet nun das Basic-Programm als Datei und setzt den Dateizeiger auf das erste Element. Dieses wird sodann, falls es sich um ein geschütztes Programm handelt, geändert, und die Datei wieder abgespeichert. Das war’s. Der Compiler akzeptiert das geänderte File und erzeugt ein ablauffähiges Maschinenprogramm.
(HS)
' Modelt das erste Bytes eines listgeschützten GFA-Programms
' so um, daß es vom Compiler akzeptiert wird.
'
' Listen ist immer noch nur teilweise möglich
' HS
Fileselect "\*.bas","",Name$
If Exist(Name$) ! Gibt es das File auf Disk
Open "U",#1,Name$ ! Schreib/Lese Zugriff
Seek #1,0 ! Zeiger auf Anfang
Nixlist=Inp(#1) ! erstes Byte lesen
Version=Inp(#1) ! zweites Byte lesen
Print "Dies ist ein GFA-Programm Version ";Version
If Nixlist=0 ! wenn listen
Alert 1,"Dieses Programm läßt |sich aber listen",1,"Ach so", Dum
Else
If Nixlist=255 ! wenn Listschutz
Alert 2,"Soll ich den Schutz entfernen",1,"Na Klar | Niemals ", Erg
If Erg=1
Seek #1,0 ! Zeiger- an Anfang
Out #1,0 ! Listschutz entfernen
Endif
Endif
Endif
Close #1 ! Datei schließen und Schluß
Endif