Magic Disk 64

home to index to html: MD9002-UTILITIES-WINDOW_BASIC-ANLEITUNG_2.TEIL.html
     Window Basic-Anleitung 2.Teil      
    -------------------------------     
SLOAD "name"                            
Ein  Bildschirm  wird  in  den  momentan
nicht  sichtbaren  Bildschirm   geladen.
CODE "text"                             
Ein Basicprogramm  wird  inklusive  Text
codiert,   um    es    Programmschändern
unmöglich zu machen, in Ihren Programmen
herumzupfuschen.                        
PASS "text"                             
Dieser Befehl wurde entwickelt, um nicht
jedesmal CODE eingeben zu müssen. Zuerst
wird das Programm automatisch  mit  CODE
codiert. Dann wird eine neue  Startzeile
eingefügt, was zur Folge  hat,  daß  das
Listen des  Programms  etwas  eigenartig
verläuft. Wird das Programm  schließlich
gestartet,  so    wird  nach  dem   Code
gefragt und das Programm wird so schnell
wie möglich dekodiert (vorausgesetzt der
Code stimmt!).                          
MODINI                                  
Wenn Sie die Modultechnik (siehe  unten)
in Ihrem Programm verwenden möchten,  so
muß in der ersten Zeile nicht nur MWINI,
sondern auch MODINI stehen.             
BSAVE "name"                            
Ein Basicprogramm wird als Modul mit dem
Namen   "BM/name"   abgespeichert.   Sie
können auch Teile eines  Hauptprogrammes
herausnehmen, indem Sie nach "name" noch
z1-z2 oder z- anhängen  (diese  Eingaben
laufen wie beim List-Befehl ab!).       
MODULE "name"                           
Ein mit BSAVE abgespeichertes Modul wird
hinter  das  eigentliche   Basicprogramm
geladen  und  angehängt.   Alle   vorher
definierten   Variablen   und    Strings
bleiben dabei  erhalten.  Wenn  Sie  das
Modul geladen haben, können Sie  es  mit
GOTO xxx  ansprechen.  Achten  Sie  aber
darauf, daß Zeilennummern, die im  Modul
enthalten sind, nicht vom  Hauptprogramm
benötigt werden.                        
Mit  MODULE  können   Sie   eine   Menge
Speicherplatz sparen, denn Sie  brauchen
nur Ihre Hauptroutinen  und  alles,  was
selten  benötigt  wird,  legen  Sie   in
Modulen ab. Hier kommen  vor  allem  die
Adventurefreaks auf  ihre  Kosten,  denn
diese  können  ein   gutes   Eingabemenü
mit ACH, BCH und DINPUT anfertigen,  und
die  einzelnen  Räume  lassen  sich  mit
MODULE  leicht  und  vor  allen   Dingen
schnell nachladen.                      
Ob ein Modul gefunden wurde oder  nicht,
läßt sich wieder mit  OK  abfragen,  ok?
Was  machen  Sie  aber,  wenn  Sie   ein
Programm  mit  10  Modulen   angefertigt
haben und nach einem halben Jahr ein 11.
anfügen   wollen.   Noch   'mal    alles
umschreiben? Nein, das  macht  man  mit:
MODDIR zf, rf, tf                       
Die   Variablen   haben   die    gleiche
Bedeutung  wie  bei  BCH,  da  dies  mit
aufgerufen  wird.  Es  werden  nun  alle
Module,  die  sich  auf   der   Diskette
befinden aufgelistet, und Sie können das
gewünschte Modul anklicken. Der Name des
Moduls wird nun in MO$ abgelegt und kann
ganz einfach mit MODULE  MO$  eingelesen
werden.                                 
Bei   Stringdefinitionen   sollten   Sie
allerdings Acht geben: Das  64'er  Basic
setzt die Pointer bei  direkter  String-
belegung  (z.B.   A$="test")   auf   das
Basic-PRG herab. Wenn Sie nun ein  neues
Modul laden, verschwindet der String von
dieser Stelle. Definieren Sie diesen nun
aber als A$=""+"test", so legt das Basic
den   String   im   Stringspeicher   ab.
Bei          sämtlichen          anderen
Stringoperationen, wie MID$  oder  A$+B$
wird dies sowieso durchgeführt. Nur  bei
direkten   Definitionen    müssen    Sie
""+"...." verwenden.                    
WSPEED sp                               
Die Geschwindigkeit, in der die  Windows
geöffnet werden, kann  hier  modifiziert
werden, wobei "sp" zwischen  1  und  255
liegen darf.                            
DCH fr, fs, ft (Variablen siehe BCH)    
Die  Funktionsweise  ist  der  von   BCH
ähnlich, nur der Pfeil wird nicht  immer
in  die  linke   obere   Ecke   gesetzt.
ECH                                     
Wie CCH,  aber  auch  hier  bleiben  die
alten     Pfeilpositionen      erhalten.
FCH                                     
Wie DCH, nur die obere  Menüleiste  wird
nicht mehr ausgegeben. Somit können  Sie
sich eine eigene Menüleiste anlegen  und
diese mit FCH abfragen.                 
SV var, len (xPos, yPos)                
Hier   wird    eine    Variable    "var"
rechtsbündig in  einem  Feld  der  Länge
"len" ab  der  aktuellen  Cursorposition
ausgegeben.  "xPos"  und  "yPos"   geben
wieder   die   Bildschirmposition    an.
NWAIT                                   
NWAIT   ist   eine    Erweiterung    des
GETA$:IFA$=""THEN...-Befehls.           
Er    wird    folgendermaßen    benutzt:
NWAIT: IF OK THEN...                    
PS Part n$ pos (,len)                   
Dies ist eine Alternative zu LEFT$, MID$
und RIGHT$, bei denen unglücklicherweise
immer ein neuer String angelegt wird und
somit der freie Speicher stetig  kleiner
wird  (Freiheit  für   den   Speicher!).
PS umgeht dies, indem der String gesucht
und der gewünschte Teil direkt und  ohne
Neubelegung ausgegeben wird. "Part" darf
die Buchstaben L (Left$), M (Mid$)  oder
R (Right$) annehmen. "Pos" ist gegenüber
den  Basicbefehlen   gleich   geblieben,
bei M muß allerdings noch die Länge  an-
gegeben werden.                         
SCH                                     
Die dritte Zeile von oben  wird  in  den
sich  dort  befindenden  Farbtönen  nach
rechts  gescrollt.  Sie  können  so  ein
Window, daß sich über die  ganze  Breite
des Bildschirms erstrecken  muß,  öffnen
und den Text in selbigem scrollen.      
!I n,xPos,yPos,XA,YA,spp,P,F,c1(,c2,c3) 
Ein  Sprite  wird  eingeschaltet.   Alle
lästigen  POKEreien  entfallen  hierbei,
denn "n" stellt  die  Nummer  (1-6)  des
einzuschaltenden Sprites dar und  "xPos"
bzw. "yPos"  sind  die  Koordinaten  des
Sprites,  wobei  "yPos"  auch  über  255
liegen darf. XA und YA  stehen  für  die
Vergrößerungen.   Wenn   XA   vergrößert
werden soll, so muß dort ein "Y" stehen.
Soll  es  nicht  vergrößert  werden,  so
verwenden     Sie     "N"      (YES/NO).
"SPP" ist der Spritepointer,  der  einen
Wert  von  13-15  bzw.  32-255  annehmen
darf. "P" steht für Priorität. Bei einem
"S"  hat  das  Sprite  Vorrang  vor  den
Zeichen, und bei einem "C" ist das ganze
umgekehrt. Bei "F"  gibt  es  auch  zwei
Möglichkeiten: Entweder Sie  entscheiden
sich für Multicolor, dann geben Sie  "M"
ein, oder Sie wählen "N" für den Normal-
modus.  "C1"  ist  die  Hauptfarbe   des
Sprites,  "C2"  und  "C3"  die   anderen
Multicolorfarben.                       
!M DIR, sp, dis, n1, n2, n3 ...         
Ein Sprite wird mit der  Geschwindigkeit
"sp" (0-255) um die Entfernung "dis"  in
die Richtung "DIR" verschoben.  Als  DIR
dürfen Sie U(P),  D(OWN),  R(IGHT)  oder
L(EFT)   verwenden.   Es    sind    auch
Kombinationen  wie  z.B.  RU   oder   LD
möglich. "n" stellt  wieder  die  Nummer
des  Sprites  dar,  wobei  auch  mehrere
Sprites    bewegt     werden     können.
!S spb                                  
Mit diesem Befehl können Sie ein  Sprite
auf einfache Weise definieren. "spp" ist
der  Spriteblock,  in  dem  das   Sprite
stehen soll, also auch gleichzeitig  der
Spritepointer.                          
Sie können den Sprite  auf  einer  24*21
Matrix  editieren.  "*"   stellt   einen
gesetzten  Punkt  dar  und   "."   einen
ungesetzten. Beispiel:                  
10 !S 13                                
20 REM! ********........********        
Das REM! ist genauso  wichtig,  wie  die
Erfüllung der 24*21 Matrix. Sollte einer
dieser   Teile   fehlerhaft   sein,   so
funktioniert gar nichts. Die REM!  Zeile
muß direkt auf die !S spb Zeile  folgen.
REON                                    
Die       Tastenwiederholung        wird
eingeschaltet,  wodurch  sich  z.B.  die
Spritedefintion leichter ausführen läßt.
REOFF                                   
Dieser  Befehl  hebt  REON  wieder  auf.
KILL                                    
WINDOWBASIC  verabschiedet   sich   nach
einer Sicherheitsabfrage.               
MERGE "name"                            
Ein Basicprogramm wird an  das  sich  im
Speicher befindende Programm  angehängt.
Achten   Sie   auch   hier    auf    die
Zeilennummerierung.                     
RENUM pa (,st(,na))                     
Dieser  Befehl  führt   eine   Zeilenum-
nummerierung      durch.       Beispiel:
RENUM 100-200, 15, 50                   
Die Zeilen 100 bis 200  werden  mit  der
Schrittweite 15 neu nummeriert.  50  ist
die neue Zeilennummer, ab der  die  alte
Zeile       durchnummeriert        wird.
Die Variablen "st" und "pa" können  aber
auch   entfallen.   Dann    würde    die
Schrittweite 10 betragen.               
PHI                                     
Der  gerade  gesetzte   Interrupt   wird
zwischengespeichert, und der IRQ auf $31
gesetzt (normaler Zustand).             
PLI                                     
Der zwischengespeicherte Interrupt  wird
zurückgesetzt.                          
FIND text                               
Ein Basicprogramm wird nach dem  Begriff
"text" durchsucht und der Fund inklusive
Zeile ausgegeben.                       
SOFF                                    
Der   Bildschirm   wird   ausgeschaltet.
SON                                     
Der  Bildschirm   wird   wieder   einge-
schaltet.                               
BASSET hi                               
Mit diesem Befehl läßt sich  der  Basic-
anfang verändern. Sie  können  ihn  z.B.
auf  $100  heraufsetzen,  um   vor   dem
Programm  noch  Sprites  abzulegen  oder
sogar  einen  eigenen   Zeichensatz   zu
benutzen. "hi"  ist  das  High-Byts  der
neuen Anfangsadresse.                   
LBAS hi "name"                          
LBAS setzt den Basicspeicher herauf  und
lädt ein Programm mit dem  Namen  "name"
an      die      neue      Startadresse.
Dies war der letzte der unsagbar  vielen
Befehle. Ich  weiß  zwar  nicht  wie  es
Ihnen geht, aber ich bin  froh,  endlich
das Ende erreicht zu haben.             
                                    (om)



Valid HTML 4.0 Transitional Valid CSS!