3.2	Resourcedateien (.RSC)
------------------------------

Mit  Hilfe  des  Resource-Formates  ist  es  mglich,  beispielsweise
einfache  Blockgrafiken  in  das Informations-System einzubinden, von
denen hnlich wie bei Textdateien verzweigt werden kann.

Sie  knnen  die  Resource-Datei  wie  gewohnt	mit  einem  Resource-
Construction-Set   erzeugen.  Als  Verzweigungsschlssel  knnen  Sie
dabei  ein  beliebiges Objekt mit einer Textkomponente (also auch ein
Icon)	definieren.  Das  darauf  folgende  Objekt  in	der  gleichen
Hierarchie-Ebene  (Zeiger ob_next in der Objektstruktur) mu dann vom
Typ  G_STRING sein und als Flag HIDETREE haben. Dieser String enthlt
den  Namen  der  Verzweigungs-Datei,  der  genau  wie bei Textdateien
relativ  anzugeben  ist.  Durch  das Flag HIDETREE wird dieses Objekt
von  der  AES-Funktion	"objc_draw"  nicht  dargestellt.  Im RCS2 von
Digital   Research   knnen  Sie  diese  versteckten  Objekte  wieder
sichtbar  machen  (z.B.  zur  Bearbeitung), wenn Sie das Vater-Objekt
anwhlen  und  die  Funktion  "Unhide Children" ausfhren. Um nun die
Verzweigungsschlssel-Eigenschaft   fr   den  Anwender  sichtbar  zu
machen,  sollten  Sie  diesen  durch  eine schattierte Box einrahmen.
Dort   mu   dann   allerdings	 auch  die  versteckte	Verzweigungs-
Information  hineinpassen,  was  im RCS2 etwas Geschick erfordert, da
der  String  dann gewhnlich aus dem verkleinerten Objekt herausragt.
Aber wie gesagt, bei etwas Geschick ist dies mglich.

Als  Beispiel  habe  ich  mit  dem  RCS2  von  Digital	Research eine
bersicht  ber  das  BetriebssystemTOS.RSC  des  Atari ST erstellt. Hieraus
knnen	Sie  auch  einige  Grundregeln	des  Programmierens ableiten.
Beispielsweise	sollten  Sie  tunlichst  die  Nutzung von XBIOS- oder
LINE-A-Funktionen  vermeiden,  wenn  Sie portable Programme schreiben
wollen.  Die  Funktionalitt  der  GEMDOS-Funktionen  finden  Sie  in
MS-DOS	fast  identisch  wieder.  Durch  einen	Doppelklick auf einen
Begriff  knnen  Sie nun hnlich wie bei Textdateien eine Verzweigung
veranlassen.

1st  Guide  stellt  nach  dem  ffnen  zunchst den ersten Objektbaum
einer  Resourcedatei  dar.  Bei  GEM-Anwendungen  ist  das  meist die
Menzeile,  die  sich  dann  voll  ausgeklappt	vor Ihnen ausbreitet.
Sollte	die  Resource-Datei  berhaupt keinen Objektbaum (sondern nur
"freie	 Objekte")   enthalten,   so   wird  abgebrochen.  Falls  die
Resourcedatei  mehr  als  einen Objektbaum enthlt, so knnen Sie mit
Hilfe	des   Klick-Popup-Mens  oder  mit  Control-Cursor-links  und
Control-Cursor-rechts  alle  Objektbume zyklisch vor- bzw. rckwrts
durchlaufen.

brigens  knnen soviel Resource-Dateien gleichzeitig geladen werden,
wie   Fenster	und   Speicherplatz  zur  Verfgung  stehen.  Da  der
Resource-Manager  des  AES  aber nur eine Resource-Datei gleichzeitig
verwalten  kann  (mit  der  parameterlosen  Funktion "rsrc_free" wird
beispielsweise	immer  die  zuletzt  geladene  Resource freigegeben),
mute  fr 1st Guide eine eigene Laderoutine entwickelt werden. Diese
kann   nun   sowohl  Resource-	Dateien  im  MOTOROLA-	als  auch  im
INTEL-Format  korrekt darstellen, und zwar sowohl in der ST- als auch
in  der  IBM-Version.  Die  Erkennung des jeweiligen Formates erfolgt
dabei  automatisch.  Doch  damit nicht genug. Auch eine Konvertierung
in das jeweils andere Format ist in beiden Versionen mglich.

Hierzu	ist  folgendes zu erklren: Whrend IMG-Dateien grundstzlich
im  Motorola-Format und GEM-Metadateien grundstzlich im Intel-Format
vorliegen   (und   auf	 dem  jeweils  anderen	Rechner  entsprechend
konvertiert  werden  mssen), liegen Resource-Dateien immer im Format
des  jeweiligen  Rechners  vor,  so  da sie normalerweise nicht ohne
weiteres  austauschbar sind. Die Konvertierung bezieht sich dabei auf
das   byteweise   Drehen   von	 Worten  bzw.  wortweise  Drehen  von
Langworten.  Mit  1st Guide wird nun genau dieses Problem gelst. Sie
knnen	von  nun  an  Ihre  Resourcen  problemlos zwischen ST und IBM
austauschen,  wechselseitig  bearbeiten  und  ungeachtet der Herkunft
darstellen.

Als  GEM-Kenner  mssten  Sie  allerdings bezglich der automatischen
Erkennung   skeptisch  werden.	Es  gibt  nmlich  kein  von  Digital
Research  vorgesehenes Mittel, um zu erkennen, ob eine Resource-Datei
im  Intel-  oder  Motorola-Format  vorliegt. Daher mu zu einem Trick
gegriffen  werden,  der zwar nicht 100%ig sicher sein kann, aber wohl
99,99%ig   sicher   ist.  Diese  Sicherheit  ist  identisch  mit  der
Wahrscheinlichkeit,  da  eine	Resource-Datei	nicht  mehr  als  255
Objektbume  enthlt  (wohlgemerkt: Objektbume, nicht Objekte !). In
diesem	Fall  mu nmlich ein Byte des Wortes im Resource-Header, das
die  Anzahl der Bume angibt (Komponente rsh_ntree) gleich Null sein.
Je  nachdem,  welches Byte das nun ist, kann das entsprechende Format
festgestellt werden.

Das  erkannte  Format  erfahren  Sie im Klick-Popup-Men, mit dem Sie
auch  die  Konvertierung  veranlassen  knnen.	Dazu  wird  die Datei
nochmals   eingelesen  (die  im  Speicher  befindliche	Resource  ist
bereits  an  den  Bildschirm  angepat),  allerdings auf den gleichen
Platz	der   dargestellten   Resource,   so  da  kein  zustzlicher
Speicherplatz  gebraucht  wird. Die Konvertierung ist umkehrbar, d.h.
wenn  Sie  die	Datei  wieder zurckkonvertieren, erhalten Sie wieder
das  Ausgangsformat.  Trotzdem	empfehle ich Ihnen, die Konvertierung
nur  mit  Kopien  der  Original-Resource  durchzufhren, da bei einem
eventuellen  Schreibfehler  Ihre  Daten  in  den  ewigen  Jagdgrnden
landen	knnen	(die  konvertierte  Datei  wird  auf  den  Platz  der
Ausgangsdatei zurckgeschrieben).
