blob: 88a2cc475bd2df28385717ad7c33c22ef2d4dcf8 [file] [log] [blame]
.\\\ 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-rechtsbndig
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
Einrckung 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
Einrckung 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
Einrckung 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
Einrckung 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
Fuázeile
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 Fuázeile
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
Afpge„ndert $Date: 05 Feb 1992 08:23:58 $
Aga
AfpDateiname #_PFAD##_TEXTNAME#
Aga
AfpAutor #_AUTOR#
Aga
AfpBearbeiter $Author: MM $
Aga
AfpQualit„tskontrolle
Aga
AfpStatus XX in Arbeit
Afp !__ fertiggestellt
Afp !__ abgenommen
Afp !__ freigegeben
Aga
AfpVertraulich __ Ja XX Nein
Aga
AfpCopyright (C) Star Division 1990
Aga
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 ver„ndert werden k”nnen. Als Beispiel sei hier der Design-Editor genannt.
Um das Verst„ndnis 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
Abh„ngigkeiten auf. Daher muá bei der Anwendung einiger Methoden auf diese Zusammenh„nge
besonders geachtet werden. Ein genaues lesen der Dokumentation ist unumg„nglich. Zum Beispiel ist
das L”schen einer Instanz nicht immer m”glich, da noch Referenzen auf sie bestehen. Diese
Schnittstelle ist darauf ausgelegt, daá auf die Daten im Dialogbetrieb zugegriffen wird. Das heiát, 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 Verfgung 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 Verfgung mit denen dateiabh„ngige Informationen und Daten aus
der Datenbasis gewonnen werden k”nnen. Es handelt sich hierbei haupts„chlich 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 Verfgung mit denen dateiabh„ngige Informationen und Daten aus
der Datenbasis gewonnen werden k”nnen. Diese Klasse ist als Sicht auf eine src-Datei zu verstehen.
Die Daten stehen in der Datenbasis.
RscInst:
Eine RscInst repr„sentiert eine Referenz auf eine Resourceinstanz, wie zum Beispiel Farbe oder Breite.
Eine Resourceinstanz kann weitere Resourceinstanzen enthalten.
RscInstCopy:
Diese Instanz repr„sentiert 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 enth„lt die Klassen RscCmdLine und RscTypCont.
Die Klasse RscCmdLine enth„lt die Steuerinformation fr den Compiler. Die Klasse RscTypCont
enth„lt die vom Compiler erstellte DatenBasis.
Diese Klasse l”st folgende Aufgaben:
1. Das šberprfen der Konsistenz der Datenbasis.
2. Das Bearbeiten der Projektstruktur.
Af1Anmerkungen
Aga
Fr einige Methoden der Klasse RscDataBase gilt, daá sie eventuell auf alle existierenden
Resourceinstanzen zugreifen mssen. Wenn zum Beispiel die Konsistenz der Datenbasis berprft
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
L”scht die Membervariablen pCmdLine und pTC.
Af1Anmerkungen
Aga
Es drfen 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 zurckgeliefert. Wird unter dem Namen keine Klasse gefunden, dann wird
NULL zurckgeliefert.
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 m”glich, daá durch Ver„nderungen 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 enth„lt 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, drfen auf ihr keine Operationen ausgefhrt 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 enth„lt eine gltige 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 zurckgeliefert.
Af1Return-Werte
Aga
Es wird ein Zeiger auf die Struktur der Projektverwaltung zurckgeliefert.
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 Schlssel zugegriffen. Mit Hilfe
dieses Schlssels kann man einen Zeiger auf die interne Datenstruktur bekommen.
Af1Parameter
Aga
AfplFileKey Schlssel 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 zurck. Diese Liste kann ver„ndert
werden. Die Žnderungen wirken sich sofort auf den Suchpfad aus.
Af1Return-Werte
Aga
Es wird die PfadListe zurckgeliefert.
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 Schlssel der Datei zurckgeliefert.
Aga
Af1Anmerkungen
Aga
Wenn es eine Datei unter diesem Namen gibt, dann wird der Schlssel dieser Datei zurckgegeben.
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 Schlssel der Datei zurckgeliefert.
Aga
Af1Anmerkungen
Aga
Wenn es eine Datei unter diesem Namen gibt, dann wird der Schlssel dieser Datei zurckgegeben.
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
Abh„ngigkeitsliste von der Datei mit dem Schlssel lFileKey eingetragen. Die Dateien werden in die
Projektverwaltung gestellt.
Af1Anmerkungen
Aga
Kann die Datei nicht ge”ffnet werden dann wird die Abh„ngigkeitsliste nicht ge„ndert.
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 gel”scht. Alle dieser Datei zugeordneten Makros und
Resource-Instanzen werden gel”scht. Alle Verweise auf diese Datei werden gel”scht.
Af1Parameter
Aga
AfplFileKey Schlssel der Datei.
Aga
Af1Anmerkungen
Aga
Diese Datei wird auch aus den Abh„ngigkeitslisten der anderen Dateien gel”scht. Wenn
Abh„ngigkeiten 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 zurckgegeben.
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 Schlssel dieser Datei
zurckgegeben.
Af1Parameter
Aga
AfprFileKey Der Dateiname nach dem gesucht wird.
Aga
Af1Return-Werte
Aga
Es wird die Schlssel der Datei zurckgeliefert.
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 enth„lt nur eine Referenz auf eine andere Klasse. Alle Operation werden also auf der
referenzierten Klasse durchgefhrt. Diese Klasse ist nur eine Schnittstelle. Diese Klasse stellt eine
Sicht auf eine hrc-Datei dar.
Diese Klasse l”st folgende Aufgaben:
1. Das Verwalten der Abh„ngigkeitsliste 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 Schlssel 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 Abh„ngigkeitsliste berprft 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 g”ffnet 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 k”nnen aber trotzdem Fehler auftreten wie zum Beispiel Identifierkonflikte mit vorher
eingelesener Datei, oder die Include-Dateien wurden vorher nicht eingelesen (#define kann nicht
aufgel”st werden).
Af1Querverweise
Aga
Klassen: RscError, RscCompiler.
AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Au0RscHrc::GetFileKey()
Aga
AliULONG RscHrc::GetFileKey();
Aga
Af1Return-Werte
Aga
Liefert den Schlssel der Datei zurck.
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 repr„sentiert wird, wird ge„ndert. 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 zurckgeliefert.
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 repr„sentiert wird, wird ge„ndert. 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 zurckgeliefert.
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 Abh„ngigkeitsliste eingefgt.
Af1Parameter
Aga
AfplFileKey Dies ist der Schlssel der Include-Datei.
lPos An dieser Position wird der Schlssel in die Abh„ngigkeitsliste
"eingefgt.
Aga
Af1Return-Werte
Aga
Es wird der Schlssel der Datei zurckgeliefert.
Af1Anmerkungen
Aga
Wenn eine Include-Datei unter diesem Schlssel schon in der Abh„ngigkeitsliste 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 zurckgeliefert.
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 abh„ngt.
Af1Parameter
Aga
AfprName ist der Name des Makros.
Aga
Af1Return-Werte
Aga
Es wird ein Zeiger auf das Makro mit Namen rName zurckgegeben.
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 repr„sentiert, 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 k”nnen neue Makros angelegt werden. Die Makros werden der Datei zugeordnet,
die durch diese Instanz repr„sentiert 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 eingefgt werden soll.
Aga
Af1Return-Werte
Aga
In ERRTYPE steht, ob ein Fehler aufgetreten ist und um welchen es sich handelt.
Af1Anmerkungen
Aga
Durch rMacro k”nnen Makros auch wieder durch Makros erkl„rt werden. Es wird sichergestellt, daá
nur Makros verwendet werden, die vorher deklariert wurden. Ob sie vorher deklariert wurden, wird
anhand der Abh„ngigkeitslisten 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 k”nnen Makros ge„ndert werden.
Af1Parameter
Aga
AfprName Ist der Name des neuen Makros.
rMacro Ist ein String der ausgewertet wird.
lValue Ist der Wert des ge„nderten Makros.
Aga
Af1Return-Werte
Aga
In ERRTYPE steht, ob ein Fehler aufgetreten ist und um welchen es sich handelt.
Af1Anmerkungen
Aga
Durch rMacro k”nnen Makros auch wieder durch Makros erkl„rt werden. Es wird sichergestellt, daá
nur Makros verwendet werden, die vorher deklariert wurden. Ob sie vorher deklariert wurden, wird
anhand der Abh„ngigkeitslisten 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 ben”tigt wird. Es wird ben”tigt, 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 ben”tigt.
FALSE Das Makro wird nicht mehr ben”tigt.
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 gel”scht.
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 zurckgeliefert.
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 Abh„ngigkeitsliste der Datei.
Af1Return-Werte
Aga
Die Methode liefert einen Zeiger auf die Abh„ngigkeitsliste zurck.
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 geh”ren
werden geschrieben. Es werden auch alle zugeh”rigen 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 unvollst„ndig 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 l”st 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 abh„ngig, das heiát bevor die Datenbasis gel”scht wird, mssen alle Resourceinstanzen
gel”scht 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 ver„ndern
aInst.SetNumber( HashId( "Red" ), 65535 );
// Da es sich bei aInst nur um eine Referenz in die
// Datenbasis handelt, werden die Aenderungen sofort
// uebernommen.
// Ver„nderte test.src Datei schreiben
aSrc.WriteFile();
.....
AgaAuszug aus der ver„nderten test.src Datei.
Alle Kommentare werden gel”scht. Bei Preprozessoranweisungen wie #include oder #define kommt
es zu Reihenfolge„nderungen.
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 Schlssel 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 zurckgeliefert.
Af1Anmerkungen
Aga
Ist der Typ der Klasse nicht bekannt, dann wird eine ungltige RscInstCopy zurckgeliefert.
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 l”scht Resourceinstanz mit dem Namen rInstName aus der Datenbasis.
Af1Parameter
Aga
AfppClass ist der Typ der Resourceinstanz.
rInstName ist der Identifier der Resourceinstanz, die gel”scht 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 gel”scht.
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 zurckgegeben,
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 l”schen, 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 zurckgeliefert.
Af1Anmerkungen
Aga
Wenn unter dem Typ und Namen keine Instanz zu finden ist, dann ist die zurckgelieferte Instanz
ungltig.
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
Fllt eine Liste mit den Namen und Typen von Resourceinstanzen, die in der Datenbasis stehen.
Af1Parameter
Aga
AfppList Dies ist die Liste, die gefllt wird.
Aga
Af1Anmerkungen
Aga
pList ist eine Liste von Listen. Resourceinstanzen k”nnen 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 h„tte 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 fr 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 eingefgt
"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 unvollst„ndig 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 Verfgung, mit denen Resourceinstanzen erzeugt, ver„ndern und
gel”scht werden k”nnen. Das Erzeugen von Instanzen erfolgt immer impliziet. Das heiát 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 ungltige Instanz zurckgeliefert.
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 ge„ndert 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 Zust„nde die mit der Methode IsInst() abgefragt werden k”nnen. Liefert
IsInst() TRUE zurck, dann ist es eine gltige Instanz. Anderenfalls ist die Instanz ungltig und alle
Methoden liefern Fehler oder weitere ungltige 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 zurckgeliefert.
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 gltige Instanz vorligt.
Af1Return-Werte
Aga
AfpTRUE heiát, es liegt eine gltige Instanz vor.
FALSE heiát, es liegt keine gltige 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 fgt eine Resourceinstanz unter dem Namen rName ein.
Af1Parameter
Aga
AfprInst ist die Instanz die eingefgt werden soll.
AfprName ist der Identifier unter dem die Instanz eingefgt wird.
Aga
Af1Return-Werte
Aga
AfpERRTYPE.IsOk() bedeutet, die Instanz wurde Eingefgt.
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 gel”scht
und die neue Instanz wird an der gleichen Stelle eingefgt. Wenn rName keine gltige Id enth„lt, wird
die Instanz am Ende angefgt.
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 zurckgeliefert wird, so heiát 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 zurckgeliefert wird, so heiát 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, zurckgeliefert.
Af1Parameter
Aga
AfpnPos ist die Position der Resourceinstanz.
Aga
Af1Return-Werte
Aga
Die Information ber die Resourceinstanz wird zurckgeliefert.
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 zurck, die in der Liste gespeichert sind.
Af1Return-Werte
Aga
Es wird die Anzahl der Resourceinstanzen zurckgeliefert.
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 zurck, 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 zurckgeliefert.
Af1Anmerkungen
Aga
Besteht in der Liste eine Einschr„nkung auf bestimmte Resourceinstanzen, zum Beispiel nur Instanzen
vom Typ Window oder abgeleitete Typen, dann kann es vorkommen, daá eine ungltige Instanz
zurckgeliefert 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 zurckgeliefert.
Af1Parameter
Aga
AfpnPos ist die Position der Resourceinstanz.
Aga
Af1Return-Werte
Aga
Es wird eine Resourceinstanz zurckgeliefert.
Af1Anmerkungen
Aga
Wenn an der Position keine Instanz steht, dann wird eine ungltige Instanz zurckgeliefert.
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 eingefgt.
nSourcePos Von dieser Position wird die Instanz genommen.
Aga
Af1Return-Werte
Aga
Es wird ein Fehler zurckgegeben, wenn nSourcePos oder nDestPos ungltige 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 gel”scht.
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 gel”scht.
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 gel”scht.
Af1Parameter
Aga
AfpnPos ist die Position der Resourceinstanz.
Aga
Af1Return-Werte
Aga
Gibt es keinen Fehler, dann wurde die Resourseinstanz gel”scht.
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
AgaŽnderung 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
AgaŽndern 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
AgaŽndern eines Zahlenwertes.
AliRscInstCopy aColorInst;
RscInst aNumber;
RscTop* pColorType;
.....
// Erzeuge Farbinstanz
aColorInst = aCmpInst.CreateRscInst( pColorType );
aNumber = aColorInst.GetVar( HashId( "RED" ) );
// volle Rotintensit„t
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
AgaŽndern 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 zurckgeliefert.
Af1Anmerkungen
Aga
Existiert keine Variable unter diesem Namen, dann wird eine ungltige Instanz zurckgeliefert.
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
zurckgeliefert.
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 zurckgeliefert.
Kann die Instanz nicht in einen Wahrheitswert umgewandelt werden, wird FALSE zurckgeliefert.
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 zurckgeliefert.
Kann die Instanz nicht in ein Zahl umgewandelt werden, wird 0 zurckgeliefert.
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 zurckgeliefert.
Kann die Instanz nicht in einen String umgewandelt werden, wird NULL zurckgeliefert.
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 zurckgegeben.
Af1Return-Werte
Aga
Es wird der Identifier der Referenz zurckgeliefert.
Af1Anmerkungen
Aga
Der zurckgelieferte Identifier kann ungltig 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 ver„ndert.
Aga
Af1Querverweise
Aga
Methoden: SetDefault().
AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Au0RscInst::IsConsistent()
Aga
AliBOOL RscInst::IsConsistent( RscInconsList * pList );
Aga
Af1Beschreibung
Aga
Die Methode berprft ob diese Instanz noch konsistent ist.
Af1Parameter
Aga
AfppList Eine Liste die mit den RscId-Objekten gefllt 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 ver„ndert werden k”nnen.
Nach einer solchen Ver„nderung muá die Konsistenz berprft 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 zurck, die in einem Aufz„hlungstyp an der Position
nPos definiert ist.
Af1Parameter
Aga
AfpnPos Position der Konstante.
Aga
Af1Return-Werte
Aga
AfpHASH_NONAME Dieser Wert wird zurckgeliefert, wenn der Variablentyp kein
"Aufz„hlungstyp war oder wenn nPos >= der Anzahl der
"Konstanten.
AgaSonst wird der Name der Konstanten zurckgeliefert.
Aga
Af1Beispiel
Aga
Das Beispiel zeigt wie die Namen eine Aufz„hlungstypen ermittelt werden k”nnen.
AgaVariable ist ein Aufz„hlungstyp 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, heiát "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 zurck.
Af1Return-Werte
Aga
Der Typ der Instanz wird zurckgeliefert.
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 zurckgeliefert, wenn die Klasse keinen Namen
"hat.
AgaAnsonsten wird der Name der Klasse zurckgeliefert.
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 enth„lt.
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 abh„ngigen Resourcen Icon, Bitmap und Pointer werden nicht vollst„ndig geschrieben.
Um einen Programmfehler zu vermeiden, mssen die StarView-Klassen entsprechend abgesichert sein.
Af1Anmerkungen
Aga
Die Referenzen mssen zum Zeitpunkt von WriteRc aufgel”st werden k”nnen. K”nnen sie nicht
aufgel”st 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 enth„lt keine
Referenz in die Datenbasis. Es kann somit auch nicht zu einem Fehler kommen, wenn eine
Resourceinstanz in der Datenbasis gel”scht wird. Solch ein Fehler kann bei einer Instanz der Klasse
RscInst auftreten.
Af1Anmerkung
Aga
Alle Makros die in der Datenbasis ge„ndert werden, „ndern sich auch in dieser Instanz. Mit der
Methode IsConsistent() kann diese Instanz auf Konsistenz berprft werden.
Af1Querverweise
Aga
Klassen: RscDataBase, RscHrc, RscSrc, RSCINST, RscTop, RscId.
Af1Beispiel
AgaDas Beispiel zeigt, wie der Wert einer Variablen ge„ndert 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 gltige 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 zurckgeliefert.
Aga
AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Aga
Au0RscInstCopy::~RscInstCopy()
Aga
AliRscInstCopy::~RscInstCopy();
Aga
Af1Beschreibung
Aga
Die Daten in der Instanz werden gel”scht.
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