diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2003-03-26 14:50:49 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2003-03-26 14:50:49 +0000 |
commit | fb2dbe00e9998f0733fd42729dd96fbbd07fc1b4 (patch) | |
tree | fb3543107f654eb590283803c361d02644b4dbab /rsc/doku | |
parent | e283533c78f713003e15853ac143460d513ecd39 (diff) |
MWS_SRX644: migrate branch mws_srx644 -> HEAD
Diffstat (limited to 'rsc/doku')
-rw-r--r-- | rsc/doku/feinkonz.43/rsc.doc | 4096 | ||||
-rw-r--r-- | rsc/doku/feinkonz.43/rscerror.doc | 2119 | ||||
-rw-r--r-- | rsc/doku/feinkonz.43/rscinst.doc | 4138 | ||||
-rw-r--r-- | rsc/doku/schriftw.16/change.doc | 1105 |
4 files changed, 11458 insertions, 0 deletions
diff --git a/rsc/doku/feinkonz.43/rsc.doc b/rsc/doku/feinkonz.43/rsc.doc new file mode 100644 index 000000000000..5727feb5b6f0 --- /dev/null +++ b/rsc/doku/feinkonz.43/rsc.doc @@ -0,0 +1,4096 @@ +.\\\ 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
+Fuzeile 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
+Fuzeile 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 Fustrich
+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 Fustrich
+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
+
+Akr<ResOwner
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+ScrollBar linke Seite
+L8
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklScrollBar
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+ScrollBar rechte Seite
+L9
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr=ScrollBar
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+SingleLineEdit linke Seite
+M0
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklSingleLineEdit
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+SingleLineEdit rechte Seite
+M1
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr8SingleLineEdit
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+SysMessBox linke Seite
+M2
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklSysMessBox
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+SYsMessBox rechte Seite
+M3
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr:SysMessBox
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+System linke Seite
+M4
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklSystem
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+System rechte Seite
+M5
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr?System
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+SystemWindow linke Seite
+M6
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklSystemWindow
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+SystemWindow rechte Seite
+M7
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr7SystemWindow
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+Timer linke Seite
+M8
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklTimer
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+Timer rechte Seite
+M9
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr@Timer
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+VirtualDevice linke Seite
+N0
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklVirtualDevice
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+VirtualDevice rechte Seite
+N1
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr9VirtualDevice
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+VirtualPrinter linke Seite
+N2
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklVirtualPrinter
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+VirtualPrinter rechte Seite
+N3
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr9VirtualPrinter
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+VScrollBar linke Seite
+N4
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklVScrollBar
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+VScrollBar rechte Seite
+N5
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr<VScrollBar
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+WarningBox linke Seite
+N6
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklWarningBox
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+WarningBox rechte Seite
+N7
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr:WarningBox
+Alr______________________________________________________________
+
+Als______________________________________________________________
+Afl(c) 1990/1991 StarDivision
+Afr@-#_S#-
+
+WinBits linke Seite
+N8
+566
+440
+850
+566
+1133
+680
+0
+2
+1
+NEIN
+0
+0
+
+AklWinBits
+All______________________________________________________________
+
+Ars______________________________________________________________
+Afl-#_S#-
+Afr3StarView - Referenz
+
+WinBits rechte Seite
+N9
+566
+440
+850
+566
+1133
+680
+0
+1
+1
+NEIN
+0
+0
+
+Akr>WinBits
+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
+Afpgendert $Date: 23 Jan 1992 14:42:12 $
+Aga
+
+AfpDateiname #_PFAD##_TEXTNAME#
+Aga
+
+AfpAutor #_AUTOR#
+Aga
+AfpBearbeiter $Author: MM $
+Aga
+AfpQualittskontrolle
+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
+Systemabhngigkeiten 4
+Installationshinweise 5
+rsc-Kommandozeile 5
+rsc-Preprocessor 7
+Default Preprozessor 8
+Einfaches Beispiel 9
+Syntax 16
+Klassen-Erklrung: 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 systemunabhngigen Resourcen +in den Beschreibungsdateien in systemabhngige Beschreibungsdateien zu berfhren, +die dann mit den systemabhngigen Resourcecompilern effizient (Laufzeit) in binre +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 gelscht.
+- Der rscpp gibt die Zeilennummern nicht richtig aus.
+- Unter Unix und MAC darf die src-Datei am Ende kein ^Z haben.
+Aga
+
+Au1Systemabhngigkeiten
+Aga
+Die Resource-Scriptdatei (".src") ist bis auf die Typen Icon, Bitmap und Pointer unab +hngig. Jede Resource dieser drei Typen steht in einer eigenen Datei. Ob das Format +oder die Version korrekt sind, wird durch den systemabhngigen Resourcecompiler +(rc, uid, rez) entschieden.
+
+Die Pfadnamen in den Include-Anweisungen sind systemabhngig. 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 betriebssystemabhngig, sondern auch +processor- bzw. compilerabhngig. Dies betrifft die Lnge 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 +systemabhngige 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 [<Schalter>...] <Quelldateiliste>
+rsc @<Kommandodatei>
+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 systemabhngige Resourcecompiler aufgerufen und
+ eine ".res"-Datei erzeugt.
+-r Der systemabhngige Resourcecompiler wird nicht aufgerufen.
+-d<Symbol> Es wird ein Symbol definiert.
+-i<Pfad> Der Include-Pfad fr den Preprocessor wird erweitert.
+-fl<Dateiname> Mit diesem Schalter wird eine Listing-Datei angegeben. In diese
+ Datei werden Fehlermeldungen ausgegeben.
+-fo<Dateiname> 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 binre Datei.
+-fs<Dateiname> 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 systemabhngige Beschreibungsdatei.
+-fp<Dateiname> 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<Dateiname> In diese Datei werden die Resource-Konstruktoren der in der
+ Beschreibungsdatei spezifizierten Klassen geschrieben. Die
+ Sprache ist C++.
+-fh<Dateiname> 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<Zahl> Die Zahl gibt an wie Tief der rsc-Compiler beim auflsen von
+ Referenzen gehen soll. Der Default ist 10, das heit der Compiler
+ lst verschachtelungen von Referenzen bis 10 auf.
+Aga
+Af1Kommandodatei
+Aga
+Die Kommandodatei hat folgende Syntax:
+Aga
+Ali[<Schalter>...] <Quelldateiliste>
+Aga
+Af1Beispiele
+Aga
+AliKommando: rsc test
+Aga
+Wirkung: Quelldatei heit "test.src".
+Ae2Die vom Preprocessor erzeugte Datei heit "test.srs".
+Die vom rsc-Compiler erzeugte Datei heit "test.rc".
+Die vom systemabhngigen Compiler erzeugte Datei heit "test.res".
+
+AliKommando: rsc -s -fpTest.srs Test1 Test2 Test3
+Aga
+Wirkung: Es wird nur eine Syntaxanalyse durchgefhrt.
+Ae2Die Quelldateien heien "Test1.src", "Test2.src" und "Test3.src".
+AgaDie vom Preprocessor erzeugte Datei heit "Test.srs".
+AgaWeitere Dateien werden nicht erzeugt.
+
+AliKommando: rsc -l test
+Aga
+Wirkung: Quelldatei heit "test.srs".
+Ae2Der Preprocessor wird nicht benutzt.
+Die vom rsc-Compiler erzeugte Datei heit "test.rc".
+Die vom systemabhngigen Compiler erzeugte Datei heit "test.res".
+Aga
+Au1parsc-Preprocessor
+Aga
+Af1Kommandozeile
+Aga
+AgaDie Kommandozeile hat folgende Syntax:
+
+Alirscpp [<Schalter>...] Quelldatei Zieldatei
+Aga
+Af1Schalter
+Aga
+-C Entfernt die Kommentare nicht( //, /* ... */ ).
+-D<Symbolname> Hat die gleiche Wirkung wie #define Symbolname in der Datei
+ selbst.
+-I<Pfadname> Gibt an, in welchen Verzeichnissen nach Include-Dateien gesucht
+ werden soll.
+
+Af1Preprocessor-Anweisungen
+Aga
+Der Preprocessor mu folgende Anweisungen verarbeiten knnen:
+
+#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 Schlsselwrter #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 heit "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 <solar.h>
+#include <tools.hxx>
+#include <sv.hxx>
+#include <ownrc.hrc> // 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 zerstrt.
+|* Ersterstellung: MM 01.08.90
+|* Letzte Aenderung: MM 14.08.90
+*********************************************************/
+void MyDialog::CancelBtnHdl( Button* )
+{
+ // Das Lschen der Dialogbox ist schneller, wenn sie
+ // vorher nicht mehr sichtbar ist.
+ Hide();
+ // Zerstren 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 <ownrc.hrc>
+
+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 dazugehrigen +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 binre 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" knnen bestimmte Zeichenwerte angegeben werden.
+ Der Backslash wird durch "\\" und das Anfhrungszeichen durch "\""
+ angegeben. Die Zahl hinter dem Backslash wird Oktal interpretiert.
+Aga
+Au1paKlassen-Erklrung: Resource -> StarView
+Aga
+In diesem Abschnitt wird anhand von vollstndigen Beispielen erklrt, was fr Daten +in welchen StarView-Klassen in der Resource definiert werden knnen.
+
+Die Resource ist wie StarView hierarchisch aufgebaut. Das heit, alles in einer hheren +Hierarchiestufe Enthaltene wird in eine tiefere bertragen. Die Namen im nach +folgenden Diagramm sind die Namen der Schlsselwrter 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, knnen auch in PushButton oder +CheckBox angegeben werden. Entsprechendes gilt z.B. fr Daten in ListBox, die auch +in ComboBox angegeben werden knnen. Eine genauere Erklrung folgt nach den +Erluterungen 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 knnen 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 lscht.
+
+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 enthlt. Diese Datei ist systemabhngig.
+
+Nach dem Schlsselwort TYPE wird der Typ des Icons angegeben. Es knnen +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 bentigt.
+
+Nach dem Schlsselwort IDENTIFIER wird der Identifier des Icons in der durch FILE +spezifizierten Datei angegegeben. Diese Angabe wird nur fr den Mac bentigt.
+
+Werden PREDEFINE und FILE angegeben, wird eins der beiden Schlsselwrter +gewhlt.
+
+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 enthlt. Diese Datei ist systemabhngig.
+
+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 bentigt.
+
+Nach dem Schlsselwort IDENTIFIER wird der Identifier der Bitmap in der durch +FILE spezifizierten Datei angegegeben. Diese Angabe wird nur fr den Mac bentigt.
+
+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 enthlt. Diese Datei ist systemabhngig.
+
+Nach dem Schlsselwort IDENTIFIER wird der Identifier des Pointers in der durch +FILE spezifizierten Datei angegegeben. Diese Angabe wird nur fr den Mac bentigt.
+
+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 bentigt.
+
+Werden PREDEFINE und FILE angegeben, wird eine der beiden Mglichkeiten +ausgewhlt.
+
+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-Eintrge 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 Mglichkeiten gewhlt.
+
+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 Intensitt 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 Hhe eines Fonts angegeben. Der Zahlen +bereich umfat Werte von 0 bis 65535.
+
+Nach dem Schlsselwort WIDTH wird die Breite eines Fonts angegeben. Der Zahlen +bereich umfat 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 umfat +Werte von 0 bis 3600.
+
+Nach dem Schlsselwort LINEORIENTATION wird die Drehung der Ausgabezeile +angegeben. Die Angabe der Drehung erfolgt in Zehntelgrad. Der Zahlenbereich umfat +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 umfat 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 Schlsselwrtern X und Y wird der Ursprung des Koordinatensystems ange +geben. Die Einheiten sind die nach MapUnit definierten. Der Zahlenbereich umfat +Werte von 0 bis 65535.
+
+Nach den Schlsselwrtern XSCALE und YSCALE wird der Streckungsfaktor des +Koordinatensystems in x- bzw. in y-Richtung angegeben. Der Zahlenbereich umfat +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 knnen 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 knnen, 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 umfat 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 angehngt.
+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 knnen 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 umfat Werte von 1 bis 65535.
+
+Nach dem Schlsselwort HELPID wird eine Zahl angegeben. Diese Zahl ist ein +Hilfeidentifier (eine Referenz ins Hilfesystem). Der Definitionsbereich umfat Werte +von 0 bis 4294967295. Es knnen 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 mglich, bei FALSE ist der Zugriff +mglich.
+
+In einem Men-Item kann genau ein Men definiert werden. Dieses Men wird an das +Men-Item angehngt (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 verhlt sich wie ein Separator (siehe Menu).
+
+Werden TEXT, SEPARATOR oder BITMAP gleichzeitig verwendet, wird eine der +drei Mglichkeiten gewhlt.
+
+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 umfat Werte +von 0 bis 4294967295. Es knnen 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 ausgewhlt.
+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 zustzlichen Angaben +mglich.
+
+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 zustzlichen Angaben +mglich.
+
+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 zustzlichen Angaben +mglich.
+
+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 zustzlichen Angaben +mglich.
+
+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 zustzlichen Angaben +mglich.
+
+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 umfat Werte von -32768 bis 32767.
+
+Nach dem Schlsselwort SIZE wird die Gre des Fensters angegeben. Die MapUnit +MAP_MM ist die Einheit fr die im Tupel folgende Breiten- und Hhenangabe. +Anstelle von MAP_MM kann eine beliebige MapUnit angegeben werden, diese +Angabe kann auch weggelassen werden. Der Zahlenbereich umfat 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 umfat Werte +von 0 bis 4294967295. Es knnen auch die vordefinierten Werte HELP_INDEX und +HELP_HELPONHELP benutzt werden.
+
+Nach dem Schlsselwort BORDER kann TRUE oder FALSE angegeben werden. Bei +TRUE erhlt 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 mglich, bei FALSE ist der Zugriff mglich +(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 Gre des Fensters +angegeben. Fr die MapUnit gilt das gleiche wie bei POS und SIZE. Der +Zahlenbereich umfat Werte von -32768 bis 32767.
+
+Wird POSSIZE zusammen mit POS und SIZE verwendet, wird eine der Mglichkeiten +ausgewhlt.
+
+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 knnen, 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 vergrert und verkleinert werden, bei FALSE kann die Gre +nicht verndert 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 Grenangabe 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 mglich dargestellt wird, bei +MINIMIZE wird das Fenster so klein wie mglich 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 zustzlichen Angaben mg +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 zustzlichen Angaben mg +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 zustzlichen Angaben mg +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 zustzlichen Angaben +mglich.
+
+
+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 zustzlichen Angaben +mglich.
+
+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 zustzlichen Angaben +mglich.
+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 zustzlichen Angaben +mglich.
+
+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 zustzlichen Angaben +mglich.
+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 knnen nur die Zustande STATE_CHECK und +STATE_NOCHECK eingenommen werden, sonst ist noch der Zustand +STATE_DONTKNOW mglich.
+
+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 zustzlichen Angaben +mglich.
+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 Mglichkeiten +ausgewhlt. 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, knnen beliebig viele Zeichen eingegeben +werden. Der Definitionsbereich umfat 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 zustzlichen Angaben +mglich.
+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 umfat Werte von -32768 - 32767.
+
+Nach dem Schlsselwort MAXPOS wird die maximale Position des Thumbs +angegeben. Der Definitionsbereich umfat Werte von -32768 - 32767.
+
+Nach dem Schlsselwort THUMBPOS wird die Position des Thumbs angegeben. Der +Definitionsbereich umfat Werte von -32768 - 32767.
+
+Nach dem Schlsselwort PAGESIZE wird die Vernderung bei seitenweisem Scrollen +angegeben. Der Definitionsbereich umfat Werte von -32768 - 32767.
+
+Nach dem Schlsselwort LINESIZE wird die Vernderung bei schrittweisem Scrollen +angegeben. Der Definitionsbereich umfat 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 zustzlichen Angaben +mglich.
+
+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 umfat Werte von 0 - 32535. Der String, der an der angegebenen +Position in der Listbox steht, wird selektiert. Hat die Listbox weniger Eintrge, wird +der ???String selektiert.
+
+Nach dem Schlsselwort STRINGLIST knnen 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 zustzlichen Angaben +mglich.
+
+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, knnen beliebig viele Zeichen eingegeben +werden. Der Definitionsbereich umfat 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 zustzlichen Angaben +mglich.
+
+
+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 Mglichkeiten +ausgewhlt. 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 zustzlichen Angaben +mglich.
+paSpezielle Resource-Konstrukte
+Aga
+Af1Globale, lokale Resourcen
+Aga
+Globale Resourcen sind Resourcen, die auerhalb 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 bentigt, 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 heit, +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 aufgelst werden +knnen.
+
+Af1Lokale Resourcen
+Aga
+Lokale Resourcen knnen 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 knnen 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 knnen 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 bentigte Platz errechnet sich also wie folgt:
+ Platzbedarf = Stringlnge + 1 + ( Stringlnge + 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 enthlt.
+
+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
+ { // Fuzeile
+ 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 heit 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 heit +dieser Typ darf nicht verwendet werden.
+258 Die Datei mit dem angegebenen Namen konnte nicht +geffnet 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 +aufgelst. 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 auerhalb +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 knnen 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 auerhalb von [0, 0xFFFF].
+645 Der Zahlenwert ist auerhalb 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 erklrt, 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 aufgelst werden.
+4103 Beim schreiben ein rc-Datei konnte eine Referenz nicht +aufgelst 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
+
\ No newline at end of file diff --git a/rsc/doku/feinkonz.43/rscerror.doc b/rsc/doku/feinkonz.43/rscerror.doc new file mode 100644 index 000000000000..f6e48c96237d --- /dev/null +++ b/rsc/doku/feinkonz.43/rscerror.doc @@ -0,0 +1,2119 @@ +.\\\ WRITER 6 \\\
+S:\APP\SW5\STARLAB.LAY
+R:\SW55N\TREIBER\PS.GPM
+12
+00000
+00010
+01394
+00001
+00001
+00001
+00002
+00002
+00000
+00000
+00000
+00000
+Markus Meyer
+Spezifikation
+Rsc-Compiler
+Fehlerbehandlung
+
+
+
+
+
+
+0
+16836
+11338
+0
+0
+JA
+3
+75
+0
+20
+0
+0
+0
+0
+0
+0
+0
+JA
+
+
+
+9
+20
+4
+Helvetica 14 Pt
+H1
+97
+20
+0
+
+Helvetica 12 Pt
+H2
+65
+23
+0
+
+Helvetia 10 Pt
+H3
+65
+20
+0
+
+Courier 10 Pt
+C1
+1
+23
+0
+
+Helvetica 14 Pt Fett
+F1
+65
+27
+2
+
+Helvetica 12 Pt Fett
+F2
+65
+23
+2
+
+Helvetia 10 Pt Fett
+F3
+65
+20
+0
+
+Tasten
+T1
+129
+27
+0
+
+Grundschrift
+GA
+97
+20
+0
+
+Grund - Absatzlayout V1.5-LSLP8
+GA
+0
+0
+0
+0
+9
+97
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Grundabsatzlayout-rechtsbndig
+GR
+0
+0
+0
+0
+9
+35
+20
+0
+2
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+0
+1
+23
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+berschrift
+U0
+0
+0
+0
+0
+5
+35
+28
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+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
+berschrift X.
+U1
+0
+0
+0
+0
+5
+35
+28
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+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 X.X.
+U2
+0
+0
+0
+0
+6
+35
+24
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+2
+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 X.X.X.
+U3
+0
+0
+0
+0
+6
+35
+20
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+3
+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 X.X.X.X.
+U4
+0
+0
+0
+0
+7
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+4
+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 X.X.X.X.X.
+U5
+0
+0
+0
+0
+7
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+5
+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
+Einrckung 4 Sp / 4 Sp
+E1
+576
+576
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Einrckung 8 Sp / 8 Sp
+E2
+1150
+1150
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Einrckung 0 Sp / 4 Sp
+E3
+0
+564
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Einrckung 4 Sp / 8 Sp
+E4
+564
+1150
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Funktionsparameter
+FP
+0
+2891
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Inhaltsverzeichnis
+IV
+0
+0
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7653
+0
+0
+Stichwortverzeichnis
+SV
+0
+0
+0
+0
+9
+35
+20
+0
+1
+141
+1
+JA
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+3744
+1
+0
+Fettschrift einzeilig
+F1
+0
+0
+0
+0
+7
+65
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+564
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+566
+0
+0
+1133
+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
+Fuzeile
+FZ
+0
+0
+0
+0
+3
+97
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7200
+1
+0
+Kopfzeile
+KZ
+0
+0
+0
+0
+3
+97
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7920
+1
+0
+Grund-Seitenlayout
+GS
+566
+609
+2436
+679
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AkzBf3#_PFAD##_TEXTNAME# 6-#_S#-
+Bf3
+
+AfzBf3$Date: 22 Jan 1992 12:40:36 $ $Revision: 1.1 $
+
+Stichwortverzeichnis
+SV
+566
+609
+2437
+680
+1416
+1416
+566
+0
+2
+NEIN
+0
+0
+
+AliBf3Stichwortverzeichnis
+AliBf3 +
+
+Ali6Bf3- #_S# -B00
+
+GS - ohne Fuzeile
+KF
+566
+609
+2437
+680
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AliBf3#_KATEGORIE# / #_THEMA2#
+AliBf3
+
+Ali
+
+Inhaltsverzeichnis
+IV
+566
+609
+2437
+680
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AliBf3Inhaltsverzeichnis
+AliBf3 +
+
+Ali
+
+
+
+
+0
+
+0
+
+SkfAga
+
+
+
+
+
+
+
+
+
+Au0 #_KATEGORIE#
+Aga
+
+Au0 #_THEMA2#
+Aga
+
+Au0
+Aga
+
+
+
+
+
+
+
+
+
+
+
+
+Au0 #_AUTOR#
+Aga
+
+Au0 STAR DIVISION / STAR LAB Hamburg
+Aga
+
+Au0 Stand: $Date: 22 Jan 1992 12:40:36 $
+Aga
+
+Sgs
+SkfAgaPA
+
+
+Au0#_KATEGORIE#
+Aga
+
+
+AfpDokumentenname #_THEMA2#
+Aga
+AfpProjektname #_THEMA1#
+Aga
+AfpVersionsnummer $Revision: 1.1 $
+Aga
+
+Afperstellt 16. September 1991
+Aga
+Afpgendert $Date: 22 Jan 1992 12:40:36 $
+Aga
+
+AfpDateiname #_PFAD##_TEXTNAME#
+Aga
+
+AfpAutor #_AUTOR#
+Aga
+AfpBearbeiter $Author: MM $
+Aga
+AfpQualittskontrolle
+Aga
+
+AfpStatus XX in Arbeit
+Afp !__ fertiggestellt
+Afp !__ abgenommen
+Afp !__ freigegeben
+Aga
+
+AfpVertraulich __ Ja XX Nein
+Aga
+
+AfpCopyright (C) Star Division 1990
+Aga
+Sgspa
+Au1#1 Einleitung
+Aga
+In diesem Dokument werden die Klassen beschrieben, die die Fehlerbehandlung organisieren.
+
+Hinweise zur Implementation
+Bevor eine dieser Klassen benutzt wird, mu die Funktion InitRscCompiler aufgerufen werden.
+AgaPA
+Au1#2 Klassenbeschreibung
+Aga
+AgaERRTYPE:
+Diese Klasse enthlt eine Fehler- oder eine Warnungsnummer.
+
+RscError:
+Diese Klasse bernimmt die Ausgabe der Fehlermeldungen.
+
+Au1#3 Globale Funktionen
+Aga
+RscExit():
+Die Funktion mu von jedem Programm implementiert werden, die Klassen aus dem rsc-System +benutzen. Die Funktion bedeutet, da das Programm sofort beendet werden mu, weil ein +scherwiegender Programmfehler aufgetreten ist.
+
+SivPA
+
+Au0Inhaltsverzeichnis
+Aga
+Aiv1. Einleitung M3
+2. Klassenbeschreibung D4
+3. Globale Funktionen E4
+ERRTYPE S6
+RscError R10
+::RscExit() O15
+Stichwortverzeichnis F17
+Sgs
+Au0
+Aga
+Au0PAERRTYPE
+Aga
+Aliclass ERRTYPE {
+public:
+ ERRTYPE();
+ ERRTYPE( USHORT nErr );
+ ERRTYPE& operator = ( const ERRTYPE & rError );
+ operator USHORT();
+ BOOL IsError();
+ BOOL IsOk();
+ BOOL IsWarning();
+ void Clear();
+};
+
+#define ERR_OK
+#define ERR_ERROREND
+#define ERR_WARNING
+#define ERR_WARNINGEND
+Aga
+Af1Beschreibung
+Aga
+Eine Instanz dieser Klassen enthlt entweder eine Fehler- oder eine Warnungsnummer oder keines von +beiden. Zu beachten ist, da eine Fehlernummer nicht berschrieben werden kann (!der erste Fehler ist +interressant ).
+
+Af1Anmerkungen
+AgaWarnungen werden von Fehlernummern berschrieben, aber nicht von Warnungsnummern.
+
+Af1Querverweise
+Aga
+Klasse: RscError.
+
+Af1Beispiel
+Aga
+Ali.....
+ERRTYPE aError;
+
+aError = ERR_OPENFILE;
+aError = ERR_ERROR;
+if( ERR_OPENFILE == aError )
+ printf( "Fehler: Datei kann nicht gffnet werden!\n" );
+else
+ printf( "Fehler: Allgemeiner Fehler!\n");
+.....
+Aga
+AgaDie Ausgabe heit:
+Fehler: Datei kann nicht geffnet werden!
+
+Au0PAERRTYPE::ERRTYPE()
+Aga
+AliERRTYPE::ERRTYPE();
+ERRTYPE::ERRTYPE( USHORT nErrNo );
+ERRTYPE::ERRTYPE( const ERRTYPE & rError );
+Aga
+Af1Beschreibung
+Aga
+Die wird eine Instanz ERRTYPE erzeugt.
+
+Af1Parameter
+Aga
+AfpnErrNo diese Zahl ist der Fehler der in die Instanz eingetragen wird.
+rError aus dieser Instanz wird der Fehler bernommen.
+Aga
+Af1Anmerkungen
+Aga
+Wird der leere Konstruktor verwendet, dann ist die Fehlernummer ERR_OK. Die Methode IsOk() +liefert TRUE.
+
+Af1Querverweise
+Aga
+Klassen: RscError
+Methoden: IsError(), IsOk(), Clear().
+
+Af1Beispiel
+AgaHier wird gezeigt wie Fehler zugewiesen und berschrieben werden.
+
+AliERRTYPE aErr;
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+aErr = WRN_LOCALID; //Warnung zuweisen
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+printf( aErr.IsWarning() ? "TRUE", "FALSE" );//Ausg.: TRUE
+printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: FALSE
+aErr = ERR_ERROR; //Fehler zuweisen
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: FALSE
+printf( aErr.IsWarning() ? "TRUE", "FALSE" );//Ausg.: FALSE
+printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+aErr = ERR_OK; //Fehler aufheben geht so nicht
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: FALSE
+printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+aError.Clear(); //Fehler aufheben
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: FALSE
+Aga
+Aga
+Aga
+Au0ERRTYPE::operator =()
+Aga
+AliERRTYPE & ERRTYPE::operator &( const ERRTYPE & rErr );
+Aga
+Af1Beschreibung
+Aga
+Der Zuweisungsoperator kopiert den Fehler oder die Warnung von rErr in die Instanz. Ein kopieren +findet nicht statt, wenn in der Instanz schon ein Fehler eingetragen wurde.
+
+Af1Parameter
+Aga
+AfprErr aus dieser Instanz wird der Fehler bernommen.
+Aga
+Af1Return-Werte
+Aga
+Die eigene Instanz wird zurckgeliefert.
+
+Af1Querverweise
+Aga
+Methoden: operator USHORT().
+
+Af1Beispiel
+Aga
+AliERRTYPE aError( ERR_RSCRANGE );
+printf( ERR_RSCRANGE == aError ? "TRUE" : "FALSE" );
+ //Ausgabe: TRUE
+//Versuch den Fehler zu ueberschreiben (geht nicht)
+aError = ERRTYPE( ERR_ERROR );
+printf( ERR_ERROR == aError ? "TRUE" : "FALSE" );
+ //Ausgabe: FALSE
+aError.Clear();
+aError = ERRTYPE( ERR_ERROR );
+printf( ERR_ERROR == aError ? "TRUE" : "FALSE" );
+ //Ausgabe: TRUE
+Aga
+Aga
+Aga
+Au0ERRTYPE::operator USHORT()
+Aga
+AliERRTYPE::operator USHORT();
+Aga
+Af1Return-Werte
+Aga
+Die Fehlernummer in der Instanz wird zurckgeliefert.
+
+Af1Querverweise
+Aga
+Methoden: operator =().
+
+Aga
+Aga
+Au0ERRTYPE::IsError()
+Aga
+AliBOOL ERRTYPE::IsError();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die einen Fehler anzeigt.
+
+Af1Return-Werte
+Aga
+AfpTRUE wenn die Fehlernummer im Bereich [0, ERR_ERROREND] liegt.
+FALSE wenn die Fehlernummer im Bereich ]ERR_ERROREND, 0xFFFF +"] liegt.
+Aga
+Af1Querverweise
+Aga
+Methoden: IsOk(), IsWarning(), Clear().
+Aga
+Aga
+Aga
+Au0ERRTYPE::IsOk()
+Aga
+AliBOOL ERRTYPE::IsOk();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die keinen Fehler anzeigt.
+
+Af1Return-Werte
+Afp
+TRUE wenn die Fehlernummer im Bereich ]ERR_ERROREND, +"0xFFFF] liegt.
+FALSE wenn die Fehlernummer im Bereich [0, ERR_ERROREND] liegt.
+Aga
+Af1Querverweise
+Aga
+Methoden: IsError(), IsWarning(), Clear().
+Aga
+Aga
+Aga
+Au0ERRTYPE::IsWarning()
+Aga
+AliBOOL ERRTYPE::IsWarning();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die einen Warnung anzeigt.
+
+Af1Return-Werte
+Afp
+TRUE wenn die Fehlernummer im Bereich [ERR_WARNING, +"ERR_WARNINGEND] liegt.
+FALSE wenn die Fehlernummer in einem anderen Bereich liegt.
+Aga
+Af1Querverweise
+Aga
+Methoden: IsOk(), IsError(), Clear().
+Aga
+Aga
+
+Au0ERRTYPE::Clear()
+Aga
+Alivoid ERRTYPE::Clear();
+Aga
+Af1Beschreibung
+Aga
+Die Fehlernummer wird auf ERR_OK gesetzt. Das heit die Methode IsOk() liefert TRUE zurck.
+Aga
+Aga
+Au0PARscError
+Aga
+Ali#define ERR_ERROR 0x0100
+#define ERR_UNKNOWN_METHOD 0x0101
+#define ERR_OPENFILE 0x0102
+#define ERR_NOCHAR 0x0103
+#define ERR_NORSCINST 0x0104
+#define ERR_USAGE 0x0105
+#define ERR_NOINPUT 0x0106
+#define ERR_UNKNOWNSW 0x0107
+#define ERR_REFTODEEP 0x0108
+
+#define ERR_RSCRANGE 0x0200
+ #define ERR_RSCRANGE_OUTDEFSET (ERR_RSCRANGE +1 )
+#define ERR_RSCENUM 0x0210
+#define ERR_RSCFLAG 0x0220
+#define ERR_RSCCONT 0x0240
+ #define ERR_CONT_INVALIDPOS (ERR_RSCCONT +1 )
+ #define ERR_CONT_INVALIDTYPE (ERR_RSCCONT +2 )
+#define ERR_RSCCMPED 0x0250
+#define ERR_RSCINST 0x0260
+ #define ERR_RSCINST_NOVARNAME (ERR_RSCINST +1 )
+ #define ERR_RSCINST_RESERVEDNAME (ERR_RSCINST +2 )
+#define ERR_LEX 0x0270
+#define ERR_YACC 0x0280
+ #define ERR_DOUBLEID (ERR_YACC +1 )
+ #define ERR_FALSETYPE (ERR_YACC +2 )
+ #define ERR_NOVARIABLENAME (ERR_YACC +3 )
+ #define ERR_USHORTRANGE (ERR_YACC +4 )
+ #define ERR_IDRANGE (ERR_YACC +5 )
+ #define ERR_NOCOPYOBJ (ERR_YACC +6 )
+ #define ERR_REFNOTALLOWED (ERR_YACC +7 )
+ #define ERR_DOUBLEDEFINE (ERR_YACC +8 )
+ #define ERR_COPYNOTALLOWED (ERR_YACC +9 )
+ #define ERR_IDEXPECTED (ERR_YACC +10)
+ #define ERR_ZERODIVISION (ERR_YACC +11)
+ #define ERR_PRAGMA (ERR_YACC +12)
+ #define ERR_DECLAREDEFINE (ERR_YACC +13)
+
+ #define WRN_LOCALID (ERR_WARNING +1 )
+ #define WRN_GLOBALID (ERR_WARNING +2 )
+ #define WRN_SUBINMEMBER (ERR_WARNING +3 )
+ #define WRN_CONT_NOID (ERR_WARNING +4 )
+ #define WRN_STR_REFNOTFOUND (ERR_WARNING +5 )
+ #define WRN_MGR_REFNOTFOUND (ERR_WARNING +6 )
+ #define WRN_CONT_DOUBLEID (ERR_WARNING +7 )
+
+class RscError{
+public:
+ USHORT nErrors;// Anzahl der Fehler
+ RscError();
+ void SetListFile( FILE * fList );
+ virtual void StdOut( const char * );
+ virtual void LstOut( const char * );
+ virtual void Error( ERRTYPE nError, RscTop* pClass,
+ const RscId &aId,
+ const char * pMessage = NULL );
+ virtual void FatalError( ERRTYPE nError, const RscId
+ &aId, const char * pMessage = NULL );
+};
+Aga
+Af1Beschreibung
+Aga
+In dieser Klasse werden Fehlermeldungen ausgegeben. Die Fehlermeldungen werden zur +Standartausgabe geschickt und in eine Listing-Datei geschrieben. Nach Aufruf der Methode +FatalError() wird die Funktion RscExit() aufgerufen. Diese sollte das Programm terminieren.
+Die 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.
+
+Af1Ausnahmen
+Aga
+Die Ausgabe wird unter MS-Windows nicht nach "stdout" umgeleitet, sondern sie wird unterdrckt.
+
+Af1Anmerkungen
+Aga
+Die Klasse tauscht Zeilennummern, Zeilen usw. ber globale Variable mit dem Parser aus. Aus diesem +Grund darf der Parser nicht rekursiv aufgerufen werden.
+Wenn ein Fehler am Ende einer Zeile bemerkt wird, wird hufig die Zeile nach der Fehlerhaften +angezeigt.
+
+Af1Querverweise
+Aga
+Klassen: RscTypCont, ERRTYPE, RscId, RscFileInst, alle Rsc... Klassen.
+Funktionen: ::RscExit(), ::parser(), ::MacroParser(), ::IncludeParser().
+
+Af1Beispiel
+AgaImplementation der Standartausgabe unter MS-Windows.
+
+Ali.....
+class WinError :: public RscError{
+ ListBox * pOutput;
+public:
+ WinError( ListBox * pListBox ) : RscError(){
+ pOutput = pListBox;
+ }
+ void StdOut( const char * pStr ){
+ //fuer gute Ausgabeformatierung muesste auf RETURN
+ //geachtet werden
+ pOutput.Insert( pStr, LISTBOX_APPEND );
+ }
+};
+.....
+Agapa
+
+Au0Fehlernummern
+Aga
+AfpERR_ERROR Allgemeiner Fehler, dieser Fehler kann nicht nicht genauer +"spezifiziert werden.
+ERR_UNKNOWN_METHOD 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 heit dieser Typ darf nicht verwendet werden.
+ERR_OPENFILE Die Datei mit dem angegebenen Namen konnte nicht geffnet +"werden.
+ERR_NOCHAR Es konnte kein Zeichen generiert werden. Zum Beispiel kann +"'\333' nicht in ein Zeichen umgewandelt werden.
+ERR_NORSCINST Interner Fehler, eine Methode soll auf eine ungltige Instanz +"angewendet werden.
+ERR_NOINPUT Es wurde keine Eingabedatei angegeben.
+ERR_USAGE Es wird eine Kommandozeilenhilfe ausgegeben (rsc -h).
+ERR_UNKNOWNSW In der Kommandozeile wurde ein unbekannter Schalter +"verwendet.
+ERR_REFTODEEP Referenzen werden nur bis zu einer bestimmten Tiefe aufgelst. +"Der Fehler bedeutet, das Referenzen rekursiv definiert wurden +"oder da sie zu tief verschachtelt sind.
+ERR_RSCRANGE In der Klasse RscRange ist ein Fehler aufgetreten.
+ERR_RSCRANGE_OUTDEFSET In eine RscRange-Instanz wurde versucht eine Zahl einzusetzen, +"die auerhalb des Wertebereichs liegt.
+ERR_RSCENUM In der Klasse RscEnum ist ein Fehler aufgetreten.
+ERR_RSCFLAG In der Klasse RscFlag ist ein Fehler aufgetreten.
+ERR_RSCCONT In der Klasse RscCont ist ein Fehler aufgetreten.
+ERR_CONT_INVALIDPOS In einer RscCont-Instanz wurde auf eine Position zugegriffen, auf +"der sich keine Instanz befunden hat.
+ERR_CONT_INVALIDTYPE
In einer RscCont-Instanz wurde versucht eine Instanz mit +"falschem Typ einzusetzen.
+ERR_RSCINST In der Klasse RscInst ist ein Fehler aufgetreten.
+ERR_RSCINST_NOVARNAME Eine Methode der Klasse RscInst die einen Variablennamen als +"Parameter bentigt stellt fest, das dieser Name in der +"entsprechenden Instanz nicht als Variable definiert ist. Vermutlich +"hat die RscInst-Instanz einen anderen Typ als erwartet.
+ERR_RSCINST_RESERVEDNAME Fr ein Makro soll eine Name verwendet werden, der +"schon belegt ist. Namen knnen zum Beispiel schon fr Variablen +"vergeben sein.
+Aga
+Es folgen Fehler die beim Parsen auftreten knnen.
+AfpERR_YACC Allgemeiner Fehler der beim Parsen aufgetreten ist.
+ERR_DOUBLEID Zwei globale Resourcen haben den gleichen Identifier.
+ERR_FALSETYPE Der verwendete Typ ist nicht erlaubt.
+ERR_NOVARIABLENAME Die Variable darf hier nicht verwendet werden.
+ERR_USHORTRANGE Der Zahlenwert ist auerhalb von [0, 0xFFFF].
+ERR_IDRANGE Der Zahlenwert ist auerhalb von [0, 0x7FFF].
+ERR_NOCOPYOBJ Defaultresource wurde nicht gefunden. Eine Resourceinstanz kann +"mit einer anderen initialisiert werden. Diese ander Instanz wurde +"nicht gefunden.
+ERR_REFNOTALLOWED An dieser Stelle ist die Angabe einer Referenz verboten.
+ERR_DOUBLEDEFINE Ein Makroname soll doppelt vergeben werden.
+ERR_COPYNOTALLOWED Die Angabe einer Defaultresource ist verboten.
+ERR_IDEXPECTED Ein Identifier mu Angegeben werden.
+ERR_ZERODIVISION Es sollte durch Null geteilt werden.
+ERR_PRAGMA Bei der Angabe eines Pragmas ist ein Fehler aufgetreten.
+ERR_DECLAREDEFINE Ein Makro mit dieser Deklaration kann nicht erstellt werden. +"Entweder eine rekursive Definition oder die verwendeten Makros +"sind nicht in der Abhngigkeitsliste.
+Aga
+Es folgen Warnungen.
+AfpWRN_LOCALID Resourcen die sich innerhalb einer anderen Resource befinden +"(Unterresourcen) haben ein Identifier ber 255.
+WRN_GLOBALID Globale Resourcen haben einen Identifier unter 256.
+WRN_SUBINMEMBER Die Unterresource werden nicht beachtet. Das bedeutet, da auf +"diese Resourcen zur Laufzeit nicht zugegriffen werden kann.
+WRN_CONT_NOID Die Resourcen haben einen ungltigen Identifier. Auf diese +"Resourcen kann zur Laufzeit nicht zugegriffen werden.
+WRN_STR_REFNOTFOUND Beim schreiben ein rc-Datei konnte eine Stringreferenz nicht +"aufgelst werden.
+WRN_MGR_REFNOTFOUND Beim schreiben ein rc-Datei konnte eine Referenz nicht aufgelst +"werden. Wenn auf Unterresourcen zugegriffen wird, die sich in +"der referenzierten Resource befinden, dann kann ein +"Laufzeitfehler auftreten.
+WRN_CONT_DOUBLEID Zwei Unterresource haben den gleichen Identifier.
+Aga
+
+
+Au0RscError::RscError()
+Aga
+AliRscError::RscError();
+Aga
+Af1Beschreibung
+Aga
+Eine Instanz wird erzeugt. Der Fehlerzhler wird auf Null gesetzt.
+
+Aga
+Aga
+Au0RscError::SetListFile()
+Aga
+Alivoid RscError::SetListFile( FILE * fLstFile );
+Aga
+Af1Beschreibung
+Aga
+Es wird eine Datei angegeben in die das Listing und die Fehlermeldungen geschrieben werden. +fListing darf auch NULL sein, dann wird kein Listing erzeugt.
+
+Af1Parameter
+Aga
+AfpfLstFile Dies ist die Datei in die geschrieben wird.
+Aga
+Af1Anmerkung
+Aga
+Fr das ffnen und Schlieen ist der Aufrufer verantwortlich.
+
+Aga
+Aga
+Au0RscError::StdOut()
+Aga
+Alivirtual void RscError::StdOut( const char * pStr );
+Aga
+Af1Beschreibung
+Aga
+Alle Zeichenketten werden nach stdout geschrieben.
+
+Af1Parameter
+Aga
+AfppStr Dies ist die Zeichenkette die geschrieben wird.
+Aga
+Af1Ausnahmen
+Aga
+Unter MS-Windows wird nicht nach stdout ausgegeben.
+Aga
+Aga
+Aga
+Au0RscError::StdLst()
+Aga
+Alivirtual void RscError::StdLst( const char * pStr );
+Aga
+Af1Beschreibung
+Aga
+Alle Zeichenketten werden in die Listing-Datei geschrieben.
+
+Af1Parameter
+Aga
+AfppStr Dies ist die Zeichenkette die geschrieben wird.
+Aga
+Af1Ausnahmen
+Aga
+Wenn keine Listing-Datei angegeben ist passiert nichts.
+Aga
+Querverweise
+
+Methoden: SetListFile().
+
+Aga
+
+Au0RscError::Error()
+Aga
+Alivirtual void RscError::Error( ERRTYPE aError,
+ RscTop * pClass,
+ const RscId & rId,
+ const char * pMess = NULL );
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode werden Fehler- und Warnungsmeldungen ausgegeben. Die Methode benutzt die +Methoden StdOut() und LstOut(). Wenn eine Fehlermeldung vorliegt wird der Fehlerzhler um eins +erhht.
+
+Af1Parameter
+Aga
+AfpaError Hierin ist die Fehlernummer gespeichert. ber diese wird der +"Fehlertext ermittelt.
+pClass Dies ist der Typ der Resourceinstanz, in der der Fehler aufgetreten +"ist. pClass darf NULL sein.
+rId Dies ist der Identifier der Resourceinstanz, in der der Fehler +"aufgetreten ist.
+pMess Dies ist der Fehlertext. pMess darf NULL sein.
+Aga
+Aga
+Aga
+Au0RscError::FatalError()
+Aga
+Alivirtual void RscError::FatalError( ERRTYPE aError,
+ const RscId & rId,
+ const char * pMess = NULL );
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode werden schwerwiegende Fehler angezeigt. Die Methode benutzt die Methoden +StdOut() und LstOut(). Die Funktion RscExit( 1 ) wird gerufen, diese sollte das Programm beenden.
+
+Af1Parameter
+Aga
+AfpaError Hierin ist die Fehlernummer gespeichert. ber diese wird der +"Fehlertext ermittelt.
+rId Dies ist der Identifier der Resourceinstanz, in der der Fehler +"aufgetreten ist.
+pMess Dies ist der Fehlertext. pMess darf NULL sein.
+Aga
+Aga
+Aga
+Au0::RscExit()
+Aga
+Alivoid RscExit( USHORT nExit );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode wird gerufen wenn ein schwerwiegende Fehler aufgetreten ist. Das Programm mu +beendet werden.
+Fehlernummer:
+Afp1 Die Funktion FatalError() wurde aufgerufen.
+10 Mit den c-Funktionen alloc() oder realloc() wird kein Speicher +"mehr zur Verfgung gestellt.
+11 Hashtabelle luft ber.
+12 Es wird mehr als 64k -1 Byte Speicher angefordert.
+13 In einem internen Zeichenkettenfeld ist nicht genug Platz.
+14 Es wird ein Objekt gelscht auf das noch mindestens eine +"Referenz besteht.
+16 Maximal 32 Variablen pro Klasse erlaubt.
+Aga
+Af1Parameter
+Aga
+AfpnExit Mit Hilfe dieser Zahl wird der aufgetreten Fehler etwas genauer +"beschrieben.
+Aga
+Af1Beispiel
+Aga
+Alivoid RscExit( USHORT nExit ){
+ if( nExit )
+ printf( "Program exit ist %d\n" nExit );
+ exit( nExit );
+};
+Aga
+Aga
+Aga
+
+
+SsvAgaPA
+Au0Stichwortverzeichnis
+Aga
+Asv::RscExit() 15
+ERRTYPE::Clear() 9
+ERRTYPE::ERRTYPE() 7
+ERRTYPE::IsError() 8
+ERRTYPE::IsOk() 9
+ERRTYPE::IsWarning() 9
+ERRTYPE::operator =() 7
+ERRTYPE::operator USHORT() 8
+ERRTYPE #6
+Fehlernummern 12
+RscError !10
+RscError::Error() 14
+RscError::FatalError() 15
+RscError::RscError() 13
+RscError::SetListFile() 13
+RscError::StdLst() 14
+RscError::StdOut() 13
+
+Aga
+
\ No newline at end of file diff --git a/rsc/doku/feinkonz.43/rscinst.doc b/rsc/doku/feinkonz.43/rscinst.doc new file mode 100644 index 000000000000..88a2cc475bd2 --- /dev/null +++ b/rsc/doku/feinkonz.43/rscinst.doc @@ -0,0 +1,4138 @@ +.\\\ WRITER 6 \\\
+S:\APP\SW5\STARLAB.LAY
+R:\SW55N\TREIBER\PS.GPM
+12
+00000
+00010
+01394
+00001
+00001
+00001
+00002
+00002
+00000
+00000
+00000
+00000
+Markus Meyer
+Spezifikation
+Rsc-Compiler
+Schnittstelle
+
+
+
+
+
+
+0
+16836
+11338
+0
+0
+JA
+3
+75
+0
+20
+0
+0
+0
+0
+0
+0
+0
+JA
+
+
+
+9
+20
+4
+Helvetica 14 Pt
+H1
+97
+20
+0
+
+Helvetica 12 Pt
+H2
+65
+23
+0
+
+Helvetia 10 Pt
+H3
+65
+20
+0
+
+Courier 10 Pt
+C1
+1
+23
+0
+
+Helvetica 14 Pt Fett
+F1
+65
+27
+2
+
+Helvetica 12 Pt Fett
+F2
+65
+23
+2
+
+Helvetia 10 Pt Fett
+F3
+65
+20
+0
+
+Tasten
+T1
+129
+27
+0
+
+Grundschrift
+GA
+97
+20
+0
+
+Grund - Absatzlayout V1.5-LSLP8
+GA
+0
+0
+0
+0
+9
+97
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Grundabsatzlayout-rechtsbndig
+GR
+0
+0
+0
+0
+9
+35
+20
+0
+2
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+0
+1
+23
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+berschrift
+U0
+0
+0
+0
+0
+5
+35
+28
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+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
+berschrift X.
+U1
+0
+0
+0
+0
+5
+35
+28
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+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 X.X.
+U2
+0
+0
+0
+0
+6
+35
+24
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+2
+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 X.X.X.
+U3
+0
+0
+0
+0
+6
+35
+20
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+3
+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 X.X.X.X.
+U4
+0
+0
+0
+0
+7
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+4
+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 X.X.X.X.X.
+U5
+0
+0
+0
+0
+7
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+5
+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
+Einrckung 4 Sp / 4 Sp
+E1
+576
+576
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Einrckung 8 Sp / 8 Sp
+E2
+1150
+1150
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Einrckung 0 Sp / 4 Sp
+E3
+0
+564
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Einrckung 4 Sp / 8 Sp
+E4
+564
+1150
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Funktionsparameter
+FP
+0
+2891
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+Inhaltsverzeichnis
+IV
+0
+0
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7653
+0
+0
+Stichwortverzeichnis
+SV
+0
+0
+0
+0
+9
+35
+20
+0
+1
+141
+1
+JA
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+3744
+1
+0
+Fettschrift einzeilig
+F1
+0
+0
+0
+0
+7
+65
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+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
+564
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+566
+0
+0
+1133
+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
+Fuzeile
+FZ
+0
+0
+0
+0
+3
+97
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7200
+1
+0
+Kopfzeile
+KZ
+0
+0
+0
+0
+3
+97
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7920
+1
+0
+Grund-Seitenlayout
+GS
+566
+609
+2436
+679
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AkzBf3#_PFAD##_TEXTNAME# 6-#_S#-
+Bf3
+
+AfzBf3$Date: 05 Feb 1992 08:23:58 $ $Revision: 1.7 $
+
+Stichwortverzeichnis
+SV
+566
+609
+2437
+680
+1416
+1416
+566
+0
+2
+NEIN
+0
+0
+
+AliBf3Stichwortverzeichnis
+AliBf3 +
+
+Ali6Bf3- #_S# -B00
+
+GS - ohne Fuzeile
+KF
+566
+609
+2437
+680
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AliBf3#_KATEGORIE# / #_THEMA2#
+AliBf3
+
+Ali
+
+Inhaltsverzeichnis
+IV
+566
+609
+2437
+680
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AliBf3Inhaltsverzeichnis
+AliBf3 +
+
+Ali
+
+
+
+
+0
+
+0
+
+SkfAga
+
+
+
+
+
+
+
+
+
+Au0 #_KATEGORIE#
+Aga
+
+Au0 #_THEMA2#
+Aga
+
+Au0
+Aga
+
+
+
+
+
+
+
+
+
+
+
+
+Au0 #_AUTOR#
+Aga
+
+Au0 STAR DIVISION / STAR LAB Hamburg
+Aga
+
+Au0 Stand: $Date: 05 Feb 1992 08:23:58 $
+Aga
+
+Sgs
+SkfAgaPA
+
+
+Au0#_KATEGORIE#
+Aga
+
+
+AfpDokumentenname #_THEMA2#
+Aga
+AfpProjektname #_THEMA1#
+Aga
+AfpVersionsnummer $Revision: 1.7 $
+Aga
+
+Afperstellt 02. April 1990
+Aga
+Afpgendert $Date: 05 Feb 1992 08:23:58 $
+Aga
+
+AfpDateiname #_PFAD##_TEXTNAME#
+Aga
+
+AfpAutor #_AUTOR#
+Aga
+AfpBearbeiter $Author: MM $
+Aga
+AfpQualittskontrolle
+Aga
+
+AfpStatus XX in Arbeit
+Afp !__ fertiggestellt
+Afp !__ abgenommen
+Afp !__ freigegeben
+Aga
+
+AfpVertraulich __ Ja XX Nein
+Aga
+
+AfpCopyright (C) Star Division 1990
+Aga
+Sivpa
+
+Au0Inhaltsverzeichnis
+Aga
+Aiv
+1 Einleitung N4
+2 Klassenbaum M5
+3 Klassenbeschreibung E5
+RscDataBase O6
+RscHrc T14
+RscSrc T24
+RscInst S31
+RscInstCopy O50
+Stichwortverzeichnis F53
+
+Sgs
+Au1pa#1 Einleitung
+Aga
+In diesem Dokument werden die Klassen beschrieben, mit denen die vom Rsc-Compiler erstellte +Datenbasis verndert werden knnen. Als Beispiel sei hier der Design-Editor genannt.
+Um das Verstndnis zu erleichtern, ist es hilfreich die Benutzerbeschreibung des Rsc-Compilers zu +lesen.
+
+Hinweise zur Implementation
+
+Die in diesem Dokument beschriebenen Klassen weisen einen hohen Grad an gegenseitigen +Abhngigkeiten auf. Daher mu bei der Anwendung einiger Methoden auf diese Zusammenhnge +besonders geachtet werden. Ein genaues lesen der Dokumentation ist unumgnglich. Zum Beispiel ist +das Lschen einer Instanz nicht immer mglich, da noch Referenzen auf sie bestehen. Diese +Schnittstelle ist darauf ausgelegt, da auf die Daten im Dialogbetrieb zugegriffen wird. Das heit, sie +ist auf bersichtlichkeit und Fehlererkennung nicht aber auf Speicher- und Geschwindigkeitseffizienz +ausgelegt.
+Bevor eine dieser Klassen benutzt wird, mu die InitRscCompiler() Funktion aufgerufen werden.
+Agapa
+Au1#2 Klassenbaum
+Aga
+RscDataBase
+RscHrc -> RscSrc
+RscInst -> RscInstCopy
+
+
+Au1#3 Klassenbeschreibung
+Aga
+AgaRscDataBase:
+
+Diese Klasse stellt Methoden zur Verfgung mit denen ein Resourceprojekt verwaltet werden kann, +wie zum Beispiel das Anlegen einer neuen Datei oder zu einem Klassennamen den Klassentyp +erzeugen.
+
+AgaRscHrc:
+
+Diese Klasse stellt Methoden zur Verfgung mit denen dateiabhngige Informationen und Daten aus +der Datenbasis gewonnen werden knnen. Es handelt sich hierbei hauptschlich um Makros. Diese +Klasse ist als Sicht auf eine hrc-Datei zu verstehen. Die Daten stehen in der Datenbasis.
+
+AgaRscSrc:
+
+Diese Klasse stellt Methoden zur Verfgung mit denen dateiabhngige Informationen und Daten aus +der Datenbasis gewonnen werden knnen. Diese Klasse ist als Sicht auf eine src-Datei zu verstehen. +Die Daten stehen in der Datenbasis.
+
+RscInst:
+
+Eine RscInst reprsentiert eine Referenz auf eine Resourceinstanz, wie zum Beispiel Farbe oder Breite. +Eine Resourceinstanz kann weitere Resourceinstanzen enthalten.
+
+RscInstCopy:
+
+Diese Instanz reprsentiert eine Kopie einer Resourceinstanz.
+
+Au0PARscDataBase
+Aga
+Aliclass RscDataBase {
+protected:
+ RscCmdLine * pCmdLine;
+ RscTypCont * pTC;
+public:
+ RscDataBase( RscError * );
+ ~RscDataBase();
+ RscTop* GetClassType( HASHID nClassName );
+ BOOL MakeConsistent( RscInconsList * pList );
+ RscFileTab * GetFileTab();
+ RscFile * GetFileStruct( ULONG lFileKey );
+ RscStrList * GetPathList();
+ ULONG AddSrcFile( const String & rFileName );
+ ULONG AddHrcFile( const String & rFileName );
+ void ScanForIncFiles( ULONG lFileKey );
+ void RemoveFile( ULONG lKey );
+ RscDefine * FindDef( const String & rName );
+ ULONG GetFileKey( const String & rFileName );
+};
+Aga
+Af1Beschreibung
+Aga
+Diese Klasse enthlt die Klassen RscCmdLine und RscTypCont.
+Die Klasse RscCmdLine enthlt die Steuerinformation fr den Compiler. Die Klasse RscTypCont +enthlt die vom Compiler erstellte DatenBasis.
+Diese Klasse lst folgende Aufgaben:
+ 1. Das berprfen der Konsistenz der Datenbasis.
+ 2. Das Bearbeiten der Projektstruktur.
+
+Af1Anmerkungen
+Aga
+Fr einige Methoden der Klasse RscDataBase gilt, da sie eventuell auf alle existierenden +Resourceinstanzen zugreifen mssen. Wenn zum Beispiel die Konsistenz der Datenbasis berprft +wird, kann dies nur ber die Objekte in der Datenbasis geschehen.
+
+Af1Querverweise
+Aga
+Klassen: RscCmdLine, RscTypCont, RscFile, RscDefList, RscError, RscId, RscHrc, RscSrc.
+Methoden: HashId, GetHashString.
+
+Af1Beispiel
+Aga
+Im Beispiel wird der einer Resource erfragt.
+Ali.....
+Ali// statische Datenstrukturen initialisieren
+InitRscCompiler();
+.....
+RscError aErrorHandle; // Fehlerbehandlung
+RscDataBase aCmpInst( &aErrorHandle ); // Datenbasis
+RscTop* pClassTyp; // ein Klassentyp
+
+// Typ einer Resource aus dem Namen der Klasse erzeugen
+pClassTyp = aCmpInst.GetClassType( HashId( "Color" ) );
+Ali.....
+
+Au0PARscDataBase::RscDataBase()
+Aga
+AliRscDataBase::RscDataBase( RscError * pErrorHandler );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode erzeugt eine Instanz der Klasse RscDataBase. Der Scope von dieser Instanz mu +innerhalb des Scopes von pErrorHandler liegen.
+
+Af1Parameter
+Aga
+AfppErrorHandler Ein Zeiger auf einen Fehlerhandler. Durch ableiten von der Klasse +"RscError kann ein eigener Fehlermechanismus entwickelt werden.
+Aga
+Af1Querverweise
+Aga
+Klasse: RscError
+
+Af1Beispiel
+Aga
+Ali.....
+RscError aErrorHandler;
+RscDataBase aCmpInst( &aErrorHandle );
+.....
+Aga
+Aga
+Aga
+Au0RscDataBase::RscDataBase()
+Aga
+AliRscDataBase::~RscDataBase();
+Aga
+Af1Beschreibung
+Aga
+Lscht die Membervariablen pCmdLine und pTC.
+
+Af1Anmerkungen
+Aga
+Es drfen keine Resourceinstanzen, die mit Hilfe dieser Instanz erzeugt worden sind, mehr existieren.
+
+Af1Querverweise
+Aga
+Klassen: RscInst, RscCmdLine, RscTypCont, RscIncList, RscHrc, RscSrc.
+
+Aga
+Aga
+Au0RscDataBase::GetClassType()
+Aga
+AliRscTop * RscDataBase::GetClassType( HASHID aClassName );
+Aga
+Af1Beschreibung
+Aga
+Aus dem Namen einer Klasse wird der Typ einer Klasse generiert. Der Typ bezieht sich nur auf die +RscDataBase-Instanz von der er erzeugt wurde.
+
+Af1Parameter
+Aga
+AfpaClassName ist der Name der Klasse.
+Aga
+Af1Return-Werte
+Aga
+Der Typ der Klasse wird zurckgeliefert. Wird unter dem Namen keine Klasse gefunden, dann wird +NULL zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Wenn aus gleichen Namen zweier unterschiedlicher Instanzen Typen erzeugt werden, dann sind diese +unterschiedlich.
+
+Af1Beispiel
+Aga
+Ali.....
+HASHID aClassName = HashId( "Color" );
+RscTop * aType1 = aCmpInst1.GetClassType( aClassName );
+RscTop * aType2 = aCmpInst2.GetClassType( aClassName );
+RscTop * aType3 = aCmpInst2.GetClassType( aClassName );
+.....
+Aga
+aType1 ist ungleich zu aType2.
+aType2 ist gleich zu aType3.
+
+Aga
+Aga
+Au0RscDataBase::MakeConsistent()
+Aga
+AliBOOL RscDataBase::MakeConsistent( RscInconsList * pList );
+Aga
+Af1Beschreibung
+Aga
+Es ist mglich, da durch Vernderungen von Makros die Datenbasis inkonsistent wird. Mit dieser +Methode wird versucht, die Datenbasis wieder in einen konsistenten Zustand zu versetzen. Dies kann +aber auch scheitern, wenn zum Beispiel der Wertebereich einer Variablen verlassen wird oder die + Identifier von Resourceinstanzen den gleichen Wert haben. pList enthlt die Makros bei denen es +Inkonsistenzen gibt.
+
+Af1Parameter
+Aga
+AfppList ist ein Zeiger auf eine Liste von Makro-Paaren. pList darf auch +"NULL sein.
+Aga
+Af1Return-Werte
+Aga
+AfpTRUE die Datenbasis ist wieder konsistent.
+FALSE es konnte kein konsistenter Zustand hergestellt werden.
+Aga
+Af1Anmerkungen
+Aga
+Wenn die Datenbasis inkonsistent ist, drfen auf ihr keine Operationen ausgefhrt werden.
+
+Af1Querverweise
+Aga
+Klassen: RscInconsList.
+Methoden: RscInst::IsConsistent.
+
+Af1Beispiel
+Aga
+Ali...
+RscDataBase *pDataBase = new ...; // DatenBasis
+RscSrc aSrc( ... ); //entspricht einer .src Datei
+RscDefine * pDef1, *pDef2; //Makros
+
+aSrc.NewDef( "DEF1", 1000, LIST_APPEND ); //Makro erzeugen
+aSrc.NewDef( "DEF2", 1001, LIST_APPEND ); //Makro erzeugen
+pDef1 = aSrc.FindDef( "DEF1" ); //Makro holen
+pDef2 = aSrc.FindDef( "DEF2" ); //Makro holen
+
+/* aStrInst enthlt eine gltige String-Instanz */
+//String-Instanz unter Id mit Wert 1000 einsetzen
+AliaSrc.SetRscInst( RscId( pDef1 ), aStrInst );
+//String-Instanz unter Id mit Wert 1001 einsetzen
+AliaSrc.SetRscInst( RscId( pDef2 ), aStrInst );
+//aendern des Makro-Wertes
+aSrc.ChangeDef( "DEF2", 1000 );
+//Datenbasis ueberpruefen
+if( pDataBase->MakeConsistent( NULL ) )
+ printf( "Konsistent" );
+else
+ printf( "Inkonsistent" );
+Aga
+Die Ausgabe ist 'Inkonsistent', weil in der Datenbasis zwei String-Instanzen mit dem Identifier 1000 +existieren.
+Aga
+Aga
+Au0RscDataBase::GetFileTab()
+Aga
+AliRscFileTab * RscDataBase::GetFileTab();
+Aga
+Af1Beschreibung
+Aga
+Die interne Struktur der Makro- und Dateiverwaltung wird zurckgeliefert.
+
+Af1Return-Werte
+Aga
+Es wird ein Zeiger auf die Struktur der Projektverwaltung zurckgeliefert.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+Aga
+Aga
+Aga
+Au0RscDataBase::GetFileStruct()
+Aga
+AliRscFile * RscDataBase::GetFileStruct( ULONG lFileKey );
+Aga
+Af1Beschreibung
+Aga
+Auf die interne Darstellung der Daten einer Datei wird ber einen Schlssel zugegriffen. Mit Hilfe +dieses Schlssels kann man einen Zeiger auf die interne Datenstruktur bekommen.
+
+Af1Parameter
+Aga
+AfplFileKey Schlssel der Datei.
+Aga
+Af1Return-Werte
+Aga
+Zeiger auf interne Struktur.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFile, RscFileTab.
+Methoden: GetKey().
+Aga
+Aga
+Aga
+Au0RscDataBase::GetPathList()
+Aga
+AliRscStrList * RscDataBase::GetPathList();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode gibt einen Zeiger auf eine Liste mit Pfadnamen zurck. Diese Liste kann verndert +werden. Die nderungen wirken sich sofort auf den Suchpfad aus.
+
+Af1Return-Werte
+Aga
+Es wird die PfadListe zurckgeliefert.
+
+Af1Beispiel
+Aga//veraendern der Pfadliste
+
+AliRscDataBase aBase( ... ); //Datenbasis
+
+// Pfadliste holen
+RscStrList * pPathLst = aBase.GetPathList();
+//Pfad hinzufuegen
+pPathList->Insert( String( "c:\demo\resource" ) );
+Aga
+Aga
+Au0
+Au0RscDataBase::AddSrcFile()
+Aga
+AliULONG RscDataBase::AddSrcFile( const String & rName );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode stellt eine Src-Datei in die Projektverwaltung.
+
+Af1Parameter
+Aga
+AfprName Dies ist der Name der Datei.
+Aga
+Af1Return-Werte
+Aga
+Es wird der Schlssel der Datei zurckgeliefert.
+Aga
+Af1Anmerkungen
+Aga
+Wenn es eine Datei unter diesem Namen gibt, dann wird der Schlssel dieser Datei zurckgegeben.
+
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+
+Aga
+Aga
+Au0RscDataBase::AddHrcFile()
+Aga
+AliULONG RscDataBase::AddHrcFile( const String & rName );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode stellt eine Hrc-Datei in die Projektverwaltung.
+
+Af1Parameter
+Aga
+AfprName Dies ist der Name der Datei.
+Aga
+Af1Return-Werte
+Aga
+Es wird der Schlssel der Datei zurckgeliefert.
+Aga
+Af1Anmerkungen
+Aga
+Wenn es eine Datei unter diesem Namen gibt, dann wird der Schlssel dieser Datei zurckgegeben.
+
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+
+Aga
+
+Au0RscDataBase::ScanForIncFiles()
+Aga
+Alivoid RscDataBase::ScanForIncFiles( ULONG lFileKey );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode durchsucht die Datei nach Include-Anweisungen. Die Dateien werden in die +Abhngigkeitsliste von der Datei mit dem Schlssel lFileKey eingetragen. Die Dateien werden in die +Projektverwaltung gestellt.
+
+Af1Anmerkungen
+Aga
+Kann die Datei nicht geffnet werden dann wird die Abhngigkeitsliste nicht gendert. +Preprozessoranweisungen wie #ifdef... werden nicht beachtet. C- und C++-Kommentare werden +beachtet.
+
+Af1Querverweise
+Aga
+Klassen: RscCompiler.
+Methoden: RscCompiler::IncludeParser().
+Aga
+Aga
+
+Au0RscDataBase::RemoveFile()
+Aga
+Alivoid RscDataBase::RemoveFile( ULONG lFileKey );
+Aga
+Af1Beschreibung
+Aga
+Die Datei wird aus der Projektverwaltung gelscht. Alle dieser Datei zugeordneten Makros und +Resource-Instanzen werden gelscht. Alle Verweise auf diese Datei werden gelscht.
+
+Af1Parameter
+Aga
+AfplFileKey Schlssel der Datei.
+Aga
+Af1Anmerkungen
+Aga
+Diese Datei wird auch aus den Abhngigkeitslisten der anderen Dateien gelscht. Wenn +Abhngigkeiten auf Makros bestehen, dann werden sie durch Zahlen ersetzt.
+
+Af1Querverweise
+Aga
+Klassen: RscFile, RscFileTab.
+Methoden: RscTypCont::WriteSrc().
+
+Aga
+Aga
+Au0RscDataBase::FindDef()
+Aga
+AliRscDefine * RscDataBase::FindDef( const String & rName );
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode kann ein Makro ber seinen Namen gefunden werden.
+
+Af1Parameter
+Aga
+AfprName ist der Name des Makros.
+Aga
+Af1Return-Werte
+Aga
+Es wird ein Zeiger auf das Makro mit Namen rName zurckgegeben.
+AfpNULL Es wurde kein Makro gefunden.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+
+Aga
+Aga
+Au0RscDataBase::GetFileKey()
+Aga
+AliULONG RscDataBase::GetFileKey( const String & rFileName );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode sucht in der Projektverwaltung nach einem Datei mit Namen "rFileName".
+Wenn eine Datei unter diesem Namen in der Projektverwaltung steht wird der Schlssel dieser Datei +zurckgegeben.
+
+Af1Parameter
+Aga
+AfprFileKey Der Dateiname nach dem gesucht wird.
+Aga
+Af1Return-Werte
+Aga
+Es wird die Schlssel der Datei zurckgeliefert.
+AfpNOFILE_INDEX dieser Wert zeigt an, da der Dateiname nicht gefunden wurde.
+Aga
+Af1Anmerkungen
+Aga
+Gro-und Kleinschreibung wird bei der Suche beachtet.
+
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+
+Aga
+Aga
+Au0PARscHrc
+Aga
+Aliclass RscHrc {
+protected:
+ ULONG lFileKey;//Schluessel der Datei
+public:
+ RscHrc( RscDataBase *, ULONG lKey );
+ ~RscHrc();
+ ERRTYPE ReadFile();
+ ULONG GetFileKey();
+ void SetDirty();
+ BOOL IsDirty();
+ void SetPathName( const String & );
+ String GetPathName();
+ void SetFileName( const String & );
+ String GetPathName();
+ void InsertDepend( ULONG lKey, ULONG lPos );
+ RscDefineList * GetDefineList();
+ RscDefine * FindDef( const String & );
+ ERRTYPE NewDef( const String & rName,
+ long lValue, ULONG lPos );
+ ERRTYPE NewDef( const String & rName,
+ const String & rMacro,
+ ULONG lPos );
+ ERRTYPE ChangeDef( const String & rName,
+ long lValue );
+ ERRTYPE ChangeDef( const String & rName,
+ const String & rMacro );
+ BOOL IsDefUsed( const String & rName );
+ void DeleteDef( const String & rName );
+ ERRTYPE ChangeDefName( const String & rName,
+ const String & rNewName );
+
+ RscFile * GetFileStruct();
+ RscDependList * GetDependList();
+ ERRTYPE WriteFile();
+};
+Aga
+Af1Beschreibung
+AgaDiese Klasse enthlt nur eine Referenz auf eine andere Klasse. Alle Operation werden also auf der +referenzierten Klasse durchgefhrt. Diese Klasse ist nur eine Schnittstelle. Diese Klasse stellt eine +Sicht auf eine hrc-Datei dar.
+
+Diese Klasse lst folgende Aufgaben:
+ 1. Das Verwalten der Abhngigkeitsliste einer Datei.
+ 2. Das Verwalten der Makros in dieser Datei.
+ 3. Das Schreiben von ".hrc"-Dateien.
+
+Af1Querverweise
+Aga
+Klassen: RscTypCont, RscDependList, RscDefList, RscError, RscId.
+
+Au0PARscHrc::RscHrc()
+Aga
+AliRscHrc::RscHrc( RscDataBase * pDataBase, ULONG lKey );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode erzeugt eine Instanz der Klasse RscHrc. Der Scope von dieser Instanz mu innerhalb +des Scopes von pDataBase liegen.
+
+Af1Parameter
+Aga
+AfppDataBase Ein Zeiger auf eine Datenbasis.
+lKey Ist der Schlssel einer Datei.
+Aga
+Af1Querverweise
+Aga
+Klassen RscError, RscSrc, RscFileTab.
+
+Af1Beispiel
+Aga
+Ali.....
+/* aSrc ist ein bestehende Instanz der Klasse RscSrc */
+//Abhaengigkeitsliste holen
+RscDependList * pDepLst = aSrc.GetDependList();
+//Erstes Element holen
+RscDepend * pDep = pDepList->First();
+//Hrc-Instanz erzeugen, aHrc ist die Repraesentation der
+//ersten Datei in der Abhaengigkeitsliste
+RscHrc aHrc( pDataBase, pDep->GetFilekey() );
+.....
+Aga
+Aga
+Au0RscHrc::~RscHrc()
+Aga
+AliRscHrc::~RscHrc();
+Aga
+Af1Beschreibung
+Aga
+Der Destruktor hat keine Funktion.
+
+Aga
+Aga
+Au0RscHrc::ReadFile()
+Aga
+AliERRTYPE RscHrc::ReadFile();
+Aga
+Af1Beschreibung
+Aga
+Es wird eine Datei eingelesen. Es wird in der Abhngigkeitsliste berprft ob alle Dateien geladen +sind, sind sie nicht geladen, werden sie zuerst eingelesen. Tritt ein fehler auf, wurde die Fehlerhafte +Datei nicht eingelesen. Der Fehler innerhalb der Datei mu mit einem Editor verbessert werden (siehe +Rsc-Compiler Benutzerhandbuch).
+
+Af1Return-Werte
+Aga
+AfpERRTYPE.IsOk() Es ist kein Fehler aufgetreten.
+AfpERR_OPENFILE Die Datei konnte nicht gffnet werden.
+anderer Wert Siehe Klasse RscError.
+Aga
+Af1Anmerkungen
+Aga
+Es sollte sichergestellt sein, da die Datei mit dem Rsc-Compiler ohne Preprozessor bersetzt werden +kann. Es knnen aber trotzdem Fehler auftreten wie zum Beispiel Identifierkonflikte mit vorher +eingelesener Datei, oder die Include-Dateien wurden vorher nicht eingelesen (#define kann nicht +aufgelst werden).
+
+Af1Querverweise
+Aga
+Klassen: RscError, RscCompiler.
+
+Aga
+
+Au0RscHrc::GetFileKey()
+Aga
+AliULONG RscHrc::GetFileKey();
+Aga
+Af1Return-Werte
+Aga
+Liefert den Schlssel der Datei zurck.
+Aga
+Aga
+Aga
+Au0RscHrc::SetDirty()
+Aga
+Alivoid RscHrc::SetDirty( BOOL bSet );
+Aga
+Af1Beschreibung
+Aga
+Es wird das Attribut Dirty gesetzt. Das Attribut Dirty bewirkt nichts.
+
+Af1Parameter
+Aga
+AfpbSet Ist der Wert auf den das Attribut gesetzt werden soll.
+Aga
+Af1Querverweise
+Aga
+Methoden: IsDirty().
+
+Aga
+Aga
+Au0RscHrc::IsDirty()
+Aga
+AliBOOL RscHrc::IsDirty();
+Aga
+Af1Beschreibung
+Aga
+Gibt an ob das Attribut Dirty gesetzt ist.
+
+Af1Return-Werte
+Aga
+AfpTRUE Dirty ist gesetzt.
+FALSE Dirty ist nicht gesetzt.
+Aga
+Aga
+Au0RscHrc::SetPathName()
+Aga
+Alivoid RscHrc::SetPathName( const String & rPath );
+Aga
+Af1Beschreibung
+Aga
+Der Pfadname der Datei, die durch diese Instanz reprsentiert wird, wird gendert. Der Pfadname ist +der Name, unter dem die Datei gespeichert wird.
+
+Af1Parameter
+Aga
+AfprPath Der Pfadname der Datei.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFile.
+Methoden: GetPathname(), SetFileName(), GetFileName()
+
+Aga
+Aga
+Au0RscHrc::GetPathName()
+Aga
+AliString RscHrc::GetPathName();
+Aga
+Af1Return-Werte
+Aga
+Der Pfadname der Datei wird zurckgeliefert.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFile.
+Methoden: SetPathName(), SetFileName(), GetFileName().
+
+Aga
+Aga
+Au0RscHrc::SetFileName()
+Aga
+Alivoid RscHrc::SetFileName( const String & rPath );
+Aga
+Af1Beschreibung
+Aga
+Der Name der Datei, die durch diese Instanz reprsentiert wird, wird gendert. Unter diesem Namen +wird die Datei zum Beispiel in den "#include <Name>" Anweisungen verwendet.
+
+Af1Parameter
+Aga
+AfprPath Der Name der Datei.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFile.
+Methoden: SetPathName(), GetPathname(), GetFileName()
+
+Aga
+Aga
+Au0RscHrc::GetFileName()
+Aga
+AliString RscHrc::GetFileName();
+Aga
+Af1Return-Werte
+Aga
+Der Name der Datei wird zurckgeliefert.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFile.
+Methoden: SetPathName(), GetPathName(), SetFileName().
+
+Aga
+Aga
+Aga
+Au0RscHrc::InsertDepend()
+Aga
+Alivoid RscHrc::InsertDepend( ULONG lFileKey, ULONG lPos );
+Aga
+Af1Beschreibung
+Aga
+Eine neue Include-Datei wird in die Abhngigkeitsliste eingefgt.
+
+Af1Parameter
+Aga
+AfplFileKey Dies ist der Schlssel der Include-Datei.
+lPos An dieser Position wird der Schlssel in die Abhngigkeitsliste +"eingefgt.
+Aga
+Af1Return-Werte
+Aga
+Es wird der Schlssel der Datei zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Wenn eine Include-Datei unter diesem Schlssel schon in der Abhngigkeitsliste steht, wird er nicht +noch einmal eingetragen.
+
+Af1Querverweise
+Aga
+Klassen: RscFile.
+Methoden: FillIncList().
+
+Aga
+Aga
+Au0RscHrc::GetDefineList()
+Aga
+AliRscDefineList * RscHrc::GetDefineList();
+Aga
+Af1Beschreibung
+Aga
+In jeder Hrc-Datei gibt es Makros. Diese Makros werden in eine RscDefineList gestellt.
+
+Af1Return-Werte
+Aga
+Es wird ein Zeiger auf die Makro-Liste zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klassen: RscDefineList.
+
+Aga
+Aga
+Au0RscHrc::FindDef()
+Aga
+AliRscDefine * RscHrc::FindDef( const String & rName );
+Aga
+Beschreibung
+Aga
+Mit dieser Methode kann ein Makro ber seinen Namen gefunden werden. Es wird nur in dieser Datei +oder in den Dateien gesucht, von denen diese Datei abhngt.
+
+Af1Parameter
+Aga
+AfprName ist der Name des Makros.
+Aga
+Af1Return-Werte
+Aga
+Es wird ein Zeiger auf das Makro mit Namen rName zurckgegeben.
+AfpNULL Es wurde kein Makro gefunden.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+
+Af1Beispiel
+Aga
+Ali//Dateiname = t.src
+...
+#include <t1.hrc>
+#include <t2.hrc>
+
+#define TEST 1
+Aga
+Wenn aHrc2 die Datei t2.hrc reprsentiert, dann werden die Makros in t2.hrc und t1.hrc gesucht. Sie +werden nicht in t.src gesucht.
+
+Aga
+Aga
+Au0RscHrc::NewDef()
+Aga
+AliERRTYPE RscHrc::NewDef( const String & rName,
+ long lValue, ULONG lPos );
+ERRTYPE RscHrc::NewDef( const String & rName,
+ const String & rMacro,
+ ULONG lPos );
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode knnen neue Makros angelegt werden. Die Makros werden der Datei zugeordnet, +die durch diese Instanz reprsentiert wird.
+
+Af1Parameter
+Aga
+AfprName Ist der Name des neuen Makros.
+lValue Ist der Wert des neuen Makros.
+rMacro Ist ein String der ausgewertet wird.
+lPos gibt die Position an, an welcher das Makro eingefgt werden soll.
+Aga
+Af1Return-Werte
+Aga
+In ERRTYPE steht, ob ein Fehler aufgetreten ist und um welchen es sich handelt.
+
+Af1Anmerkungen
+Aga
+Durch rMacro knnen Makros auch wieder durch Makros erklrt werden. Es wird sichergestellt, da +nur Makros verwendet werden, die vorher deklariert wurden. Ob sie vorher deklariert wurden, wird +anhand der Abhngigkeitslisten entschieden.
+
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+Methoden: ::MacroParser().
+
+Af1Beispiel
+Aga
+Ali//Datei demo.hrc in Projektverwaltung
+lFileKey = pBase->AddHrcFile( "demo.hrc" );
+//Sicht auf demo.hrc
+RscHrc aHrc( pBase, lFileKey );
+//Makro erzeugen
+aHrc.NewDef( String( "BASE" ), 1000 );
+//Makro erzeugen
+aHrc.NewDef( String( "DEF_TEST" ), String( "1000 + 2" ) );
+//Makro erzeugen
+aHrc.NewDef( String( "MENU_FILE" ),String( "BASE + 100" ));
+Aga
+Aga
+Aga
+Au0RscHrc::ChangeDef()
+Aga
+AliERRTYPE RscHrc::ChangeDef( const String & rName,
+ const String & rMacro );
+ERRTYPE RscHrc::ChangeDef( const String & rName,
+ long lValue );
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode knnen Makros gendert werden.
+
+Af1Parameter
+Aga
+AfprName Ist der Name des neuen Makros.
+rMacro Ist ein String der ausgewertet wird.
+lValue Ist der Wert des genderten Makros.
+Aga
+Af1Return-Werte
+Aga
+In ERRTYPE steht, ob ein Fehler aufgetreten ist und um welchen es sich handelt.
+
+Af1Anmerkungen
+Aga
+Durch rMacro knnen Makros auch wieder durch Makros erklrt werden. Es wird sichergestellt, da +nur Makros verwendet werden, die vorher deklariert wurden. Ob sie vorher deklariert wurden, wird +anhand der Abhngigkeitslisten entschieden.
+
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+Methoden: ::MacroParser(), NewDef().
+
+Af1Beispiel
+Aga
+Ali//Datei demo.hrc in Projektverwaltung
+lFileKey = pBase->AddHrcFile( "demo.hrc" );
+//Sicht auf demo.hrc
+RscHrc aHrc( pBase, lFileKey );
+//Makro erzeugen
+aHrc.NewDef( String( "BASE" ), 1000 );
+//Makro erzeugen
+aHrc.NewDef( String( "DEF_TEST" ), String( "1000 + 2" ) );
+//Makro aendern
+aHrc.ChangeDef( String( "DEF_TEST" ),
+ String( "BASE + 100" ) );
+Aga
+Aga
+Aga
+Au0RscHrc::IsDefUsed()
+Aga
+AliBOOL RscHrc::IsDefUsed( const String & rName );
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode kann festgestellt werden ob ein Makro noch bentigt wird. Es wird bentigt, wenn +Referenzen bestehen, z.B. das Makro wird zur Definition von anderen Makros verwendet.
+
+Af1Parameter
+Aga
+AfprName Ist der Name des Makros.
+Aga
+Af1Return-Werte
+Aga
+AfpTRUE Das Makro wird noch bentigt.
+FALSE Das Makro wird nicht mehr bentigt.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+
+Aga
+
+Au0RscHrc::DeleteDef()
+Aga
+Alivoid RscHrc::DeleteDef( const String & rName );
+Aga
+Af1Beschreibung
+Aga
+Das Makro mit dem Namen rName wird gelscht.
+
+Af1Parameter
+Aga
+AfprName Ist der Name des Makros.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+
+Aga
+Aga
+Au0RscHrc::ChangeDefName()
+Aga
+AliERRTYPE RscHrc::ChangeDefName( const String & rName,
+ const String & rNewName );
+Aga
+Af1Beschreibung
+Aga
+Der Name des Makros wird umbenannt. Existiert der neue Name schon, oder ist der neue Name ein +reserviertes Wort, wird ein Fehler zurckgeliefert.
+
+Af1Parameter
+Aga
+AfprName Der Name des Makros.
+rNewName Der neue Name des Makros.
+Aga
+Af1Return-Werte
+Aga
+In ERRTYPE steht, ob ein Fehler aufgetreten ist und um welchen es sich handelt.
+
+Af1Anmerkungen
+Aga
+Alle Objekte oder Makros, die das umbenannte Makro benutzen, enthalten den neuen Namen.
+
+Af1Querverweise
+Aga
+Klassen: RscFileTab.
+
+Aga
+
+Au0RscHrc::GetFileStruct()
+Aga
+AliRscFile * RscHrc::GetFileStruct();
+Aga
+Af1Return-Werte
+Aga
+Liefert einen Zeiger auf die interne Datenstruktur..
+
+Af1Querverweise
+Aga
+Klassen: RscFile, RscFileTab.
+Aga
+Aga
+
+Au0RscHrc::GetDependList()
+Aga
+AliRscDependList * RscHrc::GetDependList();
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode bekommt man die Abhngigkeitsliste der Datei.
+
+Af1Return-Werte
+Aga
+Die Methode liefert einen Zeiger auf die Abhngigkeitsliste zurck.
+Aga
+Af1Anmerkungen
+Aga
+Die Datei ist selbst als letztes Element in der Liste vermerkt.
+
+Af1Querverweise
+Aga
+Klassen: RscFile, RscFileTab.
+
+Aga
+Aga
+Au0RscHrc::WriteFile()
+Aga
+AliERRTYPE RscHrc::WriteFile();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode schreibt eine Datei im src-Format. Alle Resourceinstanzen die zu dieser Datei gehren +werden geschrieben. Es werden auch alle zugehrigen Makros geschrieben. Ein Datei ohne +Resourceinstanzen ist eine hrc-Datei. Der Name unter dem die Datei geschrieben wird ist der +Pfadname.
+
+Aga
+Af1Return-Werte
+Aga
+AfpERRTYPE.IsOk() Die Daten wurden in die entsprechende Datei geschrieben.
+Afpanderer Wert Es ist ein Fehler aufgetreten. Die angegebene Datei wurde +"eventuell unvollstndig geschrieben.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscTypCont.
+Methoden: RscTypCont::WriteSrc(), RscDefineList::WriteAll(), SetPathName().
+
+Aga
+Au0PARscSrc
+Aga
+Aliclass RscSrc {
+public:
+ RscSrc( RscDataBase * pDataBase, ULONG lKey );
+ ~RscSrc();
+ RscInstCopy CreateRscInst( RscTop * pClass );
+ ERRTYPE DeleteRscInst( RscTop * pTypeClass,
+ RscId & rName );
+ ERRTYPE SetRscInst( RscId & rInstName, RscInstCopy & );
+ RscInst GetRscInst( RscTop * pClass, RscId & rInst );
+ void FillNameIdList( REResourceList * pList );
+ ERRTYPE WriteCxxFile( const String &,
+ const String & rHxxFile );
+ ERRTYPE WriteHxxFile( const String & );
+};
+Aga
+Af1Beschreibung
+Aga
+Diese Klasse lst folgende Aufgaben:
+ 1. Das Einlesen der Include-Dateien und der ".src"-Datei mit Erstellung der Datenbasis.
+ 2. Das Erzeugen von Resourceinstanzen.
+ 3. Das Finden und Herausgeben von Resourceinstanzen.
+ 4. Das Einsetzen von Resourceinstanzen.
+ 5. Das Schreiben von ".cxx"- und ".hxx"-Dateien.
+
+Af1Anmerkungen
+Aga
+Die von einer Instanz dieser Klasse herausgegebenen Resourceinstanzen sind von der Verwendeten +Datenbasis abhngig, das heit bevor die Datenbasis gelscht wird, mssen alle Resourceinstanzen +gelscht oder wieder eingesetzt worden sein.
+
+Af1Querverweise
+Aga
+Klassen: RscTypCont, RscError, RscId, RscDataBase.
+Methoden: HashId, GetHashString.
+
+Af1Beispiel
+Aga
+Auszug aus der test.src Datei.
+Ali.....
+Color 1000 {
+ Red = 0; //kein Rotanteil
+ Green = 65535;
+ Blue = 65535;
+};
+.....
+
+AgaAuszug aus der ".cxx" Datei.
+Ali.....
+// Compilers initialisieren
+InitRscCompiler();
+.....
+RscError aErrorHandle; // Fehlerbehandlung
+RscdataBase aBase( aErrorHandle ); // Datenbasis erzeugen
+//src-Datei
+RscSrc aSrc( &aBase,
+ aBase->AddSrcFile( "test.src" ) );
+RscInst aInst; // eine ResourceInstanz
+RscTop* pClassTyp; // ein Klassentyp
+
+// Einlesen der Resourcedatei test.src
+aSrc.ReadFile();
+// Typ einer Resource aus dem Namen erzeugen
+pClassTyp = aBase.GetClassType( HashId( "Color" ) );
+// Instanz holen
+aInst = aSrc.GetRscInst( pClassTyp, RscId( 1000 ) );
+// Instanz verndern
+aInst.SetNumber( HashId( "Red" ), 65535 );
+// Da es sich bei aInst nur um eine Referenz in die
+// Datenbasis handelt, werden die Aenderungen sofort
+// uebernommen.
+
+// Vernderte test.src Datei schreiben
+aSrc.WriteFile();
+.....
+
+AgaAuszug aus der vernderten test.src Datei.
+Alle Kommentare werden gelscht. Bei Preprozessoranweisungen wie #include oder #define kommt +es zu Reihenfolgenderungen.
+
+Ali.....
+Color 1000 {
+ Red = 65535;
+ Green = 65535;
+ Blue = 65535;
+};
+.....
+Aga
+
+Au0PARscSrc::RscSrc()
+Aga
+AliRscSrc::RscSrc( RscDataBase * pDataBase,
+ ULONG lFileKey );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode erzeugt eine Instanz der Klasse RscSrc. Der Scope von dieser Instanz mu innerhalb +des Scopes von pDataBase liegen.
+
+Af1Parameter
+Aga
+AfppDataBase Ein Zeiger auf eine Datenbasis.
+lFileKey Der Schlssel einer Datei.
+Aga
+Af1Querverweise
+Aga
+Klasse: RscError
+
+Af1Beispiel
+Aga
+Ali.....
+RscDataBase aDataBase(...);
+RscSrc aCmpInst( &aDataBase,
+ aDataBase.AddSrcFile( "t.src" ) );
+.....
+Aga
+Aga
+Aga
+Au0RscSrc::RscSrc()
+Aga
+AliRscSrc::~RscSrc();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode hat keine Funktion.
+
+Aga
+Aga
+Au0RscSrc::CreateRscInst()
+Aga
+AliRscInstCopy RscSrc::CreateRscInst( RscTop * pClass );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode erzeugt eine Instanz vom Typ pClass.
+
+Af1Parameter
+Aga
+AfppClass ist der Typ der Resource, die erzeugt werden soll.
+Aga
+Af1Return-Werte
+Aga
+Es wird eine RscInstCopy Instanz zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Ist der Typ der Klasse nicht bekannt, dann wird eine ungltige RscInstCopy zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klasse: RscInst, RscInstCopy.
+Methoden: RscInst::IsInst(), RscDataBase::GetClassType().
+
+Af1Beispiel
+Aga
+Ali.....
+RscInstCopy aColInst;
+RscTop * pColorType =
+ aBase.GetClassType( HashId( "Color" ) );
+
+// Resourceinstanz einer Farbe erzeugen
+aColInst = aCmpInst.CreateRscInst( pColorType );
+if( !aColInst.IsInst() )
+ printf( "Farbinstanz konnte nicht erzeugt werden!" );
+.....
+Aga
+Aga
+
+Au0RscSrc::DeleteRscInst()
+Aga
+AliERRTYPE RscSrc::DeleteRscInst( RscTop * pClass,
+ RscId & rInstName );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode lscht Resourceinstanz mit dem Namen rInstName aus der Datenbasis.
+
+Af1Parameter
+Aga
+AfppClass ist der Typ der Resourceinstanz.
+rInstName ist der Identifier der Resourceinstanz, die gelscht werden soll.
+Aga
+Af1Return-Werte
+Aga
+Zeigt an ob ein Fehler und welcher Fehler aufgetreten ist.
+Aga
+Af1Querverweise
+Aga
+Klasse: RscId, RscError.
+
+Aga
+Aga
+Aga
+Au0RscSrc::SetRscInst()
+Aga
+AliERRTYPE RscSrc::SetRscInst( RscId & rInstName,
+ RscInstCopy & rInst );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode setzt die Daten einer Instanz unter dem Namen rInstName in die Datenbasis ein. Ist +eine andere Instanz unter diesem Namen gespeichert, wird sie gelscht.
+
+Af1Parameter
+Aga
+AfprInstName Identifier der Instanz.
+AfprInst Die Daten aus dieser Instanz werden in die Datenbasis eingesetzt.
+Aga
+Af1Return-Werte
+Aga
+AfpERRTYPE.IsOk() die Instanz wurde eingesetzt.
+anderer Wert Es ist ein Fehler aufgetreten.
+Aga
+Af1Anmerkungen
+Aga
+Die Identifikation einer Instanz erfolgt ber den Typ und den Namen. Wird ein Fehler zurckgegeben, +dann wurde die Instanz nicht eingesetzt.
+
+Af1Querverweise
+Aga
+Klassen: RscInstCopy, RscId.
+Methode: RscDataBase::DeleteRscInst(), GetRscInst().
+
+Af1Beispiel
+Aga
+Ali.....
+RscId aWindowName;// Identifier eines Fensters
+RscInst aWindow; // Instanz eines Fensters
+.....
+//Instanz einsetzen und die Alte lschen, falls vorhanden
+aCmpInst.SetRscInst( aWindowName, aWindow );
+Aga
+Aga
+Aga
+Au0RscSrc::GetRscInst()
+Aga
+AliRscInst RscSrc::GetRscInst( RscTop * pClass,
+ RscId & rInstName );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode holt eine RscInst Instanz aus der Datenbasis.
+
+Af1Parameter
+Aga
+AfppClass der Typ der Instanz.
+AfprInstName der Identifier der Instanz.
+Aga
+Af1Return-Werte
+Aga
+Es wird eine RscInst Intanz zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Wenn unter dem Typ und Namen keine Instanz zu finden ist, dann ist die zurckgelieferte Instanz +ungltig.
+
+Af1Querverweise
+Aga
+Klassen: RscInst, RscId.
+
+Af1Beispiel
+Aga
+AliRscId aWindowName;// Identifier eines Fensters
+RscInst aWindow; // Instanz eines Fensters
+RscTop * pClassType;
+.....
+// Klassentyp holen
+pClassType = aBase.GetClassType( HashId( "Window" ) );
+// Instanz holen
+aWindow = aCmpInst.GetRscInst( aWindowName, pClassType ) );
+// Instanz gefunden
+if( aWindow.IsInst() )
+ printf( "Instanz gefunden!" );
+....
+Aga
+Aga
+Aga
+Au0RscSrc::FillNameIdList()
+Aga
+Alivoid RscSrc::FillNameIdList( REResourceList * pList );
+Aga
+Af1Beschreibung
+Aga
+Fllt eine Liste mit den Namen und Typen von Resourceinstanzen, die in der Datenbasis stehen.
+
+Af1Parameter
+Aga
+AfppList Dies ist die Liste, die gefllt wird.
+Aga
+Af1Anmerkungen
+Aga
+pList ist eine Liste von Listen. Resourceinstanzen knnen beliebige weitere Resourceinstanzen +beinhalten. Die Liste spiegelt diese Verschachtelung wieder.
+
+Af1Querverweise
+Aga
+Klasse: REResourceList.
+
+Af1Beispiel
+Aga
+Ali// Resourcedatei
+Window 1000 {
+ .....
+ PushButton 1 { ..... };
+ String 1 { ..... };
+ String 2 { ..... };
+};
+AliWindow 1001 { ..... };
+WorkWindow 1000 {
+ .....
+ String 1 { ..... };
+};
+AgaEine von diesen Resourcen erzeugte Liste htte folgende Struktur:
+Window 1000
+ PushButton 1
+ String 1
+ String 2
+Window 1001
+WorkWindow 1000
+ String 1
+Aga
+
+Au0RscSrc::Write...File()
+Aga
+AliERRTYPE RscSrc::WriteCxxFile( const String & rFileName
+ const String & rHxxName );
+ERRTYPE RscSrc::WriteHxxFile( const String & rFileName );
+Aga
+Af1Beschreibung
+Aga
+Diese Methoden schreiben ein entsprechendes Format, der in der Datenbasis stehenden +Resourceinstanzen, in die Dateien. WriteHxxFile schreibt die Include-Datei fr die ".cxx"-Dateien.
+
+Af1Parameter
+Aga
+AfprFileName Dies ist der Name der Datei in die das entsprechende Format +"geschrieben werden soll.
+rHxxName Dies ist der Name "hxx"-Datei, die von der "cxx"-Datei eingefgt +"wird.
+Aga
+Af1Return-Werte
+Aga
+AfpERRTYPE.IsOk() Das Format wurde in die entsprechende Datei geschrieben.
+Afpanderer Wert Es ist ein Fehler aufgetreten. Die angegebene Datei wurde +"eventuell unvollstndig geschrieben.
+Aga
+Aga
+Au0PARscInst
+Aga
+Aliclass RscInst {
+public:
+ RSCINST aInst;
+ RscInst();
+ RscInst( const RscInst & rInst );
+ RscInst( RSCINST aTmpI );
+ RscInst& operator = ( const RscInst& rRscInst );
+ ~RscInst();
+ void OverWrite( RscInstCopy & rInst );
+ BOOL IsInst();
+ // Listen Methoden
+ ERRTYPE SetElement( const RscId & rName,
+ RscInstCopy & rInst );
+ ERRTYPE SetPosEle( USHORT nPos,
+ RscInstCopy & rInst );
+ ERRTYPE SetPosRscId( USHORT nPos, const RscId & rId);
+ SUBINFO_STRUCT GetInfoEle( USHORT nPos );
+ USHORT GetCount();
+ RscInst GetElement( RscTop * pClass,
+ const RscId & rName );
+ RscInst GetPosEle( USHORT nPos );
+ ERRTYPE MovePosEle( USHORT nDestPos,
+ USHORT nSourcePos );
+ ERRTYPE DeleteElement( RscTop * pClass,
+ RscId & rName );
+ ERRTYPE DeletePosEle( USHORT nPos );
+ ERRTYPE SetVar( HASHID nVarName,
+ RscInstCopy & rInst );
+ ERRTYPE SetConst( HASHID nConstId );
+ ERRTYPE SetBool( BOOL bSet );
+ ERRTYPE SetNumber( long lValue );
+ ERRTYPE SetString( const char * pStr );
+ ERRTYPE SetRef( const RscId & rRscId );
+ ERRTYPE SetDefault( HASHID nVarName );
+
+ RscInst& GetVar( HASHID nVarName );
+ HASHID GetConst();
+ USHORT GetConstPos();
+ BOOL GetBool();
+ long GetNumber();
+ const char * GetString();
+ RscId GetRef();
+ BOOL IsDefault( HASHID nVarName );
+ BOOL IsConsistent( RscInconsList * pList );
+
+ HASHID GetClassEnum( USHORT nPos );
+ RscTop * GetClassType();
+ HASHID GetClassName();
+ ERRTYPE WriteRc( RscWriteRc & aMem );
+};
+Aga
+Af1Beschreibung
+Aga
+Diese Klasse stellt Methoden zur Verfgung, mit denen Resourceinstanzen erzeugt, verndern und +gelscht werden knnen. Das Erzeugen von Instanzen erfolgt immer impliziet. Das heit beim +Anfordern einer Instanz wird sie erzeugt, wenn sie nicht vorhanden war.
+
+Af1Ausnahmen
+Aga
+Eine Ausname bildet die Methode GetPosEle, wenn an der angegebenen Stelle keine Instanz steht, so +wird eine ungltige Instanz zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Die Implementation ist nicht auf Geschwindigkeit und Speicherbedarf optimiert.
+
+Af1Querverweise
+Aga
+Klassen: RscDataBase, RscHrc, RscSrc, RSCINST, RscTop, RscId.
+
+Af1Beispiel
+AgaDas Beispiel zeigt, wie der Wert einer Variablen gendert wird
+Ali.....
+RscInst aWindow;
+RscInst aBorder;
+RscTop* pWindowType;
+
+// Typ des Klasse Window
+pWindowType = aDataBase.GetClassType( HashId( "Window" ) );
+// Exemplar der Klasse Window erzeugen
+aWindow = aCompilerInst.CreateRscInst( pWindowType );
+// Exemplar mit Namen "Border" holen
+aBorder = aWindow.GetVar( HashId( "Border" ) );
+// Wert auf TRUE setzen
+aBorder.SetBool( TRUE );
+.....
+Aga
+Au0PARscInst::RscInst()
+Aga
+AliRscInst::RscInst();
+RscInst::RscInst( const RscInst & rInst );
+RscInst::RscInst( RSCINST aTmpI );
+
+Af1Beschreibung
+Aga
+Diese Instanz beinhaltet nur eine Referenz auf die Resourcedaten.
+
+Af1Parameter
+Aga
+AfprInst ist die Instanz, aus der die Referenz bernommen wird.
+aTmpI Aus dieser Instanz wird eine RscInst erzeugt.
+
+Af1Anmerkungen
+Aga
+RscInst hat zwei verschiedene Zustnde die mit der Methode IsInst() abgefragt werden knnen. Liefert +IsInst() TRUE zurck, dann ist es eine gltige Instanz. Anderenfalls ist die Instanz ungltig und alle +Methoden liefern Fehler oder weitere ungltige Instanzen.
+
+Af1Querverweise
+Aga
+Klassen: RSCINST, ERRTYPE.
+Methoden: IsInst(), GetClassType().
+
+Aga
+Aga
+Au0RscInst::operator = ()
+Aga
+AliRscInst & RscInst::operator = ( const RscInst & rInst );
+Aga
+Af1Beschreibung
+Aga
+Es werden die Referenzen von rInst bernommen.
+
+Af1Parameter
+Aga
+AfprInst Intanz von dem die Referenzen bernommen werden.
+Aga
+Af1Return-Werte
+Aga
+Es wird die eigene Instanz zurckgeliefert.
+Aga
+Aga
+Aga
+
+Au0RscInst::~RscInst()
+Aga
+AliRscInst::~RscInst();
+Aga
+Af1Beschreibung
+Aga
+Im Destruktor passiert nichts.
+
+Aga
+Aga
+Au0RscInst::OverWrite()
+Aga
+Alivoid RscInst::OverWrite( RscInstCopy & rInst );
+Aga
+Af1Beschreibung
+Aga
+Die Daten in der Instanz werden mit den Daten in rInst berschrieben.
+
+Af1Parameter
+Aga
+AfprInst ist die Instanz, deren Daten eingesetzt werden.
+Aga
+Af1Anmerkungen
+Aga
+Stimmen die Typen nicht berein, werden die Daten der gemeinsamen Oberklassen bernommen. Die +anderen Daten werden auf Default gesetzt.
+
+Af1Querverweise
+Aga
+Klasse: RscTop.
+Methode: RscInstCopy::RscInstCopy(), RscTop::Create().
+
+Aga
+Aga
+Au0RscInst::IsInst()
+Aga
+AliBOOL RscInst::IsInst();
+Aga
+Af1Beschreibung
+Aga
+Zeigt an ob eine gltige Instanz vorligt.
+
+Af1Return-Werte
+Aga
+AfpTRUE heit, es liegt eine gltige Instanz vor.
+FALSE heit, es liegt keine gltige Instanz vor.
+Aga
+Af1Querverweise
+Aga
+Klasse: RSCINST
+Methode: RSCINST::IsInst();
+
+Aga
+Aga
+Au0RscInst::SetElement()
+Aga
+AliERRTYPE RscInst::SetElement( const RscId & rName,
+ RscInstCopy & rInst);
+Aga
+Af1Beschreibung
+Aga
+Die Methode fgt eine Resourceinstanz unter dem Namen rName ein.
+
+Af1Parameter
+Aga
+AfprInst ist die Instanz die eingefgt werden soll.
+AfprName ist der Identifier unter dem die Instanz eingefgt wird.
+Aga
+Af1Return-Werte
+Aga
+AfpERRTYPE.IsOk() bedeutet, die Instanz wurde Eingefgt.
+anderer Wert bedeutet, da ein Fehler aufgetreten ist.
+Aga
+Af1Anmerkungen
+Aga
+Wenn in der Liste unter diesem Namen und Typ schon eine Instanz steht, wird die Instanz gelscht +und die neue Instanz wird an der gleichen Stelle eingefgt. Wenn rName keine gltige Id enthlt, wird +die Instanz am Ende angefgt.
+
+Af1Querverweise
+Aga
+Klassen: ERRTYPE, RscId, RSCINST.
+Methoden: SetPosEle(), RscId::IsId().
+
+Aga
+Aga
+Au0RscInst::SetPosEle()
+Aga
+AliERRTYPE RscInst::SetPosEle( USHORT nPos,
+ RscInstCopy & rInst );
+Aga
+Af1Beschreibung
+Aga
+An der Position nPos wird eine Resourceinstanz durch rInst ersetzt.
+
+Af1Parameter
+Aga
+AfprInst ist die Instanz die an die Position nPos gesetzt wird.
+nPos ist die Position an die die Instanz gesetzt wird.
+Aga
+Af1Return-Werte
+Aga
+AfpERRTYPE.IsOk() bedeutet, die Instanz auf nPos wurde ersetzt.
+andere Wert bedeutet, die Instanz wurde nicht ersetzt.
+Aga
+Af1Anmerkungen
+Aga
+Wenn ein Fehler zurckgeliefert wird, so heit das meistens, da an der Position nPos keine +Reourceinstanz steht.
+
+Af1Querverweise
+Aga
+Klassen: ERRTYPE, RSCINST.
+
+Aga
+Aga
+Au0RscInst::SetPosRscId()
+Aga
+AliERRTYPE RscInst::SetPosRscId( USHORT nPos,
+ const RscId & rId );
+Aga
+Af1Beschreibung
+Aga
+An der Position nPos wird der Identifier durch rId ersetzt.
+
+Af1Parameter
+Aga
+AfprId ist die Id die an die Position nPos gesetzt wird.
+nPos ist die Position, an die die Id gesetzt wird.
+Aga
+Af1Return-Werte
+Aga
+AfpERRTYPE.IsOk() bedeutet, die Id auf nPos wurde ersetzt.
+andere Wert bedeutet, die Id wurde nicht ersetzt.
+Aga
+Af1Anmerkungen
+Aga
+Wenn ein Fehler zurckgeliefert wird, so heit das meistens, da an der Position nPos keine +Reourceinstanz steht.
+
+Af1Querverweise
+Aga
+Klassen: ERRTYPE, RSCINST.
+
+Aga
+Aga
+
+Aga
+Au0RscInst::GetInfoEle()
+Aga
+AliSUBINFO_STRUCT RscInst::GetInfoEle( USHORT nPos );
+Aga
+Af1Beschreibung
+Aga
+Es wird Information ber die Resourceinstanz, die auf nPos steht, zurckgeliefert.
+
+Af1Parameter
+Aga
+AfpnPos ist die Position der Resourceinstanz.
+Aga
+Af1Return-Werte
+Aga
+Die Information ber die Resourceinstanz wird zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Steht an der Stelle nPos keine Resourceinstanz, dann ist der Inhalt undefiniert.
+
+Af1Querverweise
+Aga
+Klassen: SUBINFO_STRUCT, RSCINST.
+
+Aga
+
+Au0RscInst::GetCount()
+Aga
+AliUSHORT RscInst::GetCount();
+Aga
+Af1Beschreibung
+Aga
+Gibt die Anzahl der Resourceinstanzen zurck, die in der Liste gespeichert sind.
+
+Af1Return-Werte
+Aga
+Es wird die Anzahl der Resourceinstanzen zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klasse: RSCINST.
+
+Aga
+Aga
+Au0RscInst::GetElement()
+Aga
+AliRscInst RscInst::GetElement( RscTop * pClass,
+ const RscId & rName );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode liefert eine Referenz auf die Daten der Instanz zurck, die unter diesem Namen in der +Liste steht. Wenn unter diesem Namen keine Instanz steht, dann wir sie erzeugt.
+
+Af1Parameter
+Aga
+AfppClass ist der Typ der Instanz.
+rName ist der Identifier der Instanz.
+Aga
+Af1Return-Werte
+Aga
+Es wird eine Instanz zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Besteht in der Liste eine Einschrnkung auf bestimmte Resourceinstanzen, zum Beispiel nur Instanzen +vom Typ Window oder abgeleitete Typen, dann kann es vorkommen, da eine ungltige Instanz +zurckgeliefert wird.
+
+Af1Querverweise
+Aga
+Klassen: RscTop, RscId.
+Methode: IsInst().
+
+Aga
+Aga
+Au0RscInst::GetPosEle()
+Aga
+AliRscInst RscInst::GetPosEle( USHORT nPos );
+Aga
+Af1Beschreibung
+Aga
+Es wird eine Referenz auf die Daten der Instanz an der angegebenen Stelle zurckgeliefert.
+
+Af1Parameter
+Aga
+AfpnPos ist die Position der Resourceinstanz.
+Aga
+Af1Return-Werte
+Aga
+Es wird eine Resourceinstanz zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Wenn an der Position keine Instanz steht, dann wird eine ungltige Instanz zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klasse: RscInst.
+Methode: IsInst().
+Aga
+Aga
+Aga
+Au0RscInst::MovePosEle()
+Aga
+AliERRTYPE RscInst::MovePosEle( USHORT nDestPos
+ USHORT nSourcePos );
+Aga
+Af1Beschreibung
+Aga
+In einem Feld wird die Resourceinstanz an der Position nSourcePos an die Stelle nDestPos +verschoben.
+
+Af1Parameter
+Aga
+AfpnDestPos An dieser Position wird die Instanz eingefgt.
+nSourcePos Von dieser Position wird die Instanz genommen.
+Aga
+Af1Return-Werte
+Aga
+Es wird ein Fehler zurckgegeben, wenn nSourcePos oder nDestPos ungltige Positionen sind.
+Aga
+Aga +0
+Aga
+Au0RscInst::DeleteElement()
+Aga
+AliERRTYPE RscInst::DeleteElement( RscTop * pClass,
+ RscId& rName );
+Aga
+Af1Beschreibung
+Aga
+In der Liste wird die erste Resourceinstanz mit dem entsprechenden Namen und dem Typ gelscht.
+
+Af1Parameter
+Aga
+AfppClass ist der Typ der Resourceinstanz.
+rName ist der Identifier der Resourceinstanz.
+Aga
+Af1Return-Werte
+Aga
+Gibt es keinen Fehler, dann wurde die Resourceinstanz gelscht.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscTop, RscId.
+
+Aga
+Aga
+Au0RscInst::DeletePosEle()
+Aga
+AliERRTYPE RscInst::DeletePosEle( USHORT nPos );
+Aga
+Af1Beschreibung
+Aga
+Die Resourceinstanz an der Stelle nPos wird gelscht.
+
+Af1Parameter
+Aga
+AfpnPos ist die Position der Resourceinstanz.
+Aga
+Af1Return-Werte
+Aga
+Gibt es keinen Fehler, dann wurde die Resourseinstanz gelscht.
+Aga
+Aga
+Aga
+Au0RscInst::SetVar()
+Aga
+AliERRTYPE RscInst::SetVar( HASHID nVarName,
+ RscInstCopy & rInst );
+Aga
+Af1Beschreibung
+Aga
+In die Variable mit Namen nVarName wird die Resourceinstanz rInst eingesetzt.
+
+Af1Parameter
+Aga
+AfpnVarName ist der Name der Variablen.
+rInst ist die Instanz, die eingesetzt wird.
+Aga
+Af1Return-Werte
+Aga
+AgaGibt es keinen Fehler, wurde die Instanz eingesetzt.
+Aga
+Af1Anmerkungen
+Aga
+Ein Fehler tritt auf, wenn der Variablentyp und der Instanztyp nicht bereinstimmen.
+
+Af1Querverweise
+Aga
+Klasse: RscTop.
+Methode: GetVar().
+
+Aga
+Aga
+Au0RscInst::SetConst()
+Aga
+AliERRTYPE RscInst::SetConst( HASHID nConst );
+Aga
+Af1Beschreibung
+Aga
+In die Instanz wird die Konstante nConst eingesetzt.
+
+Af1Parameter
+Aga
+AfpnConst ist die Konstante, die eingesetzt wird.
+Aga
+Af1Return-Werte
+Aga
+Gibt es keinen Fehler, wurde die Konstante eingesetzt.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: GetConst().
+
+Af1Beispiel
+Aganderung einer Konstanten.
+
+AliRscInstCopy aColorInst;
+RscInst aConst;
+RscTop* pColorType;
+.....
+// Erzeuge Farbinstanz
+aColorInst = aCmpInst.CreateRscInst( pColorType );
+//Const-Instanz holen
+aConst = aColorInst.GetVar( HashId( "Predefined" ) );
+// Farbe auf blau setzten
+aConst.SetConst( HashId( "COL_BLUE" ) );
+// Die gleiche Wirkung haette
+// aConst.SetNumber( COL_BLUE );
+// wobei COL_BLUE in sv.hxx definiert ist
+
+Aga
+Aga
+Au0RscInst::SetBool()
+Aga
+AliERRTYPE RscInst::SetBool( BOOL bVal );
+Aga
+Af1Beschreibung
+Aga
+In die Instanz wird der Wert bVal eingesetzt.
+
+Af1Parameter
+Aga
+AfpbVal ist der Wert, der eingesetzt wird.
+Aga
+Af1Return-Werte
+Aga
+AgaGibt es keinen Fehler, wurde der Wert eingesetzt.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: GetBool().
+
+Af1Beispiel
+Agandern eines Wahrheitswertes.
+
+AliRscInstCopy aWindowInst;
+RscInst aBool;
+RscTop* pWindowType;
+.....
+// Erzeuge Windowinstanz
+aWindowInst = aCmpInst.CreateRscInst( pWindowType );
+aBool = aWindowInst.GetVar( HashId( "Border" ) );
+// Fensterattribut Rand setzen
+aBool.SetBool( TRUE );
+
+Aga
+Aga
+Au0RscInst::SetNumber()
+Aga
+AliERRTYPE RscInst::SetNumber( long lVal );
+Aga
+Af1Beschreibung
+Aga
+In die Instanz wird der Wert lVal eingesetzt.
+
+Af1Parameter
+Aga
+AfplVal ist der Wert, der eingesetzt wird.
+Aga
+Af1Return-Werte
+Aga
+AgaGibt es keinen Fehler, wurde die Zahl eingesetzt.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: GetNumber().
+
+Af1Beispiel
+Agandern eines Zahlenwertes.
+
+AliRscInstCopy aColorInst;
+RscInst aNumber;
+RscTop* pColorType;
+.....
+// Erzeuge Farbinstanz
+aColorInst = aCmpInst.CreateRscInst( pColorType );
+aNumber = aColorInst.GetVar( HashId( "RED" ) );
+// volle Rotintensitt
+aNumber.SetNumber( 0xFFFF );
+
+Aga
+
+Au0RscInst::SetString()
+Aga
+AliERRTYPE RscInst::SetString( const char * pStr );
+Aga
+Af1Beschreibung
+Aga
+In die Instanz wird der String pStr eingesetzt.
+
+Af1Parameter
+Aga
+AfppStr ist der String, der eingesetzt wird.
+Aga
+Af1Return-Werte
+Aga
+AgaGibt es keinen Fehler, wurde der String eingesetzt.
+Aga
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: GetString();
+
+Af1Beispiel
+Agandern einer Zeichenkette.
+
+AliRscInstCopy aFontInst;
+RscInst aStr;
+RscTop* pFontType;
+.....
+// Erzeuge Fontinstanz
+aFontInst = aCmpInst.CreateRscInst( pFontType );
+aStr = aFontInst.GetVar( HashId( "Text" ) );
+// Fontnamen setzen
+aStr.SetString( "Helvetica" );
+
+Aga
+
+Au0RscInst::SetRef()
+Aga
+AliERRTYPE RscInst::SetRef( const RscId & rRefName );
+Aga
+Af1Beschreibung
+Aga
+Beim Schreiben der verschiedenen Dateien wird nicht die Resourceinstanz verwendet, sondern eine +Resourceinstanz vom selben Typ mit dem Namen rRefName. Diese Instanz wird in der Datenbasis +gesucht.
+
+Af1Parameter
+Aga
+AfprRefName ist der Identifier der referenzierten Instanz.
+Aga
+Af1Return-Werte
+Aga
+AgaGibt es keinen Fehler, wurde die Referenz eingesetzt.
+
+Af1Anmerkungen
+Aga
+Die referenzierte Instanz wird nur in der ersten Ebene der Datenbasis gesucht.
+Mit SetRef( RscId() ), werden die Referenzen wieder aufgehoben.
+
+Af1Querverweise
+Aga
+Klassen: RscTop, RscId.
+Methoden: GetRef().
+
+Af1Beispiel
+Aga
+Aga
+Aga
+Au0RscInst::SetDefault()
+Aga
+AliERRTYPE RscInst::SetDefault( HASHID nVarName );
+Aga
+Af1Beschreibung
+Aga
+Die Instanz hinter der Variable nVarName wird auf ihre Defaultwerte gesetzt.
+
+Af1Parameter
+Aga
+AfpnVarName ist der Name der Variablen.
+Aga
+Af1Return-Werte
+Aga
+AgaGibt es keinen Fehler, wurde die Instanz nicht auf Default gesetzt.
+
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: IsDefault().
+
+Af1Beispiel
+Aga
+AliRscInst aColorInst;
+RscTop* pColorType;
+.....
+// Hole Farbinstanz
+aColorInst = aCmpInst.GetRscInst( pColorType,
+ RscId( 1000 ) );
+// Rot auf Default setzten
+aColorInst.SetDefault( HashId( "Red" ) );
+
+Aga
+
+
+Au0RscInst::GetVar()
+Aga
+AliRscInst RscInst::GetVar( HASHID nVarName );
+Aga
+Af1Beschreibung
+Aga
+Die Methode liefert eine Kopie des Inhaltes der Variablen nVarName.
+
+Af1Parameter
+Aga
+AfpnVarName ist der Name der Variablen.
+Aga
+Af1Return-Werte
+Aga
+Es wird eine Resourceinstanz zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Existiert keine Variable unter diesem Namen, dann wird eine ungltige Instanz zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: SetVar().
+
+Aga
+
+Au0RscInst::GetConst()
+Aga
+AliHASHID RscInst::GetConst();
+Aga
+Af1Beschreibung
+Aga
+Die Methode liefert die Instanz als Konstante.
+
+Af1Return-Werte
+Aga
+Der Wert der Konstanten.
+Kann die Instanz nicht in eine Konstante umgewandelt werden, wird HASH_NONAME +zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: SetConst().
+
+Aga
+
+Au0RscInst::GetBool()
+Aga
+AliBOOL RscInst::GetBool();
+Aga
+Af1Beschreibung
+Aga
+Die Methode liefert die Instanz als Wahrheitswert.
+
+Af1Return-Werte
+Aga
+Es wird ein boolscher Wert zurckgeliefert.
+Kann die Instanz nicht in einen Wahrheitswert umgewandelt werden, wird FALSE zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: SetBool().
+
+Aga
+
+Au0RscInst::GetNumber()
+Aga
+Alilong RscInst::GetNumber();
+Aga
+Af1Beschreibung
+Aga
+Die Methode liefert die Instanz als Zahl.
+
+Af1Return-Werte
+Aga
+Es wird ein Wert zurckgeliefert.
+Kann die Instanz nicht in ein Zahl umgewandelt werden, wird 0 zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: SetNumber().
+
+Aga
+
+Au0RscInst::GetString()
+Aga
+Aliconst char * RscInst::GetVar();
+Aga
+Af1Beschreibung
+Aga
+Die Methode liefert die Instanz als String.
+
+Af1Return-Werte
+Aga
+Es wird ein Zeiger auf eine Zeichenkette zurckgeliefert.
+Kann die Instanz nicht in einen String umgewandelt werden, wird NULL zurckgeliefert.
+
+Af1Querverweise
+Aga
+Klassen: RscTop.
+Methoden: SetString().
+
+Aga
+
+Au0RscInst::GetRef()
+Aga
+AliRscId RscInst::GetRef();
+Aga
+Af1Beschreibung
+Aga
+Ist in der Instanz eine Referenz eingetragen, wird diese zurckgegeben.
+
+Af1Return-Werte
+Aga
+Es wird der Identifier der Referenz zurckgeliefert.
+
+Af1Anmerkungen
+Aga
+Der zurckgelieferte Identifier kann ungltig sein. Das ist der Fall, wenn keine Referenz besteht.
+
+Af1Querverweise
+Aga
+Klassen: RscTop, RscId.
+Methode: IsId(), SetDefault().
+
+Aga
+
+Au0RscInst::IsDefault()
+Aga
+AliBOOL RscInst::IsDefault( HASHID nVarName );
+Aga
+Af1Beschreibung
+Aga
+Stellt fest ob die genannte Variable noch die Defaulteinstellung besitzt.
+
+Af1Parameter
+Aga
+AfpnVarName ist der Name der Variablen.
+Aga
+Af1Return-Werte
+Aga
+AfpTRUE bedeutet, die Variable hat die Defaulteinstellung.
+FALSE bedeutet, sie wurde verndert.
+Aga
+Af1Querverweise
+Aga
+Methoden: SetDefault().
+
+Aga
+
+Au0RscInst::IsConsistent()
+Aga
+AliBOOL RscInst::IsConsistent( RscInconsList * pList );
+Aga
+Af1Beschreibung
+Aga
+Die Methode berprft ob diese Instanz noch konsistent ist.
+
+Af1Parameter
+Aga
+AfppList Eine Liste die mit den RscId-Objekten gefllt wird, die +"Inkonsistenzen hervorrufen. pList darf Null sein.
+Aga
+Af1Return-Werte
+Aga
+AfpTRUE bedeutet die Instanz ist konsistent.
+FALSE bedeutet die Instanz ist inkonsistent.
+Aga
+Af1Anmerkungen
+Aga
+Ein RscId-Objekt kann aus Objekten zusammengesetzt sein, die global verndert werden knnen. +Nach einer solchen Vernderung mu die Konsistenz berprft werden.
+
+Af1Querverweise
+Aga
+Klassen: RscId, RscHrc, RscFileTab.
+Mehtoden: RscDataBase::MakeConsistent(), RscTop::IsConsistent().
+
+Aga
+Au0
+Au0RscInst::GetClassEnum()
+Aga
+AliHASHID RscInst::GetClassEnum( USHORT nPos );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode liefert den Namen der Konstanten zurck, die in einem Aufzhlungstyp an der Position +nPos definiert ist.
+
+Af1Parameter
+Aga
+AfpnPos Position der Konstante.
+Aga
+Af1Return-Werte
+Aga
+AfpHASH_NONAME Dieser Wert wird zurckgeliefert, wenn der Variablentyp kein +"Aufzhlungstyp war oder wenn nPos >= der Anzahl der +"Konstanten.
+AgaSonst wird der Name der Konstanten zurckgeliefert.
+Aga
+Af1Beispiel
+Aga
+Das Beispiel zeigt wie die Namen eine Aufzhlungstypen ermittelt werden knnen.
+AgaVariable ist ein Aufzhlungstyp mit den Werten COL_WHITE, COL_RED und COL_BLACK. Die +Konstanten haben die Name "White", "Red", "Black".
+Der Variablenname ist "Predefined".
+Die Klasse, in der diese Variable definiert ist, heit "Color".
+Ali
+HASHID nConstName;
+HASHID nVarName;
+RscInst aColorInst;
+RscInst aConst;
+USHORT i;
+
+nVarName = HashId( "Predefined" ); //Variablennamen setzen
+// pCmpEd ist eine Compiler-Instanz
+aColorInst = pCmpEd->CreateRscInst(
+ pCmpEd->GetClassType( HashId( "Color" ) ) );
+ if( aColorInst.IsInst() ){ //Instanz wurde erzeugt
+ aConst = aColorInst.GetVar( nVarName );
+ i = 0;
+ nConstName = aConst.GetClassEnum( i );
+ while( HASH_NONAME != nConstName ){
+ printf( "%s\n", GetHashString( nConstName ) );
+ i++;
+ nConstName = aConst.GetClassEnum( i );
+ }
+}
+Aga
+Die Ausgabe ist:
+White
+Red
+Black
+Aga
+
+Au0RscInst::GetTypeClass()
+Aga
+AliRscTop * RscInst::GetTypeClass();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode liefert den Typ der Instanz zurck.
+
+Af1Return-Werte
+Aga
+Der Typ der Instanz wird zurckgeliefert.
+
+Aga
+
+Au0RscInst::GetClassName()
+Aga
+AliHASHID RscInst::GetClassName();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode liefert den Namen einer Klasse.
+
+Af1Return-Werte
+Aga
+AfpHASH_NONAME Dieser Wert wird zurckgeliefert, wenn die Klasse keinen Namen +"hat.
+AgaAnsonsten wird der Name der Klasse zurckgeliefert.
+
+Af1Beispiel
+AgaDiese Funktion gibt zu einer Instanz den Klassennamen aus.
+
+Alivoid PrintClassName( RscInst & rInst ){
+// rInst, Instanz deren Klassenname ausgegeben werden soll
+HASHID nClassName;
+
+nClassName = rInst.GetClassName(); // Klassenname holen
+if( HASH_NONAME == nClassName )
+ printf( "Kein Klassenname\n" );
+else
+ printf( "%s\n", GetHashString( nClassName ) );
+}
+Aga
+Aga
+Au0
+Au0RscInst::WriteRc()
+Aga
+AliERRTYPE RscInst::WriteRc( RscWriteRc & aMem );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode erzeugt eine Resource im StarView Resourceformat. Mit dieser Resource kann der +Resourcekonstruktor der entsprechenden Klasse gerufen werden.
+
+Af1Parameter
+Aga
+AfpaMem ist die Instanz, die die Resourcedaten enthlt.
+Aga
+Af1Return-Werte
+Aga
+AfpERRTYPE.IsOk() bedeutet, da in aMem eine korrekte Resource steht.
+anderer Wert bedeutet, das Format ist nicht korrekt.
+Aga
+Af1Ausnahmen
+Aga
+Die System abhngigen Resourcen Icon, Bitmap und Pointer werden nicht vollstndig geschrieben. +Um einen Programmfehler zu vermeiden, mssen die StarView-Klassen entsprechend abgesichert sein.
+
+Af1Anmerkungen
+Aga
+Die Referenzen mssen zum Zeitpunkt von WriteRc aufgelst werden knnen. Knnen sie nicht +aufgelst werden, werden die Daten der Instanz benutzt, in der die Referenz angegeben ist.
+
+Af1Querverweise
+Aga
+Klassen: RscWriteRc, ERRTYPE.
+
+Af1Beispiel
+Aga
+AliRscInst aColor;
+RscTop* pColorType;
+Color aSvColor;
+
+// Farbinstanz erzeugen
+aColor = aCmpInst.CreateColor( pColorType );
+// Farbe auf Gelb setzten
+AliaColor.SetConst( HashId( "Predefined" ),
+ HashId( "COL_YELLOW" ) );
+
+RscWriteRc aMem;
+if( aColor.WriteRc( aMem ).IsOk() ){
+ aSvColor = Color( RscId( aMem.GetRes() ) );
+ .....
+};
+Aga
+
+Aga
+Au0PARscInstCopy
+Aga
+Aliclass RscInstCopy {
+public:
+ RscInstCopy();
+ RscInstCopy( const RscInstCopy & rInst );
+ RscInstCopy( const RscInst & rInst );
+ RscInstCopy( RSCINST aTmpI );
+ RscInstCopy( RscTop * pNewType,
+ const RscInst & rInst );
+ RscInstCopy& operator = (const RscInstCopy & rRscInst);
+ RscInstCopy& operator = ( const RscInst & rRscInst );
+ ~RscInstCopy();
+};
+Aga
+Af1Beschreibung
+Aga
+Mit Hilfe dieser Klasse wird eine Kopie einer Resourceinstanz angefertigt. Die Kopie enthlt keine +Referenz in die Datenbasis. Es kann somit auch nicht zu einem Fehler kommen, wenn eine +Resourceinstanz in der Datenbasis gelscht wird. Solch ein Fehler kann bei einer Instanz der Klasse +RscInst auftreten.
+
+Af1Anmerkung
+Aga
+Alle Makros die in der Datenbasis gendert werden, ndern sich auch in dieser Instanz. Mit der +Methode IsConsistent() kann diese Instanz auf Konsistenz berprft werden.
+
+Af1Querverweise
+Aga
+Klassen: RscDataBase, RscHrc, RscSrc, RSCINST, RscTop, RscId.
+
+Af1Beispiel
+AgaDas Beispiel zeigt, wie der Wert einer Variablen gendert wird
+Ali.....
+RscInstCopy aWindow;
+RscInstCopy aBorder;
+RscTop* pWindowType;
+
+// Typ des Klasse Window
+pWindowType = aDataBase.GetClassType( HashId( "Window" ) );
+// Exemplar der Klasse Window erzeugen
+aWindow = aCompilerInst.CreateRscInst( pWindowType );
+// Exemplar mit Namen "Border" holen
+aBorder = aWindow.GetVar( HashId( "Border" ) );
+// Wert auf TRUE setzen
+aBorder.SetBool( TRUE );
+// wieder in aWindow einsetzen
+aWindow.SetVar( HashId( "Border" ), aBorder );
+.....
+Aga
+Au0PARscInstCopy::RscInstCopy()
+Aga
+AliRscInstCopy::RscInstCopy();
+RscInstCopy::RscInstCopy( const RscInst & rInst );
+RscInstCopy::RscInstCopy( const RscInstCopy & rInst );
+RscInstCopy::RscInstCopy( RSCINST aTmpI );
+RscInstCopy::RscInstCopy( RscTop * pNewType,
+ const RscInst & rInst );
+Aga
+Af1Beschreibung
+Aga
+Im Konstruktor wird eine Instanz erzeugt oder kopiert.
+
+Af1Parameter
+Aga
+AfprInst ist die Instanz, die kopiert wird.
+aTmpI Aus dieser Instanz wird eine RscInstCopy erzeugt.
+pNewType Wenn dieser Konstruktor verwendet wird, wird eine Instanz mit +"Typ pNewType erzeugt. Alle Daten ab der ersten gemeinsamen +"Oberklasse von rInst und pNewType werden bernommen.
+Aga
+Af1Querverweise
+Aga
+Klassen: RSCINST, ERRTYPE.
+Methoden: IsInst(), GetClassType().
+
+Af1Beispiel
+AgaEs wird gezeigt wie aus einer Button-Instanz eine Edit-Instanz erzeugt wird.
+
+AliRscInstCopy aButton;
+RscInstCopy aEdit;
+RscTop * pEditType =
+ aDataBase.GetClassType( HashId( "Edit" ) );
+//Voraussetzung: In aButton ist gltige Button-Instanz
+//Erzeuge Edit-Instanz
+aEdit = RscInstCopy( pEditType, aButton );
+Aga
+Alle Daten oberhalb von der Klasse Control wurden nach aEdit kopiert.
+Aga
+Aga
+
+Au0RscInstCopy::operator = ()
+Aga
+AliRscInstCopy & RscInstCopy::operator =
+ ( const RscInst & rInst );
+RscInstCopy & RscInstCopy::operator =
+ ( const RscInstCopy & rInst );
+Aga
+Af1Beschreibung
+Aga
+Es werden die Daten von rInst in die Instanzdaten kopiert.
+
+Af1Parameter
+Aga
+AfprInst Intanz von dem die Daten bernommen werden.
+Aga
+Af1Return-Werte
+Aga
+Es wird die eigene Instanz zurckgeliefert.
+Aga
+Aga
+Aga
+
+Au0RscInstCopy::~RscInstCopy()
+Aga
+AliRscInstCopy::~RscInstCopy();
+Aga
+Af1Beschreibung
+Aga
+Die Daten in der Instanz werden gelscht.
+
+Aga
+Aga
+SsvPA
+Au0Stichwortverzeichnis
+Aga
+Asv
+RscDataBase 6
+RscDataBase::AddHrcFile() 11
+RscDataBase::AddSrcFile() 10
+RscDataBase::FindDef() 12
+RscDataBase::GetClassType() 7
+RscDataBase::GetFileKey() 12
+RscDataBase::GetFileStruct() 9
+RscDataBase::GetFileTab() 9
+RscDataBase::GetPathList() 10
+RscDataBase::MakeConsistent()
8
+RscDataBase::RemoveFile() 12
+RscDataBase::RscDataBase() 7
+RscDataBase::ScanForIncFiles() 11
+RscHrc #14
+RscHrc::ChangeDef() 20
+RscHrc::ChangeDefName() 22
+RscHrc::DeleteDef() 21
+RscHrc::FindDef() 19
+RscHrc::GetDefineList() 18
+RscHrc::GetDependList() 23
+RscHrc::GetFileKey() 16
+RscHrc::GetFileName() 18
+RscHrc::GetFileStruct() 22
+RscHrc::GetPathName() 17
+RscHrc::InsertDepend() 18
+RscHrc::IsDefUsed() 21
+RscHrc::IsDirty() 16
+RscHrc::NewDef() 19
+RscHrc::ReadFile() 15
+RscHrc::RscHrc() 15
+RscHrc::SetDirty() 16
+RscHrc::SetFileName() 17
+RscHrc::SetPathName() 17
+RscHrc::WriteFile() 23
+RscHrc::~RscHrc() 15
+RscInst "31
+RscInst::DeleteElement() 38
+RscInst::DeletePosEle() 39
+RscInst::GetBool() 44
+RscInst::GetClassEnum() 46
+RscInst::GetClassName() 48
+RscInst::GetConst() 44
+RscInst::GetCount() 36
+RscInst::GetElement() 37
+RscInst::GetInfoEle() 36
+RscInst::GetNumber() 44
+RscInst::GetPosEle() 37
+RscInst::GetRef() 45
+RscInst::GetString() 45
+RscInst::GetTypeClass() 47
+RscInst::GetVar() 43
+RscInst::IsConsistent() 46
+RscInst::IsDefault() 46
+RscInst::IsInst() 34
+RscInst::MovePosEle() 38
+RscInst::operator = () 33
+RscInst::OverWrite() 34
+RscInst::RscInst() 33
+RscInst::SetBool() 40
+RscInst::SetConst() 39
+RscInst::SetDefault() 43
+RscInst::SetElement() 34
+RscInst::SetNumber() 41
+RscInst::SetPosEle() 35
+RscInst::SetPosRscId() 35
+RscInst::SetRef() 42
+RscInst::SetString() 41
+RscInst::SetVar() 39
+RscInst::WriteRc() 48
+RscInst::~RscInst() 33
+RscInstCopy 50
+RscInstCopy::operator = () 51
+RscInstCopy::RscInstCopy() 51
+RscInstCopy::~RscInstCopy() 52
+RscSrc #24
+RscSrc::CreateRscInst() 26
+RscSrc::DeleteRscInst() 27
+RscSrc::FillNameIdList() 29
+RscSrc::GetRscInst() 28
+RscSrc::RscSrc() 26
+RscSrc::SetRscInst() 27
+RscSrc::Write...File() 30
+
+Aga
+
\ No newline at end of file diff --git a/rsc/doku/schriftw.16/change.doc b/rsc/doku/schriftw.16/change.doc new file mode 100644 index 000000000000..4a2120bd1d3c --- /dev/null +++ b/rsc/doku/schriftw.16/change.doc @@ -0,0 +1,1105 @@ +.\\\ WRITER 5 \\\
+S:\APP\SW5\STARLAB.LAY
+S:\APP\SW5\TREIBER\PS.BIN
+12
+00012
+00010
+00940
+00001
+00001
+00001
+00002
+00002
+00000
+00000
+00000
+00000
+N 383284761 Mm
+S 383284859 484 116 4
+D 0 0
+N 383996714 Mm
+S 383996741 494 117 4
+D 0 0
+N 384006675 Mm
+S 384006697 502 117 4
+D 0 0
+N 384133637 Mm
+S 384133699 502 117 3
+D 384133693 3 PostScript
+
+
+
+
+
+
+
+
+
+
+16836
+11338
+0
+0
+JA
+0
+0
+0
+JA
+
+
+
+9
+20
+4
+Helvetica 14 Pt
+H1
+97
+20
+0
+Helvetica 12 Pt
+H2
+65
+23
+0
+Helvetia 10 Pt
+H3
+65
+20
+0
+Courier 10 Pt
+C1
+1
+23
+0
+Helvetica 14 Pt Fett
+F1
+65
+27
+2
+Helvetica 12 Pt Fett
+F2
+65
+23
+2
+Helvetia 10 Pt Fett
+F3
+65
+20
+0
+Tasten
+T1
+129
+27
+0
+Grundschrift
+GA
+97
+20
+0
+Grund - Absatzlayout V1.5-LSLP8
+GA
+0
+0
+0
+0
+9
+97
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Grundabsatzlayout-rechtsbndig
+GR
+0
+0
+0
+0
+9
+35
+20
+0
+2
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Listing
+LI
+0
+0
+0
+0
+0
+1
+23
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+berschrift
+U0
+0
+0
+0
+0
+5
+35
+28
+2
+1
+0
+1
+0
+NEIN
+JA
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+berschrift X.
+U1
+0
+0
+0
+0
+5
+35
+28
+2
+1
+0
+1
+0
+NEIN
+JA
+240
+1
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+berschrift X.X.
+U2
+0
+0
+0
+0
+6
+35
+24
+2
+1
+0
+1
+0
+NEIN
+JA
+240
+2
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+berschrift X.X.X.
+U3
+0
+0
+0
+0
+6
+35
+20
+2
+1
+0
+1
+0
+NEIN
+JA
+240
+3
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+berschrift X.X.X.X.
+U4
+0
+0
+0
+0
+7
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+4
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+berschrift X.X.X.X.X.
+U5
+0
+0
+0
+0
+7
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+5
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Einrckung 4 Sp / 4 Sp
+E1
+576
+576
+0
+0
+9
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Einrckung 8 Sp / 8 Sp
+E2
+1150
+1150
+0
+0
+9
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Einrckung 0 Sp / 4 Sp
+E3
+0
+564
+0
+0
+9
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Einrckung 4 Sp / 8 Sp
+E4
+564
+1150
+0
+0
+9
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Funktionsparameter
+FP
+0
+2891
+0
+0
+9
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Inhaltsverzeichnis
+IV
+0
+0
+0
+0
+9
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+1
+7653
+0
+Stichwortverzeichnis
+SV
+0
+0
+0
+0
+9
+35
+20
+0
+1
+141
+1
+32
+NEIN
+NEIN
+240
+0
+1
+3744
+1
+Fettschrift einzeilig
+F1
+0
+0
+0
+0
+7
+65
+20
+2
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+576
+0
+1152
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Punktliste
+PL
+0
+564
+0
+0
+9
+35
+20
+0
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+13
+566
+0
+1133
+0
+1728
+0
+2304
+0
+2880
+0
+3456
+0
+4032
+0
+4608
+0
+5184
+0
+5760
+0
+6336
+0
+6912
+0
+7488
+0
+Fuzeile
+FZ
+0
+0
+0
+0
+3
+97
+20
+2
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+1
+7200
+1
+Kopfzeile
+KZ
+0
+0
+0
+0
+3
+97
+20
+2
+1
+0
+1
+0
+NEIN
+NEIN
+240
+0
+1
+7920
+1
+Grund-Seitenlayout
+GS
+566
+849
+2436
+679
+1416
+1416
+0
+0
+1
+0
+0
+0
+AkzBf3#_PFAD##_TEXTNAME# $-#_S#-
+Bf3
+
+AfzBf3$Date: 05 Jul 1991 13:18:52 $ $Revision: 1.1 $
+
+Stichwortverzeichnis
+SV
+566
+849
+2437
+680
+1416
+1416
+566
+0
+2
+0
+0
+0
+AliBf3Stichwortverzeichnis
+AliBf3 +
+
+Ali6Bf3- #_S# -B00
+
+GS - ohne Fuzeile
+KF
+566
+849
+2437
+680
+1416
+1416
+0
+0
+1
+0
+0
+0
+AliBf3#_KATEGORIE# / #_THEMA2#
+AliBf3
+
+Ali
+
+Inhaltsverzeichnis
+IV
+566
+849
+2437
+680
+1416
+1416
+0
+0
+1
+0
+0
+0
+AliBf3Inhaltsverzeichnis
+AliBf3 +
+
+Ali
+
+
+
+
+0
+
+0
+
+Au0nderungen von der rsc-Compilerversion 1.12 zur Version 1.13
+
+Aga- Die Lnge eines Strings in den Extradaten hat sich verndert.
+- Das Schlsselwort RESOURCE kann angegeben werden.
+- Die Klasse InfoBox wurde gestrichen, sie kann ber MessageBox definiert werden.
+- Die Klasse String kann jetzt als lokale Resource angegeben werden.
+- Die Abkrzung ID fr IDENTIFIER wurde gestrichen.
+- Anstelle von ENABLE gibt es jetzt DISABLE mit gegenteiliger Bedeutung.
+- Anstelle von VISIBLE gibt es jetzt HIDE mit gegenteiliger Bedeutung.
+- Jede Konstruktion mit Hilfen von AUTO_ID wurde gestrichen.
+- Anstelle von Justify = LEFT oder CENTER oder RIGHT wird jetzt Left = TRUE oder Center = +TRUE oder Right = TRUE geschrieben.
+- Innerhalb der Klasse Brush heit es statt
+ Color BRUSHCOLOR {...}; jetzt
+ BrushColor = Color { ... };
+ und statt
+ Color FILLCOLOR { ... }; jetzt
+ FillColor = Color { ... };
+- Innerhalb der Klass Pen heit es statt
+ Color { ... }; jetzt
+ PenColor = Color { ... };
+- Innerhalb der Klasse MapMode sind die Schlsselwrter HORIZONTALSCALE und +VERTICALSCAL weggefallen. XSCALE und YSCALE sind jetzt Tupel.
+- Innerhalb der Klasse Accelerator heit es statt
+ Accelerator {
+ AcceleratorKey { ... };
+ AcceleratorKey { ... };
+ .
+ .
+ .
+ }; jetzt
+ Accelerator {
+ KeyList = {
+ AcceleratorKey { ... };
+ AcceleratorKey { ... };
+ };
+ };
+- Innerhalb der Klasse AcceleratorKey heit es statt
+ AcceleratorKey {
+ Accelerator { ... };
+ }; jetzt
+ AcceleratorKey {
+ SubAccelerator = Accelerator { ... };
+ };
+- Innerhalb der Klasse OutputDevice heit es statt
+ OutputDevice {
+ Pen { ... };
+ Brush BACKGROUNDBRUSH { ... };
+ Brush FILLINBRUSH { ... };
+ Font { ... };
+ MapMode { ... };
+ }; jetzt
+ OutputDevice {
+ OutputPen = Pen { ... };
+ BackGroundBrush = Brush { ... };
+ FillInBrush = Brush { ... };
+ OutputFont = Font { ... };
+ OutputMapMode = MapMode { ... };
+ };
+- Innerhalb der Klasse Window heit es statt
+ Window {
+ Pointer { ... };
+ }; jetzt
+ WindowPointer = Pointer { ... };
+- Das Schlsselwort FOCUS wurde gestrichen.
+- Windows die automatisch geladen werden sollen werden jetzt durch
+ Window {
+ WinChilds = {
+ FixedText { ... };
+ FixedText { ... };
+ };
+ }; spezifiziert.
+- Innerhalb der Klasse WorkWindow heit es statt
+ WorkWindow {
+ Icon { ... };
+ }; jetzt
+ WorkWindow {
+ WorkWindowIcon = Icon { ... };
+ };
+- In der Klasse DialogBox wird
+ Mode = SYSTEMMODAL oder Mode = APPLICATIONMODAL durch
+ AppModal = TRUE oder SysModal = TRUE ersetzt.
+
+- Innerhalb der Klasse Menu heit es statt
+ Menu {
+ MenuItem { ... };
+ MenuItem { ... };
+ .
+ .
+ .
+ }; jetzt
+ Menu {
+ ItemList = {
+ MenuItem { ... };
+ MenuItem { ... };
+ };
+ };
+und statt
+ Menu { ... Separator; ... }; jetzt
+ Menu { ...
+ MenuItem { Seperator = TRUE; };
+ ...
+ };
+- Innerhalb der Klasse MenuItem heit es statt
+ MenuItem {
+ Menu { ... };
+ }; jetzt
+ MenuItem {
+ SubMenu = Menu { ... };
+ };
+- Innerhalb der Klasse ListBox heit es statt
+ ListBox {
+ StringList = "Ich", "heie", "Eddie";
+ }; jetzt
+ ListBox {
+ StringList = { "Ich"; "heie"; "Eddie"; };
+ };
+
\ No newline at end of file |