.\\\ WRITER 6 \\\ C:\ALMUT\SV\SVREF5.LAY R:\SW55N\TREIBER\PS.GPM 12 00000 00010 01463 00001 00001 00001 00002 00002 00000 00000 00000 00000 MM User Doku RSC RSC-Beschreibung 0 11905 8390 0 0 JA 3 75 0 20 0 0 0 0 0 0 0 JA 6 16 29 courier 9.5 C1 33 19 0 Helvetica 14 Pt Fett F1 65 28 2 Helvetica 12 Pt Fett F2 65 24 2 Helvetia 10 Pt Fett F3 65 20 2 Times 10 T1 97 20 0 Courier 7 C2 33 14 0 Grund - Absatzlayout GA 0 0 0 0 5 97 20 0 0 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 13 576 0 0 1152 0 0 1728 0 0 2304 0 0 2880 0 0 3456 0 0 4032 0 0 4608 0 0 5184 0 0 5760 0 0 6336 0 0 6912 0 0 7488 0 0 Listing LI 0 0 0 0 1 33 19 0 1 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 13 432 0 0 1008 0 0 1728 0 0 2304 0 0 2880 0 0 3456 0 0 4032 0 0 4608 0 0 5184 0 0 5760 0 0 6336 0 0 7632 0 0 8352 0 0 Funktionsparameter FP 0 2449 0 0 5 97 20 0 0 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 8 2448 0 0 3024 0 0 3600 0 0 4176 0 0 4752 0 0 5328 0 0 5904 0 0 6480 0 0 Unterberschrift F1 0 0 0 0 4 65 20 0 1 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 13 576 0 0 1152 0 0 1728 0 0 2304 0 0 2880 0 0 3456 0 0 4032 0 0 4608 0 0 5184 0 0 5760 0 0 6336 0 0 6912 0 0 7488 0 0 Punktliste PL 0 289 0 0 5 97 20 0 0 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 1 288 0 0 šberschrift Klasse U1 0 0 0 0 2 65 28 0 1 0 1 NEIN NEIN NEIN 238 1 0 16 0 0 0 0 0 0 0 NEIN 13 576 0 0 1152 0 0 1728 0 0 2304 0 0 2880 0 0 3456 0 0 4032 0 0 4608 0 0 5184 0 0 5760 0 0 6336 0 0 6912 0 0 7488 0 0 šberschrift Methode U0 0 0 0 0 2 65 24 0 1 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 13 576 0 0 1152 0 0 1728 0 0 2304 0 0 2880 0 0 3456 0 0 4032 0 0 4608 0 0 5184 0 0 5760 0 0 6336 0 0 6912 0 0 7488 0 0 Kopfzeile rechts KR 0 0 0 0 4 65 20 0 2 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 1 7920 1 0 Kopfzeile links KL 0 0 0 0 4 65 20 0 1 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 1 6916 1 0 Fuázeile linksbndig FL 0 0 0 0 4 65 20 0 1 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 1 5952 1 0 Fuázeile rechtsbndig FR 0 0 0 0 4 65 20 0 2 0 1 NEIN NEIN NEIN 0 0 0 16 0 0 0 0 0 0 0 NEIN 1 6768 1 0 Linie linksbndig LL 0 0 0 0 4 65 20 0 1 0 1 NEIN NEIN NEIN 0 0 0 16 0 0 0 0 0 0 0 NEIN 1 7920 1 0 Linie rechtsbndig LR 0 0 0 0 4 65 20 0 2 0 1 NEIN NEIN NEIN 0 0 0 16 0 0 0 0 0 0 0 NEIN 1 7920 1 0 Tabelle TB 0 0 0 0 6 33 14 0 1 0 1 NEIN NEIN NEIN 120 0 0 16 0 0 0 0 0 0 0 NEIN 13 576 0 0 1152 0 0 1728 0 0 2304 0 0 2880 0 0 3456 0 0 4032 0 0 4608 0 0 5184 0 0 5760 0 0 6336 0 0 6912 0 0 7488 0 0 rechtsbndiger Fuástrich RS 0 0 0 0 4 65 20 0 2 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 1 5952 1 0 linksbndiger Fuástrich LS 0 0 0 0 4 65 20 0 1 0 1 NEIN NEIN NEIN 238 0 0 16 0 0 0 0 0 0 0 NEIN 1 5952 1 0 Starlab-Layout GS 566 440 850 566 1133 680 0 0 1 NEIN 0 0 Akl#_PFAD##_TEXTNAME# ,-#_S#- All______________________________________________________________  Als______________________________________________________________ Afl$Date: 23 Jan 1992 14:42:12 $ Afr4$Revision: 1.25 $  Resource linke Seite L2 566 440 850 566 1133 680 0 2 1 NEIN 0 0 AklResource All______________________________________________________________  Ars______________________________________________________________ Afl-#_S#- Afr3StarView - Referenz  Resource rechte Seite L3 566 440 850 566 1133 680 0 1 1 NEIN 0 0 Akr=Resource Alr______________________________________________________________  Als______________________________________________________________ Afl(c) 1990/1991 StarDivision Afr@-#_S#-  Resourcecompiler linke Seite L4 566 440 850 566 1133 680 0 2 1 NEIN 0 0 AklResourcecompiler All______________________________________________________________  Ars______________________________________________________________ Afl-#_S#- Afr3StarView - Referenz  Resourcecompiler rechte Seite L5 566 440 850 566 1133 680 0 1 1 NEIN 0 0 Akr4Resourcecompiler Alr______________________________________________________________  Als______________________________________________________________ Afl(c) 1990/1991 StarDivision Afr@-#_S#-  ResOwner linke Seite L6 566 440 850 566 1133 680 0 2 1 NEIN 0 0 AklResOwner All______________________________________________________________  Ars______________________________________________________________ Afl-#_S#- Afr3StarView - Referenz  ResOwner rechte Seite L7 566 440 850 566 1133 680 0 1 1 NEIN 0 0 AkrWinBits Alr______________________________________________________________  Als______________________________________________________________ Afl(c) 1990/1991 StarDivision Afr@-#_S#-  0 0 SkfAga Au0 #_KATEGORIE# Aga Au0 #_THEMA2# Aga Au0 Aga Au0 #_AUTOR# Aga Au0 STAR DIVISION / STAR LAB Hamburg Aga Au0 Stand: $Date: 23 Jan 1992 14:42:12 $ Aga Sgs SkfAgaPA Au0#_KATEGORIE# Aga AfpDokumentenname #_THEMA2# Aga AfpProjektname #_THEMA1# Aga AfpVersionsnummer $Revision: 1.25 $ Aga Afperstellt 31. Juli 1990 Aga Afpge„ndert $Date: 23 Jan 1992 14:42:12 $ Aga AfpDateiname #_PFAD##_TEXTNAME# Aga AfpAutor #_AUTOR# Aga AfpBearbeiter $Author: MM $ Aga AfpQualit„tskontrolle Aga AfpStatus XX in Arbeit Afp __ fertiggestellt Afp __ abgenommen Afp __ freigegeben Aga AfpVertraulich __ Ja XX Nein Aga AfpCopyright (C) Star Division 1990 Aga Sgs SivAu0PA Au0Inhaltsverzeichnis Aga StarView Resourcecompiler 4 Einleitung 4 Bekannte Fehler 4 Systemabh„ngigkeiten 4 Installationshinweise 5 rsc-Kommandozeile 5 rsc-Preprocessor 7 Default Preprozessor 8 Einfaches Beispiel 9 Syntax 16 Klassen-Erkl„rung: Resource -> StarView 18 Spezielle Syntax-Konstrukte 59 Stichwortverzeichnis 63 SgsAiv Aga Au1paStarView Resourcecompiler Aga Au1Einleitung Aga Diese Beschreibung gilt fr den Resourcecompiler in der Version 1.21. Der StarView Resourcecompiler ( rsc ) dient dazu, die systemunabh„ngigen Resourcen in den Beschreibungsdateien in systemabh„ngige Beschreibungsdateien zu berfhren, die dann mit den systemabh„ngigen Resourcecompilern effizient (Laufzeit) in bin„re Resourcen bersetzt werden. Au1Bekannte Fehler Aga Apl- Unter Unix (Motif) werden noch keine Icons, Bitmaps und Pointer untersttzt. - Die TMP-Environmentvariable darf keinen "\" am Ende haben (MS-DOS). - Unter MS-DOS wird die ".rc"-Datei nicht gel”scht. - Der rscpp gibt die Zeilennummern nicht richtig aus. - Unter Unix und MAC darf die src-Datei am Ende kein ^Z haben. Aga Au1Systemabh„ngigkeiten Aga Die Resource-Scriptdatei (".src") ist bis auf die Typen Icon, Bitmap und Pointer unab h„ngig. Jede Resource dieser drei Typen steht in einer eigenen Datei. Ob das Format oder die Version korrekt sind, wird durch den systemabh„ngigen Resourcecompiler (rc, uid, rez) entschieden. Die Pfadnamen in den Include-Anweisungen sind systemabh„ngig. Unter MS-DOS ist der Pfadname z.B. "..\..\..", unter Unix ist er z.B. "../../.." und unter dem Betriebssystem des Macintosh z.B. ":: ". Die erstellten Resourcedateien sind nicht nur betriebssystemabh„ngig, sondern auch processor- bzw. compilerabh„ngig. Dies betrifft die L„nge des int und die Darstellung (Drehungen) von ganzzahligen Datentypen. Die Default-Resourcedatei ist unter MS-Windows die ausfhrbare Datei, unter Unix (Motif) die ausfhrbare Datei mit der Extension ".res" und unter Macintosh noch nicht festgelegt. Au1paLieferumfang Aga Dateien fuer den Macintosh: rsc, rsc2, rscpp. Dateien fuer Motif: rsc, rsc2, rscpp. Dateien fuer MS-DOS: rsc.exe, rsc2.exe, rsc2r.exe, rsc2z.exe, rscpp, zpm.exe. Au1Installationshinweise Aga Beim Aufruf des rsc mssen der Preprocessor rscpp, der Parser rsc2 sowie der systemabh„ngige Resourcecompiler rc.exe fr MSC-Windows unter MS-DOS, uid fr Motif unter Unix und rez auf dem Macintosh im Zugriffspfad liegen. Der Preprozessor kann durch einen eigenen ersetzt werden, wenn er den Schnittstellenanforderungen gengt (siehe rsc-Preprocessor). Aga Au1rsc-Kommandozeile Aga Af1Syntax der Kommandozeile Aga Alirsc [...] rsc @ Aga Af1Schalter Aga Der rsc akzeptiert folgende Schalter: Aga -h   Zeigt eine Hilfe fr die Kommandozeile an. Aga-p   Es wird kein Preprozessor aufgerufen. Weiteres siehe "Default   Preprozessor". -s   Es wird eine Syntaxanalyse durchgefhrt und eine ".srs"-Datei   geschrieben. -l   Es wird eine Syntaxanalyse durchgefhrt, der Preprocessor wird   nicht aufgerufen. Es wird eine ".rc"-Datei geschrieben. Dann   wird der systemabh„ngige Resourcecompiler aufgerufen und   eine ".res"-Datei erzeugt. -r   Der systemabh„ngige Resourcecompiler wird nicht aufgerufen. -d  Es wird ein Symbol definiert. -i  Der Include-Pfad fr den Preprocessor wird erweitert. -fl Mit diesem Schalter wird eine Listing-Datei angegeben. In diese   Datei werden Fehlermeldungen ausgegeben. -fo Žndert den Namen der ".res"-Datei. Der Defaultname ist der   erste Name in der Quelldateiliste. Dieser Name bekommt die   Extension ".res". Die ".res"-Datei ist die vom Resourcecompiler   erzeugte bin„re Datei. -fs Žndert den Namen der ".rc"-Datei. Der Defaultname ist der erste   Name in der Quelldateiliste. Dieser Name bekommt die   Extension ".rc". Die ".rc"-Datei ist die vom Resourcecompiler   erzeugte systemabh„ngige Beschreibungsdatei. -fp Žndert den Namen der ".srs"-Datei. Der Defaultname ist der erste   Name in der Quelldateiliste. Dieser Name bekommt die   Extension ".srs". Die ".srs"-Datei ist eine symbolfreie   Beschreibungsdatei. -fc In diese Datei werden die Resource-Konstruktoren der in der   Beschreibungsdatei spezifizierten Klassen geschrieben. Die   Sprache ist C++. -fh In diese Datei werden die Deklarationen der in der   Beschreibungsdatei spezifizierten Klassen geschrieben. Die   Sprache ist C++. -WIN   Es wird eine MS-Windows-Resourcedatei erstellt. -MTF   Es wird eine Motif-Resourcedatei erstellt. -MAC   Es wird eine Mac-Resourcedatei erstellt. -REFDEEP Die Zahl gibt an wie Tief der rsc-Compiler beim aufl”sen von   Referenzen gehen soll. Der Default ist 10, das heiát der Compiler   l”st verschachtelungen von Referenzen bis 10 auf. Aga Af1Kommandodatei Aga Die Kommandodatei hat folgende Syntax: Aga Ali[...] Aga Af1Beispiele Aga AliKommando: rsc test Aga Wirkung: Quelldatei heiát "test.src". Ae2Die vom Preprocessor erzeugte Datei heiát "test.srs". Die vom rsc-Compiler erzeugte Datei heiát "test.rc". Die vom systemabh„ngigen Compiler erzeugte Datei heiát "test.res". AliKommando: rsc -s -fpTest.srs Test1 Test2 Test3 Aga Wirkung: Es wird nur eine Syntaxanalyse durchgefhrt. Ae2Die Quelldateien heiáen "Test1.src", "Test2.src" und "Test3.src". AgaDie vom Preprocessor erzeugte Datei heiát "Test.srs". AgaWeitere Dateien werden nicht erzeugt. AliKommando: rsc -l test Aga Wirkung: Quelldatei heiát "test.srs". Ae2Der Preprocessor wird nicht benutzt. Die vom rsc-Compiler erzeugte Datei heiát "test.rc". Die vom systemabh„ngigen Compiler erzeugte Datei heiát "test.res". Aga Au1parsc-Preprocessor Aga Af1Kommandozeile Aga AgaDie Kommandozeile hat folgende Syntax: Alirscpp [...] Quelldatei Zieldatei Aga Af1Schalter Aga -C   Entfernt die Kommentare nicht( //, /* ... */ ). -D Hat die gleiche Wirkung wie #define Symbolname in der Datei   selbst. -I Gibt an, in welchen Verzeichnissen nach Include-Dateien gesucht   werden soll. Af1Preprocessor-Anweisungen Aga Der Preprocessor muá folgende Anweisungen verarbeiten k”nnen: #define  Definiert ein Symbol. #undef  Nimmt die Definition eines Symbols zurck. #if, #ifdef, #ifndef, #elif, #else und #endif Bedingte šbersetzung. #include  Eine Datei einschieben. Au1paDefault Preprozessor Aga Der "Default Preprozessor" erkennt nur die Schlsselw”rter #define und #include. Groá- und Kleinschreibung wird ignoriert. Hinter dem Schlsselwort #define muá eine Zahl definiert werden. Hierzu drfen vorher mit dem Schlsselwort #define definierte Namen verwendet werden. Defines drfen nicht an beliebiger Stelle in der Datei stehen. Hinter dem Schlsselwort #include muá ein Dateiname angegeben werden. Der Name steht in spitzen Klammern oder in Anfhrungszeichen. Beide Formate werden gleich interpretiert. Includedateien innerhalb von Includedatei werden ignoriert. Die Includedateien werden in der Reihenfolge in der sie auftreten abgearbeitet. Sie werden immer vor der Datei abgearbeitet, in der sie definiert sind. Eine Datei die nur mit dem "Default Preprozessor" bersetzt wird, kann mit dem Designeditor bearbeitet werden. Au1paEinfaches Beispiel Aga Szenario: Es soll ein kurzes Programm geschrieben werden, um zu sehen, wie das StarView-Resourcesystem arbeitet. Das Programm heiát "ownrc". Af1Sourcedatei "ownrc.cxx". Aga Ali/********************************************************** /# Programm zum Anzeigen einer Dialogbox aus der Resource /# Dateiname: ownrc.cxx /# Autor: MM /# Datum: 31.07.90 **********************************************************/ /******************* I N C L U D E S *********************/ #include #include #include #include // Identifier der Dialogbox /******************* C L A S S E S **********************/ class MyApplication : public Application { // Meine Applikationsklasse public: void Main( int argc, char* argv[] ); }; class MyDialog : public ModelessDialog { // Dialogbox mit einem Flash- und Cancel-Button. PushButton aPB_Flash; PushButton aPB_Cancel; public: // Der Konstruktor mit ResId zeigt an, daá MyDialog aus // der Resource geladen wird. MyDialog( Window* pParent, ResId & rResId ); void FlashBtnHdl ( Button* ); void CancelBtnHdl( Button* ); }; paclass MyWindow : public WorkWin { public: MyWindow( Window* pParent, WinBits aWinStyle ) :  (pParent, aWinStyle) {  // Es wird eine Dialogbox aus der Resource geladen.  new MyDialog( this, ResId( DLG_CANCEL )); }; }; /*************** G L O B A L V A R I A B L E S ******/ MyApplication MyApp; // Applikationsinstanz /******************* C O D E *****************************/ /******************* M y Ap p l i c a t i o n **********/ /*********************************************************/ |* |* MyApplication::Main() |* |* Beschreibung: Virtuelle Methode, die vom System |*   gerufen wird, um das Programm zu |*   starten. |* Ersterstellung: MM 01.08.90 |* Letzte Aenderung: MM 03.06.91 |* **********************************************************/ void MyApplication::Main( int, char* argv[] ) { // Applikationsfenster erzeugen. MyWindow aCancel( NULL, WinBits( WB_APP | WB_MOVEABLE |        WB_SIZEABLE |        WB_MINMAX |        WB_CLOSEABLE )); // Applikationsfenster anzeigen. aCancel.Show(); // Event-Schleife des Fenstersystems starten. Execute(); } pa/********************************************************** |* |* MyDialog::MyDialog() |* |* Beschreibung: Konstruktor der Klasse MyDialog. |*   Dies ist ein typischer Konstruktor, |*   um Objekte aus der Resource zu |*   laden. |*   1. rResId.Lock(), die Resource wird |*   gelockt. |*   2. aPB_Flash( this, ResId( PB_FLASH )); |*   Es wird der Flash-Button geladen. |*   3. aPB_Cancel( this, ResId( PB_Cancel )); |*   Es wird der Cancel-Button geladen. |*   4. rResId.Unlock(), ein Unlock auf |*   die Resource. |*   Wurde von keiner abgeleiteten Klasse |*   ein Lock ausgefhrt, dann wird die |*   Resource an dieser Stelle freigegeben. |* Ersterstellung: MM 01.08.90 |* Letzte Aenderung: MM 03.06.91 |* **********************************************************/ MyDialog::MyDialog( Window* pParent, ResId & rResId ) :    ( pParent, rResId.Lock()),     aPB_Flash( this, ResId( PB_FLASH )),     aPB_Cancel( this, ResId( PB_CANCEL )) { // Handler setzen. aPB_Flash.ChangeClickHdl  ( LINK( this, MyDialog::FlashBtnHdl )); aPB_Cancel.ChangeClickHdl  ( LINK( this, MyDialog::CancelBtnHdl )); rResId.Unlock(); // Resource freigeben. } pa/********************************************************* |* MyDialog::CancelBtnHdl() |* |* Beschreibung:  Die Dialogbox wird zerst”rt. |* Ersterstellung: MM 01.08.90 |* Letzte Aenderung: MM 14.08.90 *********************************************************/ void MyDialog::CancelBtnHdl( Button* ) { // Das L”schen der Dialogbox ist schneller, wenn sie // vorher nicht mehr sichtbar ist. Hide(); // Zerst”ren der DialogBox-Instanz. delete this; } /********************************************************** |* MyDialog::FlashBtnHdl() |* |* Beschreibung: Die Titlebar der Dialogbox flackert |*   einmal. |* Ersterstellung: MM 01.08.90 |* Letzte Aenderung: MM 14.08.90 **********************************************************/ void MyDialog::FlashBtnHdl( Button* ) { FlashWindow(); } Aga Af1Resource-Headerdatei Aga Ali/********************************************************** |* Headerdatei fuer ownrc.src |* Dateiname: ownrc.hxx |* Autor: MM |* Datum: 31.07.90 *********************************************************/ #define DLG_CANCEL 300 #define PB_FLASH  1 #define PB_CANCEL  2 #define DLG_PROTOTYPE 301 Aga Af1paResource-Beschreibungsdatei Aga Ali/********************************************************** |* Resourcedatei fuer ownrc.cxx |* Dateiname: ownrc.src |* Autor: MM |* Datum: 31.07.90 **********************************************************/ #include MODELESSDIALOG DLG_PROTOTYPE { Pos  = Map_Pixel( 50, 60 ); Size = Map_SysFont( 100, 100 ); TEXT = "Markus zweite Dialogbox"; MOVEABLE = TRUE; SIZEABLE = TRUE; CLOSEABLE = TRUE; // Diese Objekte werden automatisch angezeigt. WinChilds = {  PUSHBUTTON  {   PosSize = ( 10, 50, 100, 30 );   TEXT = "Ok";   TABSTOP = TRUE;  };  PUSHBUTTON  {   Pos  = ( 130, 50 );   Size = ( 100, 30 );   TEXT = "Cancel";   TABSTOP = TRUE;  }; }; }; paMODELESSDIALOG DLG_CANCEL { PosSize = ( 50, 60, 100, 100 ); TEXT = "Markus erste Dialogbox"; MOVEABLE = TRUE; SIZEABLE = TRUE; PUSHBUTTON PB_FLASH {  PosSize = ( 10, 50, 100, 30 );  TEXT  = "Flash";  TABSTOP = TRUE; }; PUSHBUTTON PB_CANCEL {  PosSize = ( 130, 50, 100, 30 );  TEXT  = "Abbrechen";  TABSTOP = TRUE; }; // Ueber solche Konstruktionen koennen Objekte in der // Resource automatisch angezeigt werden. WinChilds = {  MODELESSDIALOG , DLG_PROTOTYPE; }; }; Aga Af1paMakefile Aga Wie die Dateien gebildet werden, ist dem StarView-Handbuch und den dazugeh”rigen Beispielen zu entnehmen. Der Aufruf des Resourcecompilers lautet in diesem Fall: Aga Aliownrc.res: ownrc.src ownrc.hrc rsc -fsownrc.rc -fpownrc.srs  -foownrc.res -flownrc.lst ownrc.src Aga Agaownrc.src ist die Eingabedatei des rsc-Compilers. ownrc.srs ist ein Zwischenformat des rsc-Compilers. ownrc.lst ist die Listingdatei des rsc-Compilers. ownrc.rc ist die Textdatei, die als Eingabe des systemspezifischen Compilers dient. ownrc.res ist die bin„re Resourcedatei. Speziell fr MS-Windows gilt, daá die Resourcedatei an die ".exe"-Datei angebunden werden kann. Aga Ali rc -k ownrc.res ownrc.exe Aga AgaMit dieser Zeile wird die Resource an die ".exe"-Datei angebunden. Aga Au1paSyntax Aga Af1Compiler Anweisungen Aga#pragma CHARSET IBMPC #pragma CHARSET ANSI #pragma CHARSET MAC Mit diesen Optionen kann angegeben werden, in welchem Zeichensatz die Strings vorliegen. Der Compiler nimmt dann eine Konvertierung in das Zielsystem vor. Als Default wird vorausgesetzt, daá die Datei im Zeichensatz des Zielsystems vorliegt. Af1Default Preprozessor-Syntax AliPrepDefinition:  { IncludeDefinition }  [{ DefineDefinition }] IncludeDefinition:  '#' include '<' Dateiname '>' |  '#' include String Ali DefineDefinition:  '#' define SYMBOL NumberExpression Af1Klass-Syntax AliResourceDefinition: Ali  [ PrepDefinition ]  { ClassDefinition } ClassDefinition:  ClassHeader ClassBody ';'  ClassHeader ';' |  NumberExpression ';' |  TupelExpression ';' |  CONSTNAME ';' |  Boolean ';' |  String ';' ClassHeader:  CLASSNAME [ Identifier ] [ ',' | '<' Identifier ] pa ClassBody: '{'  {   ClassDefinition |   VariableDefiniton  } '}' VariableDefinition:  VARIABLENAME '=' ClassDefinition |  VARIABLENAME '=' '{' { ClassDefinition } '}' ';' TupelExpression: [ ClassDefinition ] '(' { ClassDefinition } ')' NumberExpression:  [ '-' | '+' ] Number |  NumberExpression '+' | '-' | '*' | '/'  NumberExpression |  [ '-' | '+' ] '(' NumberExpression ')' Identifier:  NumberExpression |  Symbol Number:  { DEZIMALZIFFER } |  '0' 'x' { HEXADEZIMALZIFFER } Boolean:  TRUE | FALSE AgaString: Aga  Mit "\57" k”nnen bestimmte Zeichenwerte angegeben werden.  Der Backslash wird durch "\\" und das Anfhrungszeichen durch "\""  angegeben. Die Zahl hinter dem Backslash wird Oktal interpretiert. Aga Au1paKlassen-Erkl„rung: Resource -> StarView Aga In diesem Abschnitt wird anhand von vollst„ndigen Beispielen erkl„rt, was fr Daten in welchen StarView-Klassen in der Resource definiert werden k”nnen. Die Resource ist wie StarView hierarchisch aufgebaut. Das heiát, alles in einer h”heren Hierarchiestufe Enthaltene wird in eine tiefere bertragen. Die Namen im nach folgenden Diagramm sind die Namen der Schlsselw”rter in der Resource, mit Aus nahme von SystemWindow und Edit. Af1Hierarchie: Aga AgaResource String Icon Bitmap Pointer Brush Color Font Pen MapMode Accelerator AcceleratorKey Menu MenuItem MessBox  SysMessBox  InfoBox  WarningBox  ErrorBox  QueryBox OutputDevice  Window   [SystemWindow]    WorkWindow     MDIWindow    [Dialog]     ModelessDialog     ModalDialog   Control    Button     CheckBox      AutoCheckBox     PushButton      DefPushButton     RadioButton      AutoRadioButton     TriStateBox      AutoTriStateBox    [Edit]     SingleLineEdit     MultiLineEdit    ScrollBar     AutoScrollBar    ListBox     DropDownListBox     ComboBox      DropDownComboBox    FixedText    FixedIcon    FixedBitmap    GroupBox Alle Daten, die in Button angegeben werden, k”nnen auch in PushButton oder CheckBox angegeben werden. Entsprechendes gilt z.B. fr Daten in ListBox, die auch in ComboBox angegeben werden k”nnen. Eine genauere Erkl„rung folgt nach den Erl„uterungen der einzelnen Resourcetypen. Aga Af1paResource Resource Aga Diese Resource definiert Daten fr die StarView-Klasse Resource. AgaBeispiel: Aga Ali Resource {  Comment = "Dies ist ein Kommentar.";  SingleLineEdit 1  {   Text = "Editfeld";  };  PushButton 1  {   Check = TRUE;  };  String 1 "Vorname";  String 2 "Nachname";  String 3 "Adresse";  String 4 "Telefon";  // Zwei Strings angehaengt  EXTRADATA = { 2; // Anzahl der Strings   "Hallo"; "Markus";   };  // Vier short angehaengt  EXTRADATA = { 4; // Anzahl der Zahlen   1; 100; 5; 12;   }; }; Aga In dieser Klasse k”nnen nur lokale Resourcen definiert werden. Wie das Schlsselwort EXTRADATA verwendet wird lesen sie bitte im Kapitel "Spezielle Resource-Konstrukte" nach. Nach dem Schlsselwort COMMENT kann ein Kommentar angegeben werden. Unter StarView hat diese Angabe keine Funktion. Sie dient zum Beschreiben von Resourcen, da der Designeditor alle anderen Kommentare l”scht. AgaDefault: Aga Ali Resource {}; Aga Af1Resource String Aga Diese Resource definiert Daten fr die StarView-Klasse String. AgaBeispiel: Aga Ali String 1000 {  Text = "Hello World"; }; Aga Als abkrzende Schreibweise ist auch Ali String 1000 "Hello World"; Agaerlaubt. Aga Af1paResource Icon Aga Diese Resource definiert Daten fr die StarView-Klasse Icon. AgaBeispiel: Aga Ali Icon {  Predefine = ICON_DEFAULT; }; Aga Nach dem Schlsselwort PREDEFINE wird ein Icon benannt, das schon in StarView vorhanden ist. Anstelle von ICON_DEFAULT kann auch ICON_INFORMATION, ICON_EXCLAMATION, ICON_STOP oder ICON_QUERY geschrieben werden. Wie diese Icons aussehen, kann im StarView-Handbuch unter der Klasse Icon nach gelesen werden. AgaBeispiel: Aga Ali Icon {  File = "Icon.ico";  //Nur fuer MAC  Type = ICON_CICN;  Identifier = 1000; }; Aga Nach dem Schlsselwort FILE wird ein Dateiname angegeben, der auf eine Datei ver weist, die ein Icon enth„lt. Diese Datei ist systemabh„ngig. Nach dem Schlsselwort TYPE wird der Typ des Icons angegeben. Es k”nnen ICON_ICON und ICON_CICN als Typen angegeben werden. ICON_ICON verweist auf den Mac-Resourcetyp 'ICON' und ICON_CICN auf den Typ 'cicn'. Diese Angabe wird nur fr den Mac ben”tigt. Nach dem Schlsselwort IDENTIFIER wird der Identifier des Icons in der durch FILE spezifizierten Datei angegegeben. Diese Angabe wird nur fr den Mac ben”tigt. Werden PREDEFINE und FILE angegeben, wird eins der beiden Schlsselw”rter gew„hlt. AgaDefault: Aga Ali Icon {  Predefine = ICON_DEFAULT; }; Aga Fr IDENTIFIER und TYPE gibt es keinen Default. Af1paResource Bitmap Aga Diese Resource definiert Daten fr die StarView-Klasse Bitmap. Aga AgaBeispiel: Aga Ali Bitmap {  File = "Bitmap.bmp";  // Nur fuer Mac  //TYPE = ; Es gibt nur einen Typ  Identifier = 1000; }; Aga Nach dem Schlsselwort FILE wird ein Dateiname angegeben, der auf eine Datei ver weist, die eine Bitmap enth„lt. Diese Datei ist systemabh„ngig. Nach dem Schlsselwort TYPE wird der Typ der Bitmap angegeben. Dieses Schlsselwort ist fr zuknftige Erweiterungen. Der Mac-Resourcetyp ist 'PICT'. Diese Angabe wird nur fr den Mac ben”tigt. Nach dem Schlsselwort IDENTIFIER wird der Identifier der Bitmap in der durch FILE spezifizierten Datei angegegeben. Diese Angabe wird nur fr den Mac ben”tigt. AgaDefault: Aga Ali Bitmap {  File = ""; }; Aga Der Default ergibt immer einen Fehler. Fr IDENTIFIER und TYPE gibt es keinen Default. Af1paResource Pointer Aga Diese Resource definiert Daten fr die StarView-Klasse Pointer. AgaBeispiel: Aga Ali Pointer {  Predefine = POINTER_ARROW; }; Aga Nach dem Schlsselwort PREDEFINE wird ein Pointer benannt, der schon in StarView vorhanden ist. Anstelle von POINTER_ARROW kann auch POINTER_WAIT, POINTER_CROSS oder POINTER_BEAM geschrieben werden. Wie diese Pointer aussehen, ist im StarView-Handbuch unter der Klasse Pointer nachzulesen. AgaBeispiel: Aga Ali Pointer {  File = "Pointer.pnt";  // Nur fuer Mac  Identifier = 1000; }; Aga Nach dem Schlsselwort FILE wird ein Dateiname angegeben, der auf eine Datei ver weist, die einen Pointer enth„lt. Diese Datei ist systemabh„ngig. Nach dem Schlsselwort IDENTIFIER wird der Identifier des Pointers in der durch FILE spezifizierten Datei angegegeben. Diese Angabe wird nur fr den Mac ben”tigt. Nach dem Schlsselwort TYPE wird der Typ des Pointers angegeben. Dieses Schlsselwort ist fr zuknftige Erweiterungen. Der Mac-Resourcetyp ist 'CURS'. Diese Angabe wird nur fr den Mac ben”tigt. Werden PREDEFINE und FILE angegeben, wird eine der beiden M”glichkeiten ausgew„hlt. AgaDefault: Aga Ali Pointer {  Predefine = POINTER_ARROW; }; Aga Fr IDENTIFIER und TYPE gibt es keinen Default. Af1Resource Brush Aga Diese Resource definiert Daten fr die StarView-Klasse Brush. AgaBeispiel: Aga Ali Brush {  Style  = BRUSH_SOLID;  Transparent = TRUE;  BrushColor = Color  {   RGB = (0, 0, 0);  };  FillColor = Color  {   RGB = (65535, 65535, 65535);  }; }; Aga Nach dem Schlsselwort STYLE wird der Stil einer Brush benannt. Die Stile sind in StarView vordefiniert. Anstelle von BRUSH_SOLID kann auch BRUSH_HORZ,  BRUSH_VERT,  BRUSH_CROSS, BRUSH_DIAGCROSS,  BRUSH_UPDIAG, BRUSH_DOWNDIAG, BRUSH_BITMAP,  BRUSH_25,  BRUSH_50, BRUSH_75,   BRUSH_NULL geschrieben werden. Wie diese Stile aussehen, ist im StarView-Handbuch unter der Klasse Brush nachzulesen. Nach dem Schlsselwort TRANSPARENT kann TRUE oder FALSE angegeben werden. FALSE bedeutet, daá die Brush transparent ist, bei TRUE wird die Brush mit der Fllfarbe hinterlegt. Aga Die Farbe BRUSHCOLOR ist die Farbe des Musters. Die Farbe FILLCOLOR ist die Farbe in den Lcken innerhalb des Musters. AgaBeispiel: Aga Ali Brush {  Bitmap  {   File = "Bitmap.bmp";  }; }; Aga Die angegebene Bitmap wird als Brush verwendet. Die Color- und Style-Eintr„ge sind wirkungslos. Das Format der Bitmap ist dem StarView-Handbuch zu entnehmen. Wird BITMAP in Kombination mit FILLCOLOR, BRUSHCOLOR oder STYLE verwendet, wird eine der M”glichkeiten gew„hlt. AgaDefault: Aga Ali Brush {  Style  = BRUSH_SOLID;  Transparent = FALSE; }; Aga Welche Defaults fr FILLCOLOR und BRUSHCOLOR verwendet werden, ist im StarView-Handbuch unter der Klasse Brush nachzulesen. Au2 Af1paResource Color Aga Diese Resource definiert Daten fr die StarView-Klasse Color. AgaBeispiel: Aga Ali Color {  RGB = ( 32768, 0, 32768); }; Aga Nach dem Schlsselwort RGB wird der Rot-, Grn- und Blauanteil einer Farbe defi niert. Das erste Element im Tupel steht fr Rot, das zweite fr Grn und das dritte fr Blau. Die Intensit„t kann mit Werten im Bereich von 0 bis 65535 angegeben werden. AgaBeispiel: Aga Ali Color {  Red = 1;  Green = 2;  Blue = 3; }; Aga Durch das Schlsselwort RED wird die Rotanteil bestimmt. Durch das Schlsselwort GREEN wird die Grnanteil bestimmt. Durch das Schlsselwort BLUE wird die Blauanteil bestimmt. Aga Beispiel: Aga Ali Color {  Predefine = COL_BLACK; }; Aga AgapaNach dem Schlsselwort PREDEFINE wird eine Farbe benannt. Die Farben sind in StarView vordefiniert. Anstelle von COL_BLACK kann auch COL_BLUE,   COL_GREEN,  COL_CYAN, COL_RED,   COL_MAGENTA,  COL_BROWN, COL_GRAY,   COL_LIGTHGRAY,  COL_LIGHTBLUE, COL_LIGHTGREEN,  COL_LIGHTCYAN,  COL_LIGHTRED, COL_LIGHTMAGENTA,  COL_YELLOW,  COL_WHITE, COL_MENUBAR,  COL_MENUBARTEXT,  COL_POUPMENU, COL_POPUPMENUTEXT, COL_3DTEXT,  COL_3DFACE, COL_3DLIGHT,  COL_3DSHADOW,  COL_USER geschrieben werden. Wie diese Farben aussehen, ist im StarView-Handbuch unter der Klasse Color nachzulesen. Aga Default: Aga Ali Color {  Predefine = COL_USER; // RGB gltig  RGB = (0, 0, 0); // schwarz }; Aga Af1paResource Font Aga Diese Resource definiert die Daten fr die StarView-Klasse Font. AgaBeispiel: Aga Ali Font {  Family  = FAMILY_DECORATIVE;  Weight  = WEIGHT_DONTKNOW;  CharSet  = CHARSET_ANSI;  Pitch   = PITCH_FIXED;  Align   = ALIGN_BOTTOM;  Height  = 12;  Width   = 6;  CharOrientation = 0;  LineOrientation = 0;  Italic  = TRUE;  Underline  = TRUE;  StrikeOut  = TRUE;  Transparent = TRUE;  Shadow  = TRUE;  Outline  = TRUE;  Text   = "FontName";  FontColor  = Color { RGB = ( 0, 0, 0 ); };  FillColor  = Color { Predefine = COL_RED; }; }; Aga AgaNach dem Schlsselwort FAMILY wird eine Font-Familie benannt. Die Font-Familien sind in StarView vordefiniert. Anstelle von FAMILY_DECORATIVE kann auch FAMILY_SCRIPT, FAMILY_MODERN, FAMILY_ROMAN, FAMILY_SWISS, FAMILY_SYSTEM oder FAMILY_DONTCARE geschrieben werden. Was diese Font-Familien bewirken, ist im StarView-Handbuch unter der Klasse Font nachzulesen. Aga AgaNach dem Schlsselwort WEIGHT wird ein weiteres Attribut des Fonts benannt. Diese Attribute sind in StarView vordefiniert. Anstelle von WEIGHT_DONTKNOW kann auch WEIGHT_LIGHT, WEIGHT_NORMAL oder WEIGHT_BOLD geschrieben werden. Was dieses Attribut bewirkt, ist im StarView-Handbuch unter der Klasse Font nachzulesen. Aga AgaNach dem Schlsselwort CHARSET wird der Zeichensatz des Fonts benannt. Anstelle von CHARSET_ANSI kann auch CHARSET_DONTKNOW, CHARSET_IBMPC, CHARSET_MAC oder CHARSET_SYMBOL geschrieben werden. Aga paNach dem Schlsselwort PITCH wird ein weiteres Attribut des Fonts benannt. Anstelle von PITCH_FIXED kann auch PITCH_DONTKNOW oder PITCH_VARIABLE geschrieben werden. Aga Nach dem Schlsselwort ALIGN wird die Ausrichtung des Fonts benannt. Anstelle von ALIGN_BOTTOM kann auch ALIGN_TOP oder ALIGN_BASELINE geschrie ben werden. Aga Nach dem Schlsselwort HEIGHT wird die H”he eines Fonts angegeben. Der Zahlen bereich umfaát Werte von 0 bis 65535. Nach dem Schlsselwort WIDTH wird die Breite eines Fonts angegeben. Der Zahlen bereich umfaát Werte von 0 bis 65535. Nach dem Schlsselwort CHARORIENTATION wird die Drehung der Zeichen ange geben. Die Angabe der Drehung erfolgt in Zehntelgrad. Der Zahlenbereich umfaát Werte von 0 bis 3600. Nach dem Schlsselwort LINEORIENTATION wird die Drehung der Ausgabezeile angegeben. Die Angabe der Drehung erfolgt in Zehntelgrad. Der Zahlenbereich umfaát Werte von 0 bis 3600. Nach dem Schlsselwort ITALIC kann TRUE oder FALSE angegeben werden. Bei TRUE handelt es sich um einen kursiven Font, bei FALSE um einen nicht kursiven Font.??? Nach dem Schlsselwort UNDERLINE kann TRUE oder FALSE angegeben werden. Bei TRUE handelt es sich um einen unterstrichenen Font, bei FALSE ist der Font nicht unterstrichen. Nach dem Schlsselwort STRIKEOUT kann TRUE oder FALSE angegeben werden. Bei TRUE handelt es sich um einen durchgestrichenen Font, bei FALSE ist der Font nicht durchgestrichen. Nach dem Schlsselwort TRANSPARENT kann TRUE oder FALSE angegeben werden. Bei TRUE werden die Zeichen mit der Fllfarbe ausgefllt, bei FALSE werden die Zeichen nicht ausgefllt. Nach dem Schlsselwort SHADOW kann TRUE oder FALSE angegeben werden. Bei TRUE werden die Zeichen mit Schatten ausgegeben, bei FALSE gibt es keinen Schatten. Nach dem Schlsselwort OUTLINE kann TRUE oder FALSE angegeben werden. Bei TRUE wird nur der Umriss der Zeichen ausgegeben, bei FALSE werden die Zeichen normal dargestellt. Nach dem Schlsselwort TEXT wird der Name des Fonts angegeben. Die Farbe FONTCOLOR ist die Farbe des Fonts. Die Farbe FILLCOLOR ist die Farbe der Lcken zwischen den Zeichen. AgapaDefault: Aga Ali Font {  Family  = FAMILY_DONTKNOW;  Weight  = WEIGHT_NORMAL;  CharSet  = CHARSET_DONTKNOW;  Pitch   = PITCH_DONTKNOW;  Align   = ALIGN_TOP;  Height  = 0;  Width   = 0;  CharOrientation = 0;  LineOrientation = 0;  Italic  = FALSE;  Underline  = FALSE;  StrikeOut  = FALSE;  Transparent = FALSE;  Shadow  = FALSE;  OutLine  = FALSE;  Text   = ""; }; Aga Welche Defaults fr FONTCOLOR und FILLCOLOR verwendet werden, ist im StarView-Handbuch unter der Klasse Font nachzulesen. Au2 Af1paResource Pen Aga Diese Resource definiert die Daten fr die StarView-Klasse Pen. AgaBeispiel: Aga Ali Pen {  Width  = 1;  Style  = PEN_DASH;  PenColor = Color  {   Predefine = COL_BLACK;  }; }; Aga Hinter dem Schlsselwort WIDTH wird die Breite des Stiftes angegeben. Der Zahlen bereich umfaát Werte von 0 bis 65536. Hinter dem Schlsselwort Style wird der Linientyp des Stiftes angegeben. Die Typen sind in StarView vordefiniert. Anstelle von PEN_DASH kann auch PEN_NULL, PEN_SOLID, PEN_DOT oder PEN_DASHDOT geschrieben werden. Wie diese Typen aussehen, ist im StarView-Handbuch unter der Klasse Pen nachzulesen. Aga Default: Aga Ali Pen {  Width = 0;  Style = PEN_NULL;  PenColor = Color;  {   RGB = (0, 0, 0);  }; }; Aga Af1paResource MapMode Aga Diese Resource definiert Daten fr die StarView-Klasse MapMode. AgaBeispiel: Aga Ali MapMode {  MapUnit = MAP_SYSFONT;  X  = 20;  Y  = 30;  xScale = ( 2, 1 );  yScale = ( 1, 1 ); }; Aga Nach dem Schlsselwort MAPUNIT wird eine Einheit des Koordinatensystems defi niert. Die Einheiten sind in StarView vordefiniert. Anstelle von MAP_SYSFONT kann auch MAP_100TH_MM, MAP_10TH_MM, MAP_MM, MAP_CM, MAP_1000TH_INCH, MAP_100TH_INCH, MAP_10TH_INCH, MAP_INCH, MAP_POINT, MAP_TWIP, MAP_PIXEL oder MAP_APPFONT geschrieben werden. Was dies fr Einheiten sind, ist im StarView-Handbuch unter der Klasse MapMode nachzulesen. Nach den Schlsselw”rtern X und Y wird der Ursprung des Koordinatensystems ange geben. Die Einheiten sind die nach MapUnit definierten. Der Zahlenbereich umfaát Werte von 0 bis 65535. Nach den Schlsselw”rtern XSCALE und YSCALE wird der Streckungsfaktor des Koordinatensystems in x- bzw. in y-Richtung angegeben. Der Zahlenbereich umfaát Werte von -32768 bis 32767. AgaDefault: Aga Ali MapMode {  MapUnit = MAP_APPFONT;  X = 0;  Y = 0;  xScale = ( 1, 1 );  yScale = ( 1, 1 ); }; Aga Af1paResource Accelerator Aga Diese Resource definiert die Daten der StarView-Klasse Accelerator. AgaBeispiel: Aga Ali Accelerator {  HelpText = "Hilfetext";  KeyList =  {   AcceleratorKey   {    Identifier = 1;    Disable = FALSE;    Modifier1 = TRUE;    Code = KEY_D;   };   AcceleratorKey   {    Identifier = 2;    Disable = FALSE;    Modifier1 = TRUE;    Code = KEY_F1;   };  }; }; Aga Nach dem Schlsselwort HELPTEXT wird der Hilfetext des Accelerators angegeben. Im Accelerator k”nnen beliebig viele Acceleratortasten angegeben werden. AgaDefault: Aga Ali Accelerator {  HelpText = ""; }; Aga Af1paResource AcceleratorKey Aga Diese Resource definiert keine Daten einer StarView-Klasse. Diese Resource kann bei der Methode InsertAccelerator() der Klasse Accelerator angegeben werden. Um diese Beschreibung verstehen zu k”nnen, ist es unbedingt notwendig, im StarView-Handbuch die Beschreibung der Klassen Accelerator und KeyCode zu lesen. AgaBeispiel: Aga Ali AcceleratorKey {  Identifier  = 1;  Disable  = FALSE;  Shift   = TRUE;  Modifier1  = TRUE;  Modifier2  = TRUE;  Code   = KEY_A;  SubAccelerator = Accelerator  {   KeyList = {    AcceleratorKey{ ... };    AcceleratorKey{ ... };   };  }; }; Aga Nach dem Schlsselwort IDENTIFIER wird eine Zahl angegeben, die zur Identifi kation dient. Der Definitionsbereich umfaát Werte von 1 bis 65535. Nach dem Schlsselwort DISABLE kann TRUE oder FALSE angegeben werden. Bei TRUE ist die Acceleratortaste inaktiv, bei FALSE aktiv. Nach dem Schlsselwort SHIFT kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Modifier KEY_SHIFT zum Keycode gesetzt, FALSE hat keine Bedeu tung. paNach dem Schlsselwort MODIFIER1 kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Modifier KEY_MOD1 zum Keycode gesetzt, FALSE hat keine Bedeutung. Nach dem Schlsselwort MODIFIER2 kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Modifier KEY_MOD2 zum Keycode gesetzt, FALSE hat keine Bedeutung. AgaNach dem Schlsselwort CODE wird ein Tastencode angegeben. Die Tastencodes sind in StarView vordefiniert. Anstelle von KEY_A kann auch ein Wert aus KEY_0 ... KEY_9, KEY_A ... KEY_Z, KEY_F1 ... KEY_F24, KEY_DOWN, KEY_UP, KEY_LEFT, KEY_RIGHT, KEY_HOME, KEY_END, KEY_PAGEUP, KEY_PAGEDOWN, KEY_RETURN, KEY_ESCAPE, KEY_TAB, KEY_SPACE, KEY_BACKSPACE, KEY_INSERT, KEY_DELETE, KEY_NUMLOCK, KEY_SHIFTLOCK oder KEY_SCROLLLOCK geschrieben werden. Aga In einer Acceleratortaste kann genau ein Accelerator definiert werden. Dieser Accelerator wird an die Acceleratortaste angeh„ngt. Aga AgaDefault: Aga Ali AcceleratorKey {  Identifier = nId; //nicht definiert  DISABLE = FALSE;  Shift  = FALSE;  Modifier1 = FALSE;  Modifier2 = FALSE;  Code  = nKey; // nicht definiert }; Aga Fr nId und nKey gibt es keinen definierten Default. Au2 Af1paResource Menu Aga Diese Resource definiert die Daten der StarView-Klassen PopupMenu und MenuBar. AgaBeispiel: Aga Ali Menu {  ItemList =  {   MenuItem   {    Text = "Laden";    Identifier = 1;   };   MenuItem   {    Text = "Speichern";    Identifier = 2;   };   MenuItem   {    Separator = TRUE;   };   MenuItem   {    Text = "Beenden";    Identifier = 3;   };  }; }; Aga In Menu k”nnen beliebig viele Men-Items angegeben werden. Sie werden in der Reihenfolge, in der sie aufgeschrieben werden, im Men aufgefhrt. Nach dem Schlsselwort SEPARATOR kann TRUE oder FALSE angegeben werden. Bei TRUE werden Men-Items visuell voneinander getrennt. AgaDefault: Aga Ali Menu {}; Aga Af1paResource MenuItem Aga Diese Resource definiert keine Daten einer StarView-Klasse. Diese Resource kann bei der Methode InsertItem() der Klasse Menu angegeben werden. AgaBeispiel: Aga Ali MenuItem {  Text  = "MenuItem";  HelpText = "Hilfetext";  Identifier = 1;  HelpId = 1001:  Check  = TRUE;  Disable = TRUE;  SubMenu = Menu  {   ItemList =   {    MenuItem{ ... };    MenuItem{ ... };   };  }; }; Aga Nach dem Schlsselwort TEXT wird der Text des Men-Items angegeben. Nach dem Schlsselwort HELPTEXT wird der Hilfetext des Men-Items angegeben. Nach dem Schlsselwort IDENTIFIER wird eine Zahl angegeben, die zur Identifi kation dient. Der Definitionsbereich umfaát Werte von 1 bis 65535. Nach dem Schlsselwort HELPID wird eine Zahl angegeben. Diese Zahl ist ein Hilfeidentifier (eine Referenz ins Hilfesystem). Der Definitionsbereich umfaát Werte von 0 bis 4294967295. Es k”nnen auch die vordefinierten Werte HELP_INDEX und HELP_HELPONHELP benutzt werden. Nach dem Schlsselwort CHECK kann TRUE oder FALSE angegeben werden. Bei TRUE hat das Men-Item eine Auswahlmarkierung, bei FALSE hat es keine Auswahl markierung. Nach dem Schlsselwort DISABLE kann TRUE oder FALSE angegeben werden. Bei TRUE ist der Zugriff auf das Men-Item nicht m”glich, bei FALSE ist der Zugriff m”glich. In einem Men-Item kann genau ein Men definiert werden. Dieses Men wird an das Men-Item angeh„ngt (SubMenu). AgaBeispiel: Aga Ali MenuItem {  Identifier = 1;  ItemBitmap = Bitmap  {   File = "bitmap.bmp";  }; }; Aga Anstelle eines Textes wird in dem Men-Item diese Bitmap ausgegeben. AgaBeispiel: Aga MenuItem {  Separator = TRUE; }; Das Men-Item verh„lt sich wie ein Separator (siehe Menu). Werden TEXT, SEPARATOR oder BITMAP gleichzeitig verwendet, wird eine der drei M”glichkeiten gew„hlt. AgaDefault: Aga Ali MenuItem {  Text  = "";  HelpText = "";  Identifier = nId; //nicht definiert  HelpId = 0;  Check  = FALSE;  Disable = TRUE; }; Aga Fr nId gibt es keinen definierten Default. Au2 Af1paResource MessBox Aga Diese Resource definiert die Daten der StarView-Klasse MessBox. AgaBeispiel: Aga Ali MessBox {  Title   = "Ich bin eine Messagebox.";  Message  = "Guten Morgen";  HelpText  = "Hilfe";  Buttons  = WB_OK;  DefaultButton = WB_DEF_OK;  HelpId  = 1; }; Aga Der Text nach dem Schlsselwort TITLE wird der Titel der Box. Einige Boxen haben einen festen Titel. Welche dies sind, ist dem StarView-Handbuch zu entnehmen. Der Text nach dem Schlsselwort MESSAGE wird in der Messagebox angezeigt. Nach dem Schlsselwort HELPTEXT wird der Hilfetext angegeben. Was diese Text angabe bewirkt, ist dem StarView-Handbuch unter der Klasse Window zu entnehmen. Nach dem Schlsselwort BUTTONS wird angegeben, welche Buttons in der Messagebox angezeigt werden sollen. Die Werte sind in StarView vordefiniert. Im StarView-Handbuch unter der Klasse MessBox ist nachzulesen, wann welche Buttons angezeigt werden. Anstelle von WB_OK kann auch WB_OK_CANCEL, WB_YES_NO, WB_YES_NO_CANCEL, oder WB_RETRY_CANCEL angegeben werden. Nach dem Schlsselwort DEFAULTBUTTON wird angegeben, welcher Button in der Messagebox der Default-Button ist. Anstelle von WB_DEF_OK kann auch WB_DEF_CANCEL, WB_DEF_RETRY, WB_DEF_YES, oder WB_DEF_CANCEL geschrieben werden. Nach dem Schlsselwort HELPID wird eine Zahl angegeben. Diese Zahl ist ein Hilfeidentifier (eine Referenz ins Hilfesystem). Der Definitionsbereich umfaát Werte von 0 bis 4294967295. Es k”nnen auch die vordefinierten Werte HELP_INDEX und HELP_HELPONHELP benutzt werden. AgaDefault: Aga Ali MessBox {  Title  = "";  Message = "";  HelpText = "";  Buttons = WB_OK;  HelpId = 0; }; Aga AgaWird kein Default-Button angegeben, dann wird vom System einer ausgew„hlt. Aga Af1Resource SysMessBox Aga Diese Resource definiert die Daten der StarView-Klasse SysMessBox. AgaBeispiel: Aga Ali SysMessBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource InfoBox Aga Diese Resource definiert die Daten der StarView-Klasse InfoBox. AgaBeispiel: Aga Ali InfoBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource WarningBox Aga Diese Resource definiert die Daten der StarView-Klasse WarningBox. AgaBeispiel: Aga Ali WarningBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource ErrorBox Aga Diese Resource definiert die Daten der StarView-Klasse ErrorBox. AgaBeispiel: Aga Ali ErrorBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource QueryBox Aga Diese Resource definiert die Daten der StarView-Klasse QueryBox. AgaBeispiel: Aga Ali QueryBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1paResource OutputDevice Aga Diese Resource definiert Daten der StarView-Klasse OutputDevice. AgaBeispiel: Aga Ali OutputDevice {  OutputPen  = Pen  {   Width = 2;  };  BackGroundBrush = Brush  {   Style = BRUSH_CROSS;  };  FillInBrush = Brush  {   Style = BRUSH_SOLID;  };  OutputFont = Font  {   Height = 12;   Width = 8;   Text = "Helvetica";  };  OutputMapMode = MapMode  {   MapUnit = MAP_MM;  }; }; Aga paMit OUTPUTPEN kann der Default-Pen des Output-Devices angegeben werden. Mit der Brush BACKGROUNDBRUSH wird die Default-Background-Brush??? des Output-Devices angegeben. Mit der Brush FILLINBRUSH wird die Default-Fill-In-Brush??? des Output-Devices angegeben. Mit FONT wird der Default-Font des Output-Devices angegeben. Mit OUTPUTMAPMODE wird der Default-Mapping-Mode des Output-Devices ange geben. Aga Default: Aga Ali OutputDevice {}; Aga Welche Defaults in diesem Fall fr Pen, Brush, Font und MapMode verwendet werden, ist dem StarView-Handbuch unter der Klasse OutputDevice zu entnehmen. Af1paResource Window Aga Diese Resource definiert die Daten der StarView-Klasse Window. AgaBeispiel: Aga Ali Window {  Pos   = MAP_MM( 0, 0 );  Size   = MAP_MM( 100, 50 );  Text   = "Fenstertext";  HelpText  = "";  HelpId  = 1001;  Border  = TRUE;  Hide   = TRUE;  ClipChildren = TRUE;  Disable  = TRUE;  WindowPointer = Pointer  {   Predefine = POINTER_CROSS;  }; Ali }; Aga Nach dem Schlsselwort POS wird die Position des Fensters angegeben. Ob die Positionierung relativ zu einem anderen Fenster erfolgt, ist dem StarView-Handbuch unter der Klasse Window zu entnehmen. Die MapUnit MAP_MM ist die Einheit fr die im Tupel folgende x- und y-Position. Anstelle von MAP_MM kann eine beliebige MapUnit angegeben werden, diese Angabe kann auch weggelassen werden. Der Zahlenbereich umfaát Werte von -32768 bis 32767. Nach dem Schlsselwort SIZE wird die Gr”áe des Fensters angegeben. Die MapUnit MAP_MM ist die Einheit fr die im Tupel folgende Breiten- und H”henangabe. Anstelle von MAP_MM kann eine beliebige MapUnit angegeben werden, diese Angabe kann auch weggelassen werden. Der Zahlenbereich umfaát Werte von -32768 bis 32767. Nach dem Schlsselwort TEXT wird der Fenstertext angegeben. Was diese Text angabe bewirkt, ist dem StarView-Handbuch unter der Klasse Window zu entnehmen. Nach dem Schlsselwort HELPTEXT wird der Hilfetext angegeben. Was diese Text angabe bewirkt, ist dem StarView-Handbuch unter der Klasse Window zu entnehmen. Nach dem Schlsselwort HELPID wird eine Zahl angegeben. Diese Zahl ist ein Hilfeidentifier (eine Referenz ins Hilfesystem). Der Definitionsbereich umfaát Werte von 0 bis 4294967295. Es k”nnen auch die vordefinierten Werte HELP_INDEX und HELP_HELPONHELP benutzt werden. Nach dem Schlsselwort BORDER kann TRUE oder FALSE angegeben werden. Bei TRUE erh„lt das Fenster einen Rahmen, FALSE hat keine Bedeutung. Nach dem Schlsselwort HIDE kann TRUE oder FALSE angegeben werden. Bei TRUE ist das Fenster nach dem Erzeugen nicht sichtbar, bei FALSE ist es sichtbar (Parent-Beziehung beachten!). Nach dem Schlsselwort CLIPCHILDREN kann TRUE oder FALSE angegeben werden. Bei TRUE werden die ChildWindows beim Zeichnen des Parents nicht berschrieben, bei FALSE werden sie berschrieben. Nach dem Schlsselwort DISABLE kann TRUE oder FALSE angegeben werden. Bei TRUE ist der Zugriff auf das Fenster nicht m”glich, bei FALSE ist der Zugriff m”glich (Parent-Beziehung beachten!). Mit WINDOWPOINTER wird der Default-Pointer des Fensters angegeben. AgaBeispiel: Aga Ali Window {  PosSize = MAP_MM( 0, 0, 100, 50 );  TEXT  = "Fenstertext"; }; Aga Nach dem Schlsselwort POSSIZE werden die Position und die Gr”áe des Fensters angegeben. Fr die MapUnit gilt das gleiche wie bei POS und SIZE. Der Zahlenbereich umfaát Werte von -32768 bis 32767. Wird POSSIZE zusammen mit POS und SIZE verwendet, wird eine der M”glichkeiten ausgew„hlt. AgaDefault: Aga Ali Window {  HelpId  = 0;  Border  = FALSE;  Hide   = FALSE;  ClipChildren = FALSE;  Disable  = FALSE; }; Aga Fr WindowPointer, Text, HelpText, Pos und Size werden die Systemdefaults verwendet. Welche Defaults verwendet werden, ist dem StarView-Handbuch unter der Klasse Window zu entnehmen. Af1 Resource SystemWindow Aga Dieses Schlsselwort kann nicht angegeben werden. Um diese Beschreibung verstehen zu k”nnen, ist es unbedingt notwendig, im StarView-Handbuch die Beschreibung der Klasse SystemWindow und aller von ihr abgeleiteten Klassen zu lesen. AgaBeispiel: Aga Ali [SystemWindow] {  Sizeable  = TRUE;  Moveable  = TRUE;  Minimize  = TRUE;  Maximize  = TRUE;  Closeable  = TRUE;  App   = TRUE;  OutputSize  = TRUE;  WinChilds =  {   FText   {    PosSize = MAP_SYSFONT( 0, 0, 80, 10 );    Text = "Name:";   };  };  DefPushButton 1  {   Text = "Ok";  };  PushButton 2  {   Text = "Cancel";  };  SingleLineEdit 3  {   PosSize = MAP_SYSFONT( 80, 0, 120, 10 );  }; }; Aga Nach dem Schlsselwort SIZEABLE kann TRUE oder FALSE angegeben werden. Bei TRUE kann das Fenster vergr”áert und verkleinert werden, bei FALSE kann die Gr”áe nicht ver„ndert werden. Nach dem Schlsselwort MOVEABLE kann TRUE oder FALSE angegeben werden. Bei TRUE kann das Fenster bewegt werden, bei FALSE kann es nicht bewegt werden. Nach dem Schlsselwort MINIMIZE kann TRUE oder FALSE angegeben werden. Bei TRUE kann das Fenster minimiert werden, bei FALSE kann es nicht minimiert werden. Nach dem Schlsselwort MAXIMIZE kann TRUE oder FALSE angegeben werden. Bei TRUE kann das Fenster maximiert werden, bei FALSE kann es nicht maximiert werden. Nach dem Schlsselwort CLOSEABLE kann TRUE oder FALSE angegeben werden. Bei TRUE kann das Fenster geschlossen werden, bei FALSE kann es nicht geschlos sen werden. Nach dem Schlsselwort APPLICATION kann TRUE oder FALSE angegeben werden. TRUE bedeutet, daá das Fenster das Applikationsfenster ist, FALSE hat keine Bedeutung. Nach dem Schlsselwort OUTPUTSIZE kann TRUE oder FALSE angegeben werden. Bei TRUE ist bezieht sich die Gr”áenangabe auf die "OutputSize" des Fensters. Nach dem Schlsselwort WINCHILDS wird ein Textfenster angelegt. Dieses Fenster wird automatisch erzeugt. Anstelle von FTEXT kann jede in der Hierarchie unter Window stehende Resource angegeben werden. Nach dem Schlsselwort PUSHBUTTON 1 wird ein Button definiert. Auf diese Resource kann ber den Identifier 1 zugegriffen werden. Der Identifier kann im Bereich von 1 bis 255 liegen. Anstelle von PushButton kann jede in der Hierarchie unter Resource stehende Resource angegeben werden. AgapaDefault: Aga Ali [SystemWindow] 7 {  Sizeable = FALSE;  Moveable = FALSE;  Minimize = FALSE;  Maximize = FALSE;  Closeable = FALSE;  App  = FALSE;  OutputSize = FALSE; }; Aga Af1paResource WorkWindow Aga Diese Resource definiert die Daten der StarView-Klasse WorkWindow. AgaBeispiel: Aga Ali WorkWindow {  Show   = MAXIMIZE;  WorkWindowIcon = Icon  {   Predefine = ICON_STOP;  }; }; Aga Nach dem Schlsselwort SHOW wird angegeben, wie das Fenster angezeigt wird. Anstelle von MAXIMIZE kann auch NORMAL und MINIMIZE angegeben werden. MAXIMIZE bedeutet, daá das Fenster so groá wie m”glich dargestellt wird, bei MINIMIZE wird das Fenster so klein wie m”glich dargestellt (iconic). NORMAL bedeutet, daá das Fenster in den angegebenen Koordinaten dargestellt wird. WorkWindowIcon ist das Sinnbild, das dargestellt wird, wenn das Fenster minimiert wird. AgaDefault: Aga Ali WorkWindow {  Show = NORMAL; }; Aga Was angezeigt wird, wenn kein Icon angegeben wird, ist im StarView-Handbuch unter der Klasse WorkWindow nachzulesen. Af1paResource MDIWindow Aga Diese Resource definiert die Daten der StarView-Klasse MDIWindow. AgaBeispiel: Aga Ali MDIWindow {}; Aga Es ist nur der Typ des Fensters entscheidend, es sind keine zus„tzlichen Angaben m”g lich. Au2 Af1Resource Dialog Aga Diese Schlsselwort kann nicht angegeben werden. Diese Resource definiert die Daten der StarView-Klasse Dialog. AgaBeispiel: Aga Ali [Dialog] {}; Aga Es ist nur der Typ des Fensters entscheidend, es sind keine zus„tzlichen Angaben m”g lich. Au2 Af1Resource ModelessDialog Aga Diese Resource definiert die Daten der StarView-Klasse ModelessDialog. AgaBeispiel: Aga Ali ModelessDialog {}; Aga Es ist nur der Typ des Fensters entscheidend, es sind keine zus„tzlichen Angaben m”g lich. Au2 pa Af1Resource ModalDialog Aga Diese Resource definiert die Daten der StarView-Klasse ModalDialog. AgaBeispiel: Aga Ali ModalDialog {  SysModal = TRUE; }; Aga Nach den Schlsselwort SYSMODAL kann TRUE oder FALSE angegeben werden. Wird FALSE angegeben, dann ist die Dialogbox applikationsmodal, sonst systemmodal. Systemmodal bedeutet, daá das ganze System angehalten wird und nur in dieser Dialogbox gearbeitet werden kann. Applikationsmodal bedeutet, daá die Applikation angehalten wird und applikationsweit nur in dieser Dialogbox gearbeitet werden kann. Weiteres siehe StarView-Handbuch bei den Klassen Dialog, ModalDialog und ModelessDialog. AgaDefault: Aga Ali ModalDialog {  SysModal = FALSE; }; Af1paResource Control Aga Diese Resource definiert die Daten der StarView-Klasse Control. AgaBeispiel: Aga Ali Control {  TabStop = TRUE;  Group  = TRUE; }; Aga Nach dem Schlsselwort TABSTOP kann TRUE oder FALSE angegeben werden. Bei TRUE ist das Tabstop-Attribut gesetzt, bei FALSE ist es nicht gesetzt. Nach dem Schlsselwort GROUP kann TRUE oder FALSE angegeben werden. Bei TRUE ist das Group-Attribut gesetzt, bei FALSE ist es nicht gesetzt. Was diese Attribute bewirken, ist im StarView-Handbuch unter den Klassen Control und Dialog nachzulesen. AgaDefault: Aga Ali Control {  TabStop = FALSE;  Group  = FALSE; }; Aga Af1Resource Button Aga Diese Resource definiert die Daten der StarView-Klasse Button. AgaBeispiel: Aga Ali Button {}; AgaNur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1paResource CheckBox Aga Diese Resource definiert die Daten der StarView-Klasse CheckBox. Beispiel: Aga Ali CheckBox {  Check = TRUE; }; Aga Nach dem Schlsselwort CHECK kann TRUE oder FALSE angegeben werden. Bei TRUE wird ein Button als angeklickt gekennzeichnet. Dies gilt nur fr Buttons, bei denen solch eine Kennzeichnung vorgesehen ist. AgaDefault: Aga Ali CheckBox {  Check = FALSE; }; Aga Af1Resource AutoCheckBox Aga Diese Resource definiert die Daten der StarView-Klasse AutoCheckBox. AgaBeispiel: Aga Ali AutoCheckBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource PushButton Aga Diese Resource definiert die Daten der StarView-Klasse PushButton. AgaBeispiel: Aga Ali PushButton {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource DefPushButton Aga Diese Resource definiert die Daten der StarView-Klasse DefPushButton. AgaBeispiel: Aga Ali DefPushButton {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource RadioButton Aga Diese Resource definiert die Daten der StarView-Klasse RadioButton. Beispiel: Aga Ali RadioButton {  Check = TRUE; }; Aga Nach dem Schlsselwort CHECK kann TRUE oder FALSE angegeben werden. Bei TRUE wird ein Button als angeklickt gekennzeichnet. Dies gilt nur fr Buttons, bei denen solch eine Kennzeichnung vorgesehen ist. AgaDefault: Aga Ali RadioButton {  Check = FALSE; }; Aga Af1Resource AutoRadioButton Aga Diese Resource definiert die Daten der StarView-Klasse AutoRadioButton. AgaBeispiel: Aga Ali AutoRadioButton {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Au2 Af1Resource TriStateBox Aga Diese Resource definiert die Daten der StarView-Klasse TriStateBox. Beispiel: Aga Ali TriStateBox {  TriStateDisable = TRUE;  TriState  = STATE_CHECK; }; Aga Nach dem Schlsselwort TRISTATEDISABLE kann TRUE oder FALSE angegeben werden. Bei TRUE k”nnen nur die Zustande STATE_CHECK und STATE_NOCHECK eingenommen werden, sonst ist noch der Zustand STATE_DONTKNOW m”glich. Nach dem Schlsselwort TRISTATE kann STATE_NOCHECK, STATE_CHECK und STATE_DONTKNOW angegeben werden. AgaDefault: Aga Ali TriStateBox {  TriStateDisable = FALSE;  TriState  = STATE_NOCHECK; }; Aga Af1Resource AutoTriStateBox Aga Diese Resource definiert die Daten der StarView-Klasse AutoTriStateBox. AgaBeispiel: Aga Ali AutoTriStateBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1paResource Edit Aga Dieses Schlsselwort kann nicht angegeben werden. Diese Resource definiert die Daten der StarView-Klasse Edit. AgaBeispiel: Aga Ali [Edit] {  Center  = TRUE;  Left   = FALSE;  Right   = FALSE;  MaxTextLength = 10; }; Aga Nach dem Schlsselwort LEFT kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Text linksbndig ausgegeben. Nach dem Schlsselwort CENTER kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Text zentriert ausgegeben. Nach dem Schlsselwort RIGHT kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Text rechtsbndig ausgegeben. Werden LEFT, CENTER und RIGHT auf TRUE gesetzt, wird eine der M”glichkeiten ausgew„hlt. Sind sie alle FALSE, wird der Text linksbndig ausgegeben. Nach dem Schlsselwort MAXTEXTLENGTH wird die maximale Anzahl der Ein gabezeichen festgelegt. Ist der Wert = 0, k”nnen beliebig viele Zeichen eingegeben werden. Der Definitionsbereich umfaát Werte von 0 bis 65535. AgaDefault: Aga Ali [Edit] {  Left   = FALSE;  Center  = FALSE;  Right   = FALSE;  MaxTextLength = 0; }; Af1paResource SingleLineEdit Aga Diese Resource definiert die Daten der StarView-Klasse SingleLineEdit. AgaBeispiel: Aga Ali SingleLineEdit {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Au2 Af1paResource MultiLineEdit Aga Diese Resource definiert die Daten der StarView-Klasse MultiLineEdit. AgaBeispiel: Aga Ali MultiLineEdit {  HScroll = TRUE;  VScroll = TRUE; }; Aga Nach dem Schlsselwort HSCROLL kann TRUE oder FALSE angegeben werden. Bei TRUE wird nach links gescrollt, wenn bei der Eingabe der rechte Rand erreicht ist. Nach dem Schlsselwort VSCROLL kann TRUE oder FALSE angegeben werden. Bei TRUE wird nach unten gescrollt, wenn bei der Eingabe der untere Rand erreicht ist. AgaDefault: Aga Ali MultiLineEdit {  HSCROLL = FALSE;  VSCROLL = FALSE; }; Aga Af1paResource ScrollBar Aga Diese Resource definiert die Daten der StarView-Klasse ScrollBar. AgaBeispiel: Aga Ali ScrollBar {  MinPos = 1;  MaxPos = 112;  ThumbPos = 30;  PageSize = 8;  LineSize = 2;  HSCROLL = TRUE;  VSCROLL = FALSE; }; Aga Nach dem Schlsselwort MINPOS wird die minimale Position des Thumbs angegeben. Der Definitionsbereich umfaát Werte von -32768 - 32767. Nach dem Schlsselwort MAXPOS wird die maximale Position des Thumbs angegeben. Der Definitionsbereich umfaát Werte von -32768 - 32767. Nach dem Schlsselwort THUMBPOS wird die Position des Thumbs angegeben. Der Definitionsbereich umfaát Werte von -32768 - 32767. Nach dem Schlsselwort PAGESIZE wird die Ver„nderung bei seitenweisem Scrollen angegeben. Der Definitionsbereich umfaát Werte von -32768 - 32767. Nach dem Schlsselwort LINESIZE wird die Ver„nderung bei schrittweisem Scrollen angegeben. Der Definitionsbereich umfaát Werte von -32768 - 32767. Nach dem Schlsselwort HSCROLL kann TRUE oder FALSE angegeben werden. Bei TRUE bekommt man eine horizontale Scrollbar. Nach dem Schlsselwort VSCROLL kann TRUE oder FALSE angegeben werden. Bei TRUE bekommt man eine vertikale Scrollbar. pa AgaDefault: Aga Ali ScrollBar {  MinPos = 0;  MaxPos = 100;  ThumbPos = 0;  PageSize = 10;  LineSize = 1;  VSCROLL = FALSE;  HSCROLL = FALSE; }; Aga Aga Af1Resource AutoScrollBar Aga Diese Resource definiert die Daten der StarView-Klasse AutoScrollBar. Aga AgaBeispiel: Aga Ali AutoScrollBar {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1paResource ListBox Aga Diese Resource definiert die Daten der StarView-Klasse ListBox. AgaBeispiel: Aga Ali ListBox {  Sort  = TRUE;  CurPos = 3;  StringList =  {    "Ich"; "bin"; "eine"; "ListBox.";  };  StringList  =  {   "Beliebig"; "viele"; "StringLists.";  }; }; Aga Nach dem Schlsselwort SORT kann TRUE oder FALSE angegeben werden. Bei TRUE werden die Strings in der Listbox sortiert, bei FALSE werden sie in der Reihen folge ausgegeben, in der sie aufgeschrieben werden. Nach dem Schlsselwort CURPOS wird die Position eines Strings angegeben. Der Definitionsbereich umfaát Werte von 0 - 32535. Der String, der an der angegebenen Position in der Listbox steht, wird selektiert. Hat die Listbox weniger Eintr„ge, wird der ???String selektiert. Nach dem Schlsselwort STRINGLIST k”nnen Strings angegeben werden. Die Strings werden in der Reihenfolge in die Listbox gestellt, in der sie angegeben werden. AgaDefault: Aga Ali ListBox {  Sort = FALSE;  CurPos = 0; }; Aga Wird STRINGLIST ausgelassen, stehen keine Strings in der Listbox. Af1paResource DropDownListBox Aga Diese Resource definiert die Daten der StarView-Klasse DropDownListBox. AgaBeispiel: Aga Ali DropDownListBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource ComboBox Aga Diese Resource definiert die Daten der StarView-Klasse ComboBox. AgaBeispiel: Aga Ali ComboBox {  MaxTextLength = 10; }; Aga Nach dem Schlsselwort MAXTEXTLENGTH wird die maximale Anzahl der Ein gabezeichen festgelegt. Ist der Wert = 0, k”nnen beliebig viele Zeichen eingegeben werden. Der Definitionsbereich umfaát Werte von 0 bis 65535. Default: Ali ComboBox {  MaxTextLength = 0; }; Aga Af1Resource DropDownComboBox Aga Diese Resource definiert die Daten der StarView-Klasse DropDownComboBox. AgaBeispiel: Aga Ali DropDownComboBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. Af1Resource FixedText Aga Diese Resource definiert die Daten der StarView-Klasse FixedText. AgaBeispiel: Aga Ali FixedText {  Right = TRUE; }; Aga AgaNach dem Schlsselwort LEFT kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Text linksbndig ausgegeben. Nach dem Schlsselwort CENTER kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Text zentriert ausgegeben. Nach dem Schlsselwort RIGHT kann TRUE oder FALSE angegeben werden. Bei TRUE wird der Text rechtsbndig ausgegeben. Werden LEFT, CENTER und RIGHT auf TRUE gesetzt, wird eine der M”glichkeiten ausgew„hlt. Sind sie alle FALSE, wird der Text linksbndig ausgegeben. AgaDefault: Aga Ali FixedText {  Left = FALSE;  Center = FALSE;  Right = FALSE; }; Aga Af1Resource FixedIcon Aga Diese Resource definiert die Daten der StarView-Klasse FixedIcon. AgaBeispiel: Aga Ali FixedIcon {  Fixed = Icon { Predefine = ICON_QUERY; }; }; Aga AgaNach dem Schlsselwort FIXED kann ein Icon angeben werden. Dieses Icon wird in dem Control zentriert ausgegeben. AgaDefault: Aga Ali FixedIcon {  Fixed = Icon{}; }; Aga Af1Resource FixedBitmap Aga Diese Resource definiert die Daten der StarView-Klasse FixedBitmap. AgaBeispiel: Aga Ali FixedBitmap {  Fixed = Bitmap { File = "schmett.bmp"; }; }; Aga AgaNach dem Schlsselwort FIXED kann eine Bitmap angeben werden. Diese Bitmap wird in dem Control zentriert ausgegeben. AgaDefault: Aga Ali FixedBitmap {  Fixed = Bitmap{}; }; Aga Af1Resource GroupBox Aga Diese Resource definiert die Daten der StarView-Klasse GroupBox. AgaBeispiel: Aga Ali GroupBox {}; Aga Nur der Typ des Fensters ist entscheidend, es sind keine zus„tzlichen Angaben m”glich. paSpezielle Resource-Konstrukte Aga Af1Globale, lokale Resourcen Aga Globale Resourcen sind Resourcen, die auáerhalb jeder anderen Resource definiert sind. Lokale Resourcen sind innerhalb einer anderen Resource definiert. Lokale Resourcen mssen einen Identifier im Bereich von 1 bis 255 haben, globale Resourcen einen Identifier im Bereich von 256 bis 32767. AgaBeispiel: Aga AliWindow 1000 { Text = "Info"; DefPushButton 1 {  Text = "Ok"; }; }; Aga In diesem Fall ist WINDOW 1000 eine globale Resource und DEFPUSHBUTTON 1 eine lokale Resource. Af1paReferenzen Aga Wird eine Resource mehr als nur einmal ben”tigt, so kann diese Resource als globale Resource definiert und an anderer Stelle darauf verwiesen werden. AgaBeispiel: Aga AliDefPushButton 1000 { Text = "Ok"; }; Window 1000 { Text = "Info"; DefPushButton 1, 1000; }; Aga Die Konstruktion DEFPUSHBUTTON 1, 1000 ist eine Referenz auf den DefPushButton 1000, wobei 1 die ID innerhalb der Window-Resource ist. Das heiát, im Programm greift man ber die ID 1 auf diese Resource zu. Eine Referenz kann immer angegeben werden, wenn eine Resource-Definition erwartet wird. Beim Erstellen einer ".rc"-Datei mssen alle Referenzen aufgel”st werden k”nnen. Af1Lokale Resourcen Aga Lokale Resourcen k”nnen in jeder Resource-Definition angegeben werden. Af1Beispiel: Aga AliWindow 1000 { Text = "Info"; PushButton  1, 1000; DefPushButton 2, 1001; SingleLineEdit 3, 1002; Color  4 { RGB = (0, 0, 0); }; Color  5 { RGB = (65535, 0, 0); }; }; Aga In diesem Beispiel sind drei Controls und zwei Farben als lokale Resource angegeben. Auf die Resourcen kann ber die Identifier 1 bis 5 zugegriffen werden. Af1paBenutzerdaten Aga Mit Hilfe der EXTRADATA-Konstruktion k”nnen in einer Resource beliebige Daten definiert werden. Beispiel: AliWindow 1000 { Text = "Info"; ExtraData = {  "Hallo"; 1; -10; }; ExtraData = {  1; 2; 3; 4; }; Ali}; Aga Nach dem Schlsselwort EXTRADATA k”nnen Strings und ganze Zahlen angegeben werden. Der Definitionsbereich der Zahlen reicht von -32536 bis 32535. In der Resource stehen die Daten in folgendem Format: Aga Apl- Die Benutzerdaten werden hinter die vordefinierten Daten geschrieben. - Sie werden in der Reihenfolge abgelegt, in der sie aufgeschrieben worden sind. - Strings sind Null-terminiert. Sie belegen immer eine gerade Anzahl von Bytes im Speicher. Der ben”tigte Platz errechnet sich also wie folgt: Platzbedarf = Stringl„nge + 1 + ( Stringl„nge + 1 ) MOD 2; benutzen Sie die Methode GetStringSizeRes() der Klasse Resource. - Zahlen sind zwei Byte lang und processorspezifisch gedreht. Aga Af1paDefault-Initialisierung Aga Beim Angeben einer Resource ist diese mit bestimmten Werten vorbesetzt. Die Resource kann aber auch durch eine andere globale Resource initialisiert werden, so daá die Resource die Daten der globalen Resource enth„lt. Beispiel: AliWindow 1000 { Text = "Info"; PosSize = MAP_SYSFONT( 0, 0, 160, 40 ); Border = TRUE; Moveable = TRUE; Closeable = TRUE; DefPushButton 1, 1000; ExtraData = { 10; }; }; Window 1001 < Window 1000 { Moveable = FALSE; FixedText 2 { // Fuázeile  Disable = TRUE;  Size  = MAP_SYSFONT( 160, 4 ); }; }; Aga Das WINDOW 1001 bernimmt alle Daten von WINDOW 1000, definiert noch eine lokale Resource hinzu und „ndert das MOVEABLE-Attribut. Es werden auch alle lokalen Resourcen und alle Benutzerdaten bernommen. Bei den lokalen Resourcen kann es leicht zu Identifier-Konflikten kommen. Es ist zu beachten, daá die Resource, von der die Daten bernommen werden sollen, von beliebigem Typ sein kann. Es werden alle Daten ab der gemeinsamen Superklasse bernommen. Das heiát von der Klasse Resource werden immer alle Daten bernommen. Au1paFehlermeldungen Aga Af1Aufbau der Fehlermeldung: AgaDie Ausgabe der Fehler hat folgendes Format: 1. Zeile in der der Fehler aufgetreten ist. 2. Position an der der Fehler aufgetreten ist. 3. Fehlernummer: Error ( Typ, Identifier ): Fehlermeldung. Afp256 Allgemeiner Fehler, dieser Fehler kann nicht nicht genauer spezifiziert werden. 257 Eine virtuelle Methode die in der abgeleiteten Klasse nicht implementiert ist. Siehe Methoden der Klasse RscInst: SetString(), SetNumber .... Man kann die Fehlermeldung als Typfehler betrachten, das heiát dieser Typ darf nicht verwendet werden. 258 Die Datei mit dem angegebenen Namen konnte nicht ge”ffnet werden. 259 Es konnte kein Zeichen generiert werden. Zum Beispiel kann '\333' nicht in ein Zeichen umgewandelt werden. 260 Interner Fehler, eine Methode soll auf eine ungltige Instanz angewendet werden. 261 Es wird eine Kommandozeilenhilfe ausgegeben (rsc -h). 262 Es wurde keine Eingabedatei angegeben. 263 In der Kommandozeile wurde ein unbekannter Schalter verwendet. 264 Referenzen werden nur bis zu einer bestimmten Tiefe aufgel”st. Der Fehler bedeutet, das Referenzen rekursiv definiert wurden oder daá sie zu tief verschachtelt sind. 512 Allgemeiner Fehler. 513 Es wurde versucht eine Zahl einzusetzen, die auáerhalb des Wertebereichs liegt. 528 Allgemeiner Fehler. 544 Allgemeiner Fehler. 578 Allgemeiner Fehler. 579 Allgemeiner Fehler. 580 Es wurde versucht eine Resourcrinstanz mit falschem Typ verwendet. 608 Allgemeiner Fehler. 609 Allgemeiner Fehler. 610 Fr ein Makro soll eine Name verwendet werden, der schon belegt ist. Namen k”nnen zum Beispiel schon fr Variablen vergeben sein. 640 Allgemeiner Fehler. 641 Zwei globale Resourcen haben den gleichen Identifier. 642 Der verwendete Typ ist nicht erlaubt. 643 Die Variable darf hier nicht verwendet werden. 644 Der Zahlenwert ist auáerhalb von [0, 0xFFFF]. 645 Der Zahlenwert ist auáerhalb von [0, 0x7FFF]. 646 Defaultresource wurde nicht gefunden. Eine Resourceinstanz kann mit einer anderen initialisiert werden. Diese ander Instanz wurde nicht gefunden. 647 An dieser Stelle ist die Angabe einer Referenz verboten. 648 Ein Makroname soll doppelt vergeben werden. 649 Die Angabe einer Defaultresource ist verboten. 650 Ein Identifier muá Angegeben werden. 651 Es sollte durch Null geteilt werden. 652 Fehler in der Pragmaanweisung. 653 Das Makro wurde durch weitere Makro's erkl„rt, die nicht in den entsprechenden Include-Dateien stehen. Es folgen Warnungen. 4098 Resourcen die sich innerhalb einer anderen Resource befinden (Unterresourcen) haben ein Identifier ber 255. 4099 Globale Resourcen haben einen Identifier unter 256. 4100 Die Unterresource werden nicht beachtet. Das bedeutet, daá auf diese Resourcen zur Laufzeit nicht zugegriffen werden kann. 4101 Die Resourcen haben einen keinen Identifier. Auf diese Resourcen kann zur Laufzeit nicht zugegriffen werden. 4102 Beim schreiben ein rc-Datei konnte eine Stringreferenz nicht aufgel”st werden. 4103 Beim schreiben ein rc-Datei konnte eine Referenz nicht aufgel”st werden. Wenn auf Unterresourcen zugegriffen wird, die sich in der referenzierten Resource befinden, dann kann ein Laufzeitfehler auftreten. 4104 Zwei Unterresource mit gleichem Typ haben den gleichen Identifier. SsvAgaPA Au0Stichwortverzeichnis Aga AsvCompiler Anweisungen 16 Resource Accelerator 33 Resource AcceleratorKey 34 Resource AutoCheckBox 50 Resource AutoRadioButton 51 Resource AutoScrollBar 55 Resource Bitmap 22 Resource Brush 24 Resource CheckBox 50 Resource Color 26 Resource ComboBox 57 Resource DefPushButton 51 Resource DialogBox 48 Resource DropDownComboBox 57 Resource DropDownListBox  57 Resource FixedText 58 Resource Font 28 Resource GroupBox 58 Resource Icon 21 Resource ListBox 56 Resource MapMode 32 Resource MDIWindow 48 Resource Menu 36 Resource MenuItem 37 Resource MessageBox 39 Resource MultiLineEdit 53 Resource OutputDevice 40 Resource Pen 31 Resource Pointer 22 Resource PushButton 50 Resource RadioButton 51 Resource Resource 20 Resource ScrollBar 54 Resource SingleLineEdit 52 Resource String 20 Resource SystemWindow 44 Resource Window 42 Resource WorkWindow 47 Resource Button 49 Resource Control 49 Aga