2 S:\APP\SW5\STARLAB.LAY
\r
3 R:\SW55N\TREIBER\PS.GPM
\r
75 Helvetica 14 Pt Fett
\r
81 Helvetica 12 Pt Fett
\r
105 Grund - Absatzlayout V1.5-LSLP8
\r
174 Grundabsatzlayout-rechtsb�ndig
\r
588 šberschrift X.X.X.X.
\r
657 šberschrift X.X.X.X.X.
\r
726 Einr�ckung 4 Sp / 4 Sp
\r
795 Einr�ckung 8 Sp / 8 Sp
\r
864 Einr�ckung 0 Sp / 4 Sp
\r
933 Einr�ckung 4 Sp / 8 Sp
\r
1002 Funktionsparameter
\r
1071 Inhaltsverzeichnis
\r
1104 Stichwortverzeichnis
\r
1137 Fettschrift einzeilig
\r
1341 Grund-Seitenlayout
\r
1356 \x14\x03Akz
\x14\x03Bf3#_PFAD##_TEXTNAME#
\x046-#_S#-
\r
1357 \x14\x03Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1359 \x14\x03Afz
\x14\x03Bf3$Date: 05 Feb 1992 08:23:58 $
\x04\x16$Revision: 1.7 $
\r
1361 Stichwortverzeichnis
\r
1376 \x14\x03Ali
\x14\x03Bf3Stichwortverzeichnis
\r
1377 \x14\x03Ali
\x14\x03Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
1380 \x14\x03Ali
\x0f\x05\x02\x046
\x14\x03Bf3- #_S# -
\x14\x03B00
\r
1382 GS - ohne Fuázeile
\r
1397 \x14\x03Ali
\x14\x03Bf3#_KATEGORIE# / #_THEMA2#
\r
1398 \x14\x03Ali
\x14\x03Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1402 Inhaltsverzeichnis
\r
1417 \x14\x03Ali
\x14\x03Bf3Inhaltsverzeichnis
\r
1418 \x14\x03Ali
\x14\x03Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
1430 \x14\x03Skf
\x14\x03Aga
\r
1440 \x14\x03Au0
\x04\x03#_KATEGORIE#
\r
1443 \x14\x03Au0
\x04\x03#_THEMA2#
\r
1460 \x14\x03Au0
\x04\x03#_AUTOR#
\r
1463 \x14\x03Au0
\x04\x03STAR DIVISION / STAR LAB Hamburg
\r
1466 \x14\x03Au0
\x04\x03Stand: $Date: 05 Feb 1992 08:23:58 $
\r
1470 \f\x14\x03Skf
\x14\x03Aga
\x14\x02PA
\r
1473 \x14\x03Au0#_KATEGORIE#
\r
1477 \x14\x03AfpDokumentenname
\x04\x13#_THEMA2#
\r
1479 \x14\x03AfpProjektname
\x04\x16#_THEMA1#
\r
1481 \x14\x03AfpVersionsnummer
\x04\x13$Revision: 1.7 $
\r
1484 \x14\x03Afperstellt
\x04\x1902. April 1990
\r
1486 \x14\x03Afpge„ndert
\x04\x19$Date: 05 Feb 1992 08:23:58 $
\r
1489 \x14\x03AfpDateiname
\x04\x18#_PFAD##_TEXTNAME#
\r
1492 \x14\x03AfpAutor
\x04\x1c#_AUTOR#
\r
1494 \x14\x03AfpBearbeiter
\x04\x17$Author: MM $
\r
1496 \x14\x03AfpQualit„tskontrolle
\r
1499 \x14\x03AfpStatus
\x04\eXX
\x04\x04in Arbeit
\r
1500 \x14\x03Afp
\x04!__
\x04\x04fertiggestellt
\r
1501 \x14\x03Afp
\x04!__
\x04\x04abgenommen
\r
1502 \x14\x03Afp
\x04!__
\x04\x04freigegeben
\r
1505 \x14\x03AfpVertraulich
\x04\x16__ Ja XX Nein
\r
1508 \x14\x03AfpCopyright (C)
\x04\x14Star Division 1990
\r
1510 \f\x14\x03Siv
\x14\x02pa
\r
1512 \x14\x03Au0Inhaltsverzeichnis
\r
1515 1 Einleitung
\x04N4
\r
1516 2 Klassenbaum
\x04M5
\r
1517 3 Klassenbeschreibung
\x04E5
\r
1518 RscDataBase
\x04O6
\r
1522 RscInstCopy
\x04O50
\r
1523 Stichwortverzeichnis
\x04F53
\r
1526 \f\x14\x03Au1
\x14\x02pa#
\x16\x011 Einleitung
\r
1528 In diesem Dokument werden die Klassen beschrieben, mit denen die vom Rsc-Compiler erstellte
1529 Datenbasis ver„ndert werden k”nnen. Als Beispiel sei hier der Design-Editor genannt.
\r
1530 Um das Verst„ndnis zu erleichtern, ist es hilfreich die Benutzerbeschreibung des Rsc-Compilers zu
1533 \x18\x01Hinweise zur Implementation
\x18\x01\r
1535 Die in diesem Dokument beschriebenen Klassen weisen einen hohen Grad an gegenseitigen
1536 Abh„ngigkeiten auf. Daher muá bei der Anwendung einiger Methoden auf diese Zusammenh„nge
1537 besonders geachtet werden. Ein genaues lesen der Dokumentation ist unumg„nglich. Zum Beispiel ist
1538 das L”schen einer Instanz nicht immer m”glich, da noch Referenzen auf sie bestehen. Diese
1539 Schnittstelle ist darauf ausgelegt, daá auf die Daten im Dialogbetrieb zugegriffen wird. Das heiát, sie
1540 ist auf šbersichtlichkeit und Fehlererkennung nicht aber auf Speicher- und Geschwindigkeitseffizienz
1542 Bevor eine dieser Klassen benutzt wird, muá die InitRscCompiler() Funktion aufgerufen werden.
\r
1543 \f\x14\x03Aga
\x14\x02pa
\r
1544 \x14\x03Au1#
\x16\x012 Klassenbaum
\r
1547 RscHrc
\x04\x06->
\x04\x04RscSrc
\r
1548 RscInst
\x04\x05->
\x04\x04RscInstCopy
\r
1551 \x14\x03Au1#
\x16\x013 Klassenbeschreibung
\r
1553 \x14\x03Aga
\x18\x01RscDataBase:
\x18\x01\r
1555 Diese Klasse stellt Methoden zur Verf�gung mit denen ein Resourceprojekt verwaltet werden kann,
1556 wie zum Beispiel das Anlegen einer neuen Datei oder zu einem Klassennamen den Klassentyp
1559 \x14\x03Aga
\x18\x01RscHrc:
\x18\x01\r
1561 Diese Klasse stellt Methoden zur Verf�gung mit denen dateiabh„ngige Informationen und Daten aus
1562 der Datenbasis gewonnen werden k”nnen. Es handelt sich hierbei haupts„chlich um Makros. Diese
1563 Klasse ist als Sicht auf eine hrc-Datei zu verstehen. Die Daten stehen in der Datenbasis.
\r
1565 \x14\x03Aga
\x18\x01RscSrc:
\x18\x01\r
1567 Diese Klasse stellt Methoden zur Verf�gung mit denen dateiabh„ngige Informationen und Daten aus
1568 der Datenbasis gewonnen werden k”nnen. Diese Klasse ist als Sicht auf eine src-Datei zu verstehen.
1569 Die Daten stehen in der Datenbasis.
\r
1571 \x18\x01RscInst:
\x18\x01\r
1573 Eine RscInst repr„sentiert eine Referenz auf eine Resourceinstanz, wie zum Beispiel Farbe oder Breite.
1574 Eine Resourceinstanz kann weitere Resourceinstanzen enthalten.
\r
1576 \x18\x01RscInstCopy:
\x18\x01\r
1578 Diese Instanz repr„sentiert eine Kopie einer Resourceinstanz.
\r
1580 \f\x14\x03Au0
\x14\x02PA
\x01\x02RscDataBase
\x02\x01\r
1582 \x14\x03Aliclass RscDataBase {
\r
1584 RscCmdLine * pCmdLine;
\r
1587 RscDataBase( RscError * );
\r
1589 RscTop* GetClassType( HASHID nClassName );
\r
1590 BOOL MakeConsistent( RscInconsList * pList );
\r
1591 RscFileTab * GetFileTab();
\r
1592 RscFile * GetFileStruct( ULONG lFileKey );
\r
1593 RscStrList * GetPathList();
\r
1594 ULONG AddSrcFile( const String & rFileName );
\r
1595 ULONG AddHrcFile( const String & rFileName );
\r
1596 void ScanForIncFiles( ULONG lFileKey );
\r
1597 void RemoveFile( ULONG lKey );
\r
1598 RscDefine * FindDef( const String & rName );
\r
1599 ULONG GetFileKey( const String & rFileName );
\r
1602 \x14\x03Af1Beschreibung
\r
1604 Diese Klasse enth„lt die Klassen RscCmdLine und RscTypCont.
\r
1605 Die Klasse RscCmdLine enth„lt die Steuerinformation f�r den Compiler. Die Klasse RscTypCont
1606 enth„lt die vom Compiler erstellte DatenBasis.
\r
1607 Diese Klasse l”st folgende Aufgaben:
\r
1608 \x04\x051. Das šberpr�fen der Konsistenz der Datenbasis.
\r
1609 \x04\x052. Das Bearbeiten der Projektstruktur.
\r
1611 \x14\x03Af1Anmerkungen
\r
1613 F�r einige Methoden der Klasse RscDataBase gilt, daá sie eventuell auf alle existierenden
1614 Resourceinstanzen zugreifen m�ssen. Wenn zum Beispiel die Konsistenz der Datenbasis �berpr�ft
1615 wird, kann dies nur �ber die Objekte in der Datenbasis geschehen.
\r
1617 \x14\x03Af1Querverweise
\r
1619 Klassen: RscCmdLine, RscTypCont, RscFile, RscDefList, RscError, RscId, RscHrc, RscSrc.
\r
1620 Methoden: HashId, GetHashString.
\r
1622 \x14\x03Af1Beispiel
\r
1624 Im Beispiel wird der einer Resource erfragt.
\r
1626 \x14\x03Ali// statische Datenstrukturen initialisieren
\r
1627 InitRscCompiler();
\r
1629 RscError aErrorHandle; // Fehlerbehandlung
\r
1630 RscDataBase aCmpInst( &aErrorHandle ); // Datenbasis
\r
1631 RscTop* pClassTyp; // ein Klassentyp
\r
1633 // Typ einer Resource aus dem Namen der Klasse erzeugen
\r
1634 pClassTyp = aCmpInst.GetClassType( HashId( "Color" ) );
\r
1637 \f\x14\x03Au0
\x14\x02PA
\x02RscDataBase::RscDataBase()
\x02\r
1639 \x14\x03AliRscDataBase::RscDataBase( RscError * pErrorHandler );
\r
1641 \x14\x03Af1Beschreibung
\r
1643 Diese Methode erzeugt eine Instanz der Klasse RscDataBase. Der Scope von dieser Instanz muá
1644 innerhalb des Scopes von pErrorHandler liegen.
\r
1646 \x14\x03Af1Parameter
\r
1648 \x14\x03AfppErrorHandler
\x04\x14Ein Zeiger auf einen Fehlerhandler. Durch ableiten von der Klasse
1649 \x04"RscError kann ein eigener Fehlermechanismus entwickelt werden.
\r
1651 \x14\x03Af1Querverweise
\r
1655 \x14\x03Af1Beispiel
\r
1658 RscError aErrorHandler;
\r
1659 RscDataBase aCmpInst( &aErrorHandle );
\r
1662 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1664 \x14\x03Au0
\x02RscDataBase::RscDataBase()
\x02\r
1666 \x14\x03AliRscDataBase::~RscDataBase();
\r
1668 \x14\x03Af1Beschreibung
\r
1670 L”scht die Membervariablen pCmdLine und pTC.
\r
1672 \x14\x03Af1Anmerkungen
\r
1674 Es d�rfen keine Resourceinstanzen, die mit Hilfe dieser Instanz erzeugt worden sind, mehr existieren.
\r
1676 \x14\x03Af1Querverweise
\r
1678 Klassen: RscInst, RscCmdLine, RscTypCont, RscIncList, RscHrc, RscSrc.
\r
1680 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1682 \x14\x03Au0
\x02RscDataBase::GetClassType()
\x02\r
1684 \x14\x03AliRscTop * RscDataBase::GetClassType( HASHID aClassName );
\r
1686 \x14\x03Af1Beschreibung
\r
1688 Aus dem Namen einer Klasse wird der Typ einer Klasse generiert. Der Typ bezieht sich nur auf die
1689 RscDataBase-Instanz von der er erzeugt wurde.
\r
1691 \x14\x03Af1Parameter
\r
1693 \x14\x03AfpaClassName
\x04\x17ist der Name der Klasse.
\r
1695 \x14\x03Af1Return-Werte
\r
1697 Der Typ der Klasse wird zur�ckgeliefert. Wird unter dem Namen keine Klasse gefunden, dann wird
1698 NULL zur�ckgeliefert.
\r
1700 \x14\x03Af1Anmerkungen
\r
1702 Wenn aus gleichen Namen zweier unterschiedlicher Instanzen Typen erzeugt werden, dann sind diese
1705 \x14\x03Af1Beispiel
\r
1708 HASHID
\x05aClassName = HashId( "Color" );
\r
1709 RscTop * aType1 = aCmpInst1.GetClassType( aClassName );
\r
1710 RscTop * aType2 = aCmpInst2.GetClassType( aClassName );
\r
1711 RscTop * aType3 = aCmpInst2.GetClassType( aClassName );
\r
1714 aType1 ist ungleich zu aType2.
\r
1715 aType2 ist gleich zu aType3.
\r
1717 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1719 \x14\x03Au0
\x02RscDataBase::MakeConsistent()
\x02\r
1721 \x14\x03AliBOOL RscDataBase::MakeConsistent( RscInconsList * pList );
\r
1723 \x14\x03Af1Beschreibung
\r
1725 Es ist m”glich, daá durch Ver„nderungen von Makros die Datenbasis inkonsistent wird. Mit dieser
1726 Methode wird versucht, die Datenbasis wieder in einen konsistenten Zustand zu versetzen. Dies kann
1727 aber auch scheitern, wenn zum Beispiel der Wertebereich einer Variablen verlassen wird oder die
1728 Identifier von Resourceinstanzen den gleichen Wert haben. pList enth„lt die Makros bei denen es
1729 Inkonsistenzen gibt.
\r
1731 \x14\x03Af1Parameter
\r
1733 \x14\x03AfppList
\x04\x1cist ein Zeiger auf eine Liste von Makro-Paaren. pList darf auch
1736 \x14\x03Af1Return-Werte
\r
1738 \x14\x03AfpTRUE
\x04\x1ddie Datenbasis ist wieder konsistent.
\r
1739 FALSE
\x04\x1ces konnte kein konsistenter Zustand hergestellt werden.
\r
1741 \x14\x03Af1Anmerkungen
\r
1743 Wenn die Datenbasis inkonsistent ist, d�rfen auf ihr keine Operationen ausgef�hrt werden.
\r
1745 \x14\x03Af1Querverweise
\r
1747 Klassen: RscInconsList.
\r
1748 Methoden: RscInst::IsConsistent.
\r
1750 \x14\x03Af1Beispiel
\r
1753 RscDataBase *pDataBase = new ...; // DatenBasis
\r
1754 RscSrc aSrc( ... ); //entspricht einer .src Datei
\r
1755 RscDefine * pDef1, *pDef2; //Makros
\r
1757 aSrc.NewDef( "DEF1", 1000, LIST_APPEND ); //Makro erzeugen
\r
1758 aSrc.NewDef( "DEF2", 1001, LIST_APPEND ); //Makro erzeugen
\r
1759 pDef1 = aSrc.FindDef( "DEF1" ); //Makro holen
\r
1760 pDef2 = aSrc.FindDef( "DEF2" ); //Makro holen
\r
1762 /* aStrInst enth„lt eine g�ltige String-Instanz */
\r
1763 //String-Instanz unter Id mit Wert 1000 einsetzen
\r
1764 \x14\x03Ali
\x0f\x05\x01aSrc.SetRscInst( RscId( pDef1 ), aStrInst );
\r
1765 //String-Instanz unter Id mit Wert 1001 einsetzen
\r
1766 \x14\x03Ali
\x0f\x05\x01aSrc.SetRscInst( RscId( pDef2 ), aStrInst );
\r
1767 //aendern des Makro-Wertes
\r
1768 aSrc.ChangeDef( "DEF2", 1000 );
\r
1769 //Datenbasis ueberpruefen
\r
1770 if( pDataBase->MakeConsistent( NULL ) )
\r
1771 \x04\x03printf( "Konsistent" );
\r
1773 \x04\x03printf( "Inkonsistent" );
\r
1775 Die Ausgabe ist 'Inkonsistent', weil in der Datenbasis zwei String-Instanzen mit dem Identifier 1000
1777 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1779 \x14\x03Au0
\x02RscDataBase::GetFileTab()
\x02\r
1781 \x14\x03AliRscFileTab * RscDataBase::GetFileTab();
\r
1783 \x14\x03Af1Beschreibung
\r
1785 Die interne Struktur der Makro- und Dateiverwaltung wird zur�ckgeliefert.
\r
1787 \x14\x03Af1Return-Werte
\r
1789 Es wird ein Zeiger auf die Struktur der Projektverwaltung zur�ckgeliefert.
\r
1791 \x14\x03Af1Querverweise
\r
1793 Klassen: RscFileTab.
\r
1795 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1797 \x14\x03Au0
\x02RscDataBase::GetFileStruct()
\x02\r
1799 \x14\x03AliRscFile * RscDataBase::GetFileStruct( ULONG lFileKey );
\r
1801 \x14\x03Af1Beschreibung
\r
1803 Auf die interne Darstellung der Daten einer Datei wird �ber einen Schl�ssel zugegriffen. Mit Hilfe
1804 dieses Schl�ssels kann man einen Zeiger auf die interne Datenstruktur bekommen.
\r
1806 \x14\x03Af1Parameter
\r
1808 \x14\x03AfplFileKey
\x04\x19Schl�ssel der Datei.
\r
1810 \x14\x03Af1Return-Werte
\r
1812 Zeiger auf interne Struktur.
\r
1814 \x14\x03Af1Querverweise
\r
1816 Klassen: RscFile, RscFileTab.
\r
1817 Methoden: GetKey().
\r
1819 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1821 \x14\x03Au0
\x02RscDataBase::GetPathList()
\x02\r
1823 \x14\x03AliRscStrList * RscDataBase::GetPathList();
\r
1825 \x14\x03Af1Beschreibung
\r
1827 Diese Methode gibt einen Zeiger auf eine Liste mit Pfadnamen zur�ck. Diese Liste kann ver„ndert
1828 werden. Die Žnderungen wirken sich sofort auf den Suchpfad aus.
\r
1830 \x14\x03Af1Return-Werte
\r
1832 Es wird die PfadListe zur�ckgeliefert.
\r
1834 \x14\x03Af1Beispiel
\r
1835 \x14\x03Aga//veraendern der Pfadliste
\r
1837 \x14\x03AliRscDataBase aBase( ... ); //Datenbasis
\r
1839 // Pfadliste holen
\r
1840 RscStrList * pPathLst = aBase.GetPathList();
\r
1841 //Pfad hinzufuegen
\r
1842 pPathList->Insert( String( "c:\demo\resource" ) );
\r
1844 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1846 \x14\x03Au0
\x02RscDataBase::AddSrcFile()
\x02\r
1848 \x14\x03AliULONG RscDataBase::AddSrcFile( const String & rName );
\r
1850 \x14\x03Af1Beschreibung
\r
1852 Diese Methode stellt eine Src-Datei in die Projektverwaltung.
\r
1854 \x14\x03Af1Parameter
\r
1856 \x14\x03AfprName
\x04\x1cDies ist der Name der Datei.
\r
1858 \x14\x03Af1Return-Werte
\r
1860 Es wird der Schl�ssel der Datei zur�ckgeliefert.
\r
1862 \x14\x03Af1Anmerkungen
\r
1864 \fWenn es eine Datei unter diesem Namen gibt, dann wird der Schl�ssel dieser Datei zur�ckgegeben.
\r
1866 \x14\x03Af1Querverweise
\r
1868 Klassen: RscFileTab.
\r
1870 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1872 \x14\x03Au0
\x02RscDataBase::AddHrcFile()
\x02\r
1874 \x14\x03AliULONG RscDataBase::AddHrcFile( const String & rName );
\r
1876 \x14\x03Af1Beschreibung
\r
1878 Diese Methode stellt eine Hrc-Datei in die Projektverwaltung.
\r
1880 \x14\x03Af1Parameter
\r
1882 \x14\x03AfprName
\x04\x1cDies ist der Name der Datei.
\r
1884 \x14\x03Af1Return-Werte
\r
1886 Es wird der Schl�ssel der Datei zur�ckgeliefert.
\r
1888 \x14\x03Af1Anmerkungen
\r
1890 Wenn es eine Datei unter diesem Namen gibt, dann wird der Schl�ssel dieser Datei zur�ckgegeben.
\r
1892 \x14\x03Af1Querverweise
\r
1894 Klassen: RscFileTab.
\r
1896 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1898 \x14\x03Au0
\x02RscDataBase::ScanForIncFiles()
\x02\r
1900 \x14\x03Alivoid RscDataBase::ScanForIncFiles( ULONG lFileKey );
\r
1901 \x14\x03Aga
\x0f\x05\x03\r
1902 \x14\x03Af1Beschreibung
\r
1904 Diese Methode durchsucht die Datei nach Include-Anweisungen. Die Dateien werden in die
1905 Abh„ngigkeitsliste von der Datei mit dem Schl�ssel lFileKey eingetragen. Die Dateien werden in die
1906 Projektverwaltung gestellt.
\r
1908 \x14\x03Af1Anmerkungen
\r
1910 Kann die Datei nicht ge”ffnet werden dann wird die Abh„ngigkeitsliste nicht ge„ndert.
1911 Preprozessoranweisungen wie #ifdef... werden nicht beachtet. C- und C++-Kommentare werden
1914 \x14\x03Af1Querverweise
\r
1916 Klassen: RscCompiler.
\r
1917 Methoden: RscCompiler::IncludeParser().
\r
1919 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1921 \f\x14\x03Au0
\x02RscDataBase::RemoveFile()
\x02\r
1923 \x14\x03Alivoid RscDataBase::RemoveFile( ULONG lFileKey );
\r
1925 \x14\x03Af1Beschreibung
\r
1927 Die Datei wird aus der Projektverwaltung gel”scht. Alle dieser Datei zugeordneten Makros und
1928 Resource-Instanzen werden gel”scht. Alle Verweise auf diese Datei werden gel”scht.
\r
1930 \x14\x03Af1Parameter
\r
1932 \x14\x03AfplFileKey
\x04\x19Schl�ssel der Datei.
\r
1934 \x14\x03Af1Anmerkungen
\r
1936 Diese Datei wird auch aus den Abh„ngigkeitslisten der anderen Dateien gel”scht. Wenn
1937 Abh„ngigkeiten auf Makros bestehen, dann werden sie durch Zahlen ersetzt.
\r
1939 \x14\x03Af1Querverweise
\r
1941 Klassen: RscFile, RscFileTab.
\r
1942 Methoden: RscTypCont::WriteSrc().
\r
1944 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1946 \x14\x03Au0
\x02RscDataBase::FindDef()
\x02\r
1948 \x14\x03AliRscDefine * RscDataBase::FindDef( const String & rName );
\r
1950 \x14\x03Af1Beschreibung
\r
1952 Mit dieser Methode kann ein Makro �ber seinen Namen gefunden werden.
\r
1954 \x14\x03Af1Parameter
\r
1956 \x14\x03AfprName
\x04\x1cist der Name des Makros.
\r
1958 \x14\x03Af1Return-Werte
\r
1960 Es wird ein Zeiger auf das Makro mit Namen rName zur�ckgegeben.
\r
1961 \x14\x03AfpNULL
\x04\x1dEs wurde kein Makro gefunden.
\r
1963 \x14\x03Af1Querverweise
\r
1965 Klassen: RscFileTab.
\r
1967 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1969 \x14\x03Au0
\x02RscDataBase::GetFileKey()
\x02\r
1971 \x14\x03AliULONG RscDataBase::GetFileKey( const String & rFileName );
\r
1973 \x14\x03Af1Beschreibung
\r
1975 Diese Methode sucht in der Projektverwaltung nach einem Datei mit Namen "rFileName".
\r
1976 Wenn eine Datei unter diesem Namen in der Projektverwaltung steht wird der Schl�ssel dieser Datei
1979 \x14\x03Af1Parameter
\r
1981 \x14\x03AfprFileKey
\x04\x19Der Dateiname nach dem gesucht wird.
\r
1983 \x14\x03Af1Return-Werte
\r
1985 Es wird die Schl�ssel der Datei zur�ckgeliefert.
\r
1986 \x14\x03AfpNOFILE_INDEX
\x04\x15dieser Wert zeigt an, daá der Dateiname nicht gefunden wurde.
\r
1988 \x14\x03Af1Anmerkungen
\r
1990 Groá-und Kleinschreibung wird bei der Suche beachtet.
\r
1992 \x14\x03Af1Querverweise
\r
1994 Klassen: RscFileTab.
\r
1996 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1998 \f\x14\x03Au0
\x14\x02PA
\x01\x02RscHrc
\x02\x01\r
2000 \x14\x03Aliclass RscHrc {
\r
2002 ULONG lFileKey;//Schluessel der Datei
\r
2004 RscHrc( RscDataBase *, ULONG lKey );
\r
2006 ERRTYPE ReadFile();
\r
2007 ULONG GetFileKey();
\r
2010 void SetPathName( const String & );
\r
2011 String GetPathName();
\r
2012 void SetFileName( const String & );
\r
2013 String GetPathName();
\r
2014 void InsertDepend( ULONG lKey, ULONG lPos );
\r
2015 RscDefineList * GetDefineList();
\r
2016 RscDefine * FindDef( const String & );
\r
2017 ERRTYPE NewDef( const String & rName,
\r
2018 long lValue, ULONG lPos );
\r
2019 ERRTYPE NewDef( const String & rName,
\r
2020 const String & rMacro,
\r
2022 ERRTYPE ChangeDef( const String & rName,
\r
2024 ERRTYPE ChangeDef( const String & rName,
\r
2025 const String & rMacro );
\r
2026 BOOL IsDefUsed( const String & rName );
\r
2027 void DeleteDef( const String & rName );
\r
2028 ERRTYPE ChangeDefName( const String & rName,
\r
2029 const String & rNewName );
\r
2031 RscFile * GetFileStruct();
\r
2032 RscDependList * GetDependList();
\r
2033 ERRTYPE WriteFile();
\r
2036 \x14\x03Af1Beschreibung
\r
2037 \x14\x03AgaDiese Klasse enth„lt nur eine Referenz auf eine andere Klasse. Alle Operation werden also auf der
2038 referenzierten Klasse durchgef�hrt. Diese Klasse ist nur eine Schnittstelle. Diese Klasse stellt eine
2039 Sicht auf eine hrc-Datei dar.
\r
2041 Diese Klasse l”st folgende Aufgaben:
\r
2042 \x04\x051. Das Verwalten der Abh„ngigkeitsliste einer Datei.
\r
2043 \x04\x052. Das Verwalten der Makros in dieser Datei.
\r
2044 \x04\x053. Das Schreiben von ".hrc"-Dateien.
\r
2046 \x14\x03Af1Querverweise
\r
2048 Klassen: RscTypCont, RscDependList, RscDefList, RscError, RscId.
\r
2050 \f\x14\x03Au0
\x14\x02PA
\x02RscHrc::RscHrc()
\x02\r
2052 \x14\x03AliRscHrc::RscHrc( RscDataBase * pDataBase, ULONG lKey );
\r
2054 \x14\x03Af1Beschreibung
\r
2056 Diese Methode erzeugt eine Instanz der Klasse RscHrc. Der Scope von dieser Instanz muá innerhalb
2057 des Scopes von pDataBase liegen.
\r
2059 \x14\x03Af1Parameter
\r
2061 \x14\x03AfppDataBase
\x04\x18Ein Zeiger auf eine Datenbasis.
\r
2062 lKey
\x04\x1dIst der Schl�ssel einer Datei.
\r
2064 \x14\x03Af1Querverweise
\r
2066 Klassen RscError, RscSrc, RscFileTab.
\r
2068 \x14\x03Af1Beispiel
\r
2071 /* aSrc ist ein bestehende Instanz der Klasse RscSrc */
\r
2072 //Abhaengigkeitsliste holen
\r
2073 RscDependList * pDepLst = aSrc.GetDependList();
\r
2074 //Erstes Element holen
\r
2075 RscDepend * pDep = pDepList->First();
\r
2076 //Hrc-Instanz erzeugen, aHrc ist die Repraesentation der
\r
2077 //ersten Datei in der Abhaengigkeitsliste
\r
2078 RscHrc
\x05aHrc( pDataBase, pDep->GetFilekey() );
\r
2081 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2082 \x14\x03Au0
\x02RscHrc::~RscHrc()
\x02\r
2084 \x14\x03AliRscHrc::~RscHrc();
\r
2086 \x14\x03Af1Beschreibung
\r
2088 Der Destruktor hat keine Funktion.
\r
2090 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2092 \x14\x03Au0
\x0f\x05\x01\x02RscHrc::ReadFile()
\x02\r
2094 \x14\x03AliERRTYPE RscHrc::ReadFile();
\r
2096 \x14\x03Af1Beschreibung
\r
2098 Es wird eine Datei eingelesen. Es wird in der Abh„ngigkeitsliste �berpr�ft ob alle Dateien geladen
2099 sind, sind sie nicht geladen, werden sie zuerst eingelesen. Tritt ein fehler auf, wurde die Fehlerhafte
2100 Datei nicht eingelesen. Der Fehler innerhalb der Datei muá mit einem Editor verbessert werden (siehe
2101 Rsc-Compiler Benutzerhandbuch).
\r
2103 \x14\x03Af1Return-Werte
\r
2105 \x14\x03AfpERRTYPE.IsOk()
\x04\x13Es ist kein Fehler aufgetreten.
\r
2106 \x14\x03AfpERR_OPENFILE
\x04\x15Die Datei konnte nicht g”ffnet werden.
\r
2107 \fanderer Wert
\x04\x15Siehe Klasse RscError.
\r
2109 \x14\x03Af1Anmerkungen
\r
2111 Es sollte sichergestellt sein, daá die Datei mit dem Rsc-Compiler ohne Preprozessor �bersetzt werden
2112 kann. Es k”nnen aber trotzdem Fehler auftreten wie zum Beispiel Identifierkonflikte mit vorher
2113 eingelesener Datei, oder die Include-Dateien wurden vorher nicht eingelesen (#define kann nicht
2114 aufgel”st werden).
\r
2116 \x14\x03Af1Querverweise
\r
2118 Klassen: RscError, RscCompiler.
\r
2120 \x14\x03Aga
\x0f\x05\x03\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2122 \x14\x03Au0
\x02RscHrc::GetFileKey()
\x02\r
2124 \x14\x03AliULONG RscHrc::GetFileKey();
\r
2126 \x14\x03Af1Return-Werte
\r
2128 Liefert den Schl�ssel der Datei zur�ck.
\r
2130 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2132 \x14\x03Au0
\x02RscHrc::SetDirty()
\x02\r
2134 \x14\x03Alivoid RscHrc::SetDirty( BOOL bSet );
\r
2136 \x14\x03Af1Beschreibung
\r
2138 Es wird das Attribut Dirty gesetzt. Das Attribut Dirty bewirkt nichts.
\r
2140 \x14\x03Af1Parameter
\r
2142 \x14\x03AfpbSet
\x04\x1dIst der Wert auf den das Attribut gesetzt werden soll.
\r
2144 \x14\x03Af1Querverweise
\r
2146 Methoden: IsDirty().
\r
2148 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2150 \x14\x03Au0
\x02RscHrc::IsDirty()
\x02\r
2152 \x14\x03AliBOOL RscHrc::IsDirty();
\r
2154 \x14\x03Af1Beschreibung
\r
2156 Gibt an ob das Attribut Dirty gesetzt ist.
\r
2158 \x14\x03Af1Return-Werte
\r
2160 \x14\x03AfpTRUE
\x04\x1dDirty ist gesetzt.
\r
2161 FALSE
\x04\x1cDirty ist nicht gesetzt.
\r
2163 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2164 \x14\x03Au0
\x02RscHrc::SetPathName()
\x02\r
2166 \x14\x03Alivoid RscHrc::SetPathName( const String & rPath );
\r
2168 \x14\x03Af1Beschreibung
\r
2170 Der Pfadname der Datei, die durch diese Instanz repr„sentiert wird, wird ge„ndert. Der Pfadname ist
2171 der Name, unter dem die Datei gespeichert wird.
\r
2173 \x14\x03Af1Parameter
\r
2175 \x14\x03AfprPath
\x04\x1cDer Pfadname der Datei.
\r
2177 \x14\x03Af1Querverweise
\r
2180 Methoden: GetPathname(), SetFileName(), GetFileName()
\r
2182 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2184 \x14\x03Au0
\x02RscHrc::GetPathName()
\x02\r
2186 \x14\x03AliString RscHrc::GetPathName();
\r
2188 \x14\x03Af1Return-Werte
\r
2190 Der Pfadname der Datei wird zur�ckgeliefert.
\r
2192 \x14\x03Af1Querverweise
\r
2195 Methoden: SetPathName(), SetFileName(), GetFileName().
\r
2197 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2199 \x14\x03Au0
\x02RscHrc::SetFileName()
\x02\r
2201 \x14\x03Alivoid RscHrc::SetFileName( const String & rPath );
\r
2203 \x14\x03Af1Beschreibung
\r
2205 Der Name der Datei, die durch diese Instanz repr„sentiert wird, wird ge„ndert. Unter diesem Namen
2206 wird die Datei zum Beispiel in den "#include <Name>" Anweisungen verwendet.
\r
2208 \x14\x03Af1Parameter
\r
2210 \x14\x03AfprPath
\x04\x1cDer Name der Datei.
\r
2212 \x14\x03Af1Querverweise
\r
2215 Methoden: SetPathName(), GetPathname(), GetFileName()
\r
2217 \f\x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2219 \x14\x03Au0
\x02RscHrc::GetFileName()
\x02\r
2221 \x14\x03AliString RscHrc::GetFileName();
\r
2223 \x14\x03Af1Return-Werte
\r
2225 Der Name der Datei wird zur�ckgeliefert.
\r
2227 \x14\x03Af1Querverweise
\r
2230 Methoden: SetPathName(), GetPathName(), SetFileName().
\r
2232 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2235 \x14\x03Au0
\x02RscHrc::InsertDepend()
\x02\r
2237 \x14\x03Alivoid RscHrc::InsertDepend( ULONG lFileKey, ULONG lPos );
\r
2239 \x14\x03Af1Beschreibung
\r
2241 Eine neue Include-Datei wird in die Abh„ngigkeitsliste eingef�gt.
\r
2243 \x14\x03Af1Parameter
\r
2245 \x14\x03AfplFileKey
\x04\x19Dies ist der Schl�ssel der Include-Datei.
\r
2246 lPos
\x04\x1dAn dieser Position wird der Schl�ssel in die Abh„ngigkeitsliste
2249 \x14\x03Af1Return-Werte
\r
2251 Es wird der Schl�ssel der Datei zur�ckgeliefert.
\r
2253 \x14\x03Af1Anmerkungen
\r
2255 Wenn eine Include-Datei unter diesem Schl�ssel schon in der Abh„ngigkeitsliste steht, wird er nicht
2256 noch einmal eingetragen.
\r
2258 \x14\x03Af1Querverweise
\r
2261 Methoden: FillIncList().
\r
2263 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2265 \x14\x03Au0
\x02RscHrc::GetDefineList()
\x02\r
2267 \x14\x03AliRscDefineList * RscHrc::GetDefineList();
\r
2269 \x14\x03Af1Beschreibung
\r
2271 In jeder Hrc-Datei gibt es Makros. Diese Makros werden in eine RscDefineList gestellt.
\r
2273 \x14\x03Af1Return-Werte
\r
2275 Es wird ein Zeiger auf die Makro-Liste zur�ckgeliefert.
\r
2277 \x14\x03Af1Querverweise
\r
2279 Klassen: RscDefineList.
\r
2281 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2283 \x14\x03Au0
\x02RscHrc::FindDef()
\x02\r
2285 \x14\x03AliRscDefine * RscHrc::FindDef( const String & rName );
\r
2289 Mit dieser Methode kann ein Makro �ber seinen Namen gefunden werden. Es wird nur in dieser Datei
2290 oder in den Dateien gesucht, von denen diese Datei abh„ngt.
\r
2292 \x14\x03Af1Parameter
\r
2294 \x14\x03AfprName
\x04\x1cist der Name des Makros.
\r
2296 \x14\x03Af1Return-Werte
\r
2298 Es wird ein Zeiger auf das Makro mit Namen rName zur�ckgegeben.
\r
2299 \x14\x03AfpNULL
\x04\x1dEs wurde kein Makro gefunden.
\r
2301 \x14\x03Af1Querverweise
\r
2303 Klassen: RscFileTab.
\r
2305 \x14\x03Af1Beispiel
\r
2307 \x14\x03Ali//Dateiname = t.src
\r
2314 Wenn aHrc2 die Datei t2.hrc repr„sentiert, dann werden die Makros in t2.hrc und t1.hrc gesucht. Sie
2315 werden nicht in t.src gesucht.
\r
2317 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2319 \x14\x03Au0
\x02RscHrc::NewDef()
\x02\r
2321 \x14\x03AliERRTYPE RscHrc::NewDef( const String & rName,
\r
2322 long lValue, ULONG lPos );
\r
2323 ERRTYPE RscHrc::NewDef( const String & rName,
\r
2324 const String & rMacro,
\r
2327 \x14\x03Af1Beschreibung
\r
2329 \fMit dieser Methode k”nnen neue Makros angelegt werden. Die Makros werden der Datei zugeordnet,
2330 die durch diese Instanz repr„sentiert wird.
\r
2332 \x14\x03Af1Parameter
\r
2334 \x14\x03AfprName
\x04\x1cIst der Name des neuen Makros.
\r
2335 lValue
\x04\eIst der Wert des neuen Makros.
\r
2336 rMacro
\x04\eIst ein String der ausgewertet wird.
\r
2337 lPos
\x04\x1dgibt die Position an, an welcher das Makro eingef�gt werden soll.
\r
2339 \x14\x03Af1Return-Werte
\r
2341 In ERRTYPE steht, ob ein Fehler aufgetreten ist und um welchen es sich handelt.
\r
2343 \x14\x03Af1Anmerkungen
\r
2345 Durch rMacro k”nnen Makros auch wieder durch Makros erkl„rt werden. Es wird sichergestellt, daá
2346 nur Makros verwendet werden, die vorher deklariert wurden. Ob sie vorher deklariert wurden, wird
2347 anhand der Abh„ngigkeitslisten entschieden.
\r
2349 \x14\x03Af1Querverweise
\r
2351 Klassen: RscFileTab.
\r
2352 Methoden: ::MacroParser().
\r
2354 \x14\x03Af1Beispiel
\r
2356 \x14\x03Ali//Datei demo.hrc in Projektverwaltung
\r
2357 lFileKey = pBase->AddHrcFile( "demo.hrc" );
\r
2358 //Sicht auf demo.hrc
\r
2359 RscHrc
\x05aHrc( pBase, lFileKey );
\r
2361 aHrc.NewDef( String( "BASE" ), 1000 );
\r
2363 aHrc.NewDef( String( "DEF_TEST" ), String( "1000 + 2" ) );
\r
2365 aHrc.NewDef( String( "MENU_FILE" ),String( "BASE + 100" ));
\r
2367 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2369 \x14\x03Au0
\x02RscHrc::ChangeDef()
\x02\r
2371 \x14\x03AliERRTYPE RscHrc::ChangeDef( const String & rName,
\r
2372 const String & rMacro );
\r
2373 ERRTYPE RscHrc::ChangeDef( const String & rName,
\r
2376 \x14\x03Af1Beschreibung
\r
2378 Mit dieser Methode k”nnen Makros ge„ndert werden.
\r
2380 \x14\x03Af1Parameter
\r
2382 \x14\x03AfprName
\x04\x1cIst der Name des neuen Makros.
\r
2383 rMacro
\x04\eIst ein String der ausgewertet wird.
\r
2384 lValue
\x04\eIst der Wert des ge„nderten Makros.
\r
2386 \x14\x03Af1Return-Werte
\r
2388 In ERRTYPE steht, ob ein Fehler aufgetreten ist und um welchen es sich handelt.
\r
2390 \x14\x03Af1Anmerkungen
\r
2392 Durch rMacro k”nnen Makros auch wieder durch Makros erkl„rt werden. Es wird sichergestellt, daá
2393 nur Makros verwendet werden, die vorher deklariert wurden. Ob sie vorher deklariert wurden, wird
2394 anhand der Abh„ngigkeitslisten entschieden.
\r
2396 \x14\x03Af1Querverweise
\r
2398 Klassen: RscFileTab.
\r
2399 Methoden: ::MacroParser(), NewDef().
\r
2401 \x14\x03Af1Beispiel
\r
2403 \x14\x03Ali//Datei demo.hrc in Projektverwaltung
\r
2404 lFileKey = pBase->AddHrcFile( "demo.hrc" );
\r
2405 //Sicht auf demo.hrc
\r
2406 RscHrc
\x05aHrc( pBase, lFileKey );
\r
2408 aHrc.NewDef( String( "BASE" ), 1000 );
\r
2410 aHrc.NewDef( String( "DEF_TEST" ), String( "1000 + 2" ) );
\r
2412 aHrc.ChangeDef( String( "DEF_TEST" ),
\r
2413 String( "BASE + 100" ) );
\r
2415 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2417 \x14\x03Au0
\x02RscHrc::IsDefUsed()
\x02\r
2419 \x14\x03AliBOOL RscHrc::IsDefUsed( const String & rName );
\r
2421 \x14\x03Af1Beschreibung
\r
2423 Mit dieser Methode kann festgestellt werden ob ein Makro noch ben”tigt wird. Es wird ben”tigt, wenn
2424 Referenzen bestehen, z.B. das Makro wird zur Definition von anderen Makros verwendet.
\r
2426 \x14\x03Af1Parameter
\r
2428 \x14\x03AfprName
\x04\x1cIst der Name des Makros.
\r
2430 \x14\x03Af1Return-Werte
\r
2432 \x14\x03AfpTRUE
\x04\x1dDas Makro wird noch ben”tigt.
\r
2433 FALSE
\x04\x1cDas Makro wird nicht mehr ben”tigt.
\r
2435 \x14\x03Af1Querverweise
\r
2437 Klassen: RscFileTab.
\r
2439 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2441 \x14\x03Au0
\x02RscHrc::DeleteDef()
\x02\r
2443 \x14\x03Alivoid RscHrc::DeleteDef( const String & rName );
\r
2445 \x14\x03Af1Beschreibung
\r
2447 Das Makro mit dem Namen rName wird gel”scht.
\r
2449 \x14\x03Af1Parameter
\r
2451 \x14\x03AfprName
\x04\x1cIst der Name des Makros.
\r
2453 \x14\x03Af1Querverweise
\r
2455 Klassen: RscFileTab.
\r
2457 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2459 \x14\x03Au0
\x02RscHrc::ChangeDefName()
\x02\r
2461 \x14\x03AliERRTYPE RscHrc::ChangeDefName( const String & rName,
\r
2462 const String & rNewName );
\r
2464 \x14\x03Af1Beschreibung
\r
2466 Der Name des Makros wird umbenannt. Existiert der neue Name schon, oder ist der neue Name ein
2467 reserviertes Wort, wird ein Fehler zur�ckgeliefert.
\r
2469 \x14\x03Af1Parameter
\r
2471 \x14\x03AfprName
\x04\x1cDer Name des Makros.
\r
2472 rNewName
\x04\x19Der neue Name des Makros.
\r
2474 \x14\x03Af1Return-Werte
\r
2476 In ERRTYPE steht, ob ein Fehler aufgetreten ist und um welchen es sich handelt.
\r
2478 \x14\x03Af1Anmerkungen
\r
2480 Alle Objekte oder Makros, die das umbenannte Makro benutzen, enthalten den neuen Namen.
\r
2482 \x14\x03Af1Querverweise
\r
2484 Klassen: RscFileTab.
\r
2486 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2488 \x14\x03Au0
\x02RscHrc::GetFileStruct()
\x02\r
2490 \x14\x03AliRscFile * RscHrc::GetFileStruct();
\r
2492 \x14\x03Af1Return-Werte
\r
2494 Liefert einen Zeiger auf die interne Datenstruktur..
\r
2496 \x14\x03Af1Querverweise
\r
2498 Klassen: RscFile, RscFileTab.
\r
2500 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2502 \x14\x03Au0
\x02RscHrc::GetDependList()
\x02\r
2504 \x14\x03AliRscDependList * RscHrc::GetDependList();
\r
2506 \x14\x03Af1Beschreibung
\r
2508 Mit dieser Methode bekommt man die Abh„ngigkeitsliste der Datei.
\r
2510 \x14\x03Af1Return-Werte
\r
2512 Die Methode liefert einen Zeiger auf die Abh„ngigkeitsliste zur�ck.
\r
2514 \x14\x03Af1Anmerkungen
\r
2516 Die Datei ist selbst als letztes Element in der Liste vermerkt.
\r
2518 \x14\x03Af1Querverweise
\r
2520 Klassen: RscFile, RscFileTab.
\r
2522 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2524 \x14\x03Au0
\x02RscHrc::WriteFile()
\x02\r
2526 \x14\x03AliERRTYPE RscHrc::WriteFile();
\r
2528 \x14\x03Af1Beschreibung
\r
2530 Diese Methode schreibt eine Datei im src-Format. Alle Resourceinstanzen die zu dieser Datei geh”ren
2531 werden geschrieben. Es werden auch alle zugeh”rigen Makros geschrieben. Ein Datei ohne
2532 Resourceinstanzen ist eine hrc-Datei. Der Name unter dem die Datei geschrieben wird ist der
2536 \x14\x03Af1Return-Werte
\r
2538 \x14\x03AfpERRTYPE.IsOk()
\x04\x13Die Daten wurden in die entsprechende Datei geschrieben.
\r
2539 \x14\x03Afpanderer Wert
\x04\x15Es ist ein Fehler aufgetreten. Die angegebene Datei wurde
2540 \x04"eventuell unvollst„ndig geschrieben.
\r
2542 \x14\x03Af1Querverweise
\r
2544 Klassen: RscTypCont.
\r
2545 Methoden: RscTypCont::WriteSrc(), RscDefineList::WriteAll(), SetPathName().
\r
2547 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2548 \f\x14\x03Au0
\x14\x02PA
\x01\x02RscSrc
\x02\x01\r
2550 \x14\x03Aliclass RscSrc {
\r
2552 RscSrc( RscDataBase * pDataBase, ULONG lKey );
\r
2554 RscInstCopy CreateRscInst( RscTop * pClass );
\r
2555 ERRTYPE DeleteRscInst( RscTop * pTypeClass,
\r
2557 ERRTYPE SetRscInst( RscId & rInstName, RscInstCopy & );
\r
2558 RscInst GetRscInst( RscTop * pClass, RscId & rInst );
\r
2559 void FillNameIdList( REResourceList * pList );
\r
2560 ERRTYPE WriteCxxFile( const String &,
\r
2561 const String & rHxxFile );
\r
2562 ERRTYPE WriteHxxFile( const String & );
\r
2565 \x14\x03Af1Beschreibung
\r
2567 Diese Klasse l”st folgende Aufgaben:
\r
2568 \x04\x051. Das Einlesen der Include-Dateien und der ".src"-Datei mit Erstellung der Datenbasis.
\r
2569 \x04\x052. Das Erzeugen von Resourceinstanzen.
\r
2570 \x04\x053. Das Finden und Herausgeben von Resourceinstanzen.
\r
2571 \x04\x054. Das Einsetzen von Resourceinstanzen.
\r
2572 \x04\x055. Das Schreiben von ".cxx"- und ".hxx"-Dateien.
\r
2574 \x14\x03Af1Anmerkungen
\r
2576 Die von einer Instanz dieser Klasse herausgegebenen Resourceinstanzen sind von der Verwendeten
2577 Datenbasis abh„ngig, das heiát bevor die Datenbasis gel”scht wird, m�ssen alle Resourceinstanzen
2578 gel”scht oder wieder eingesetzt worden sein.
\r
2580 \x14\x03Af1Querverweise
\r
2582 Klassen: RscTypCont, RscError, RscId, RscDataBase.
\r
2583 Methoden: HashId, GetHashString.
\r
2585 \x14\x03Af1Beispiel
\r
2587 Auszug aus der test.src Datei.
\r
2590 \x04\x03Red = 0; //kein Rotanteil
\r
2591 \x04\x03Green = 65535;
\r
2592 \x04\x03Blue = 65535;
\r
2596 \x14\x03AgaAuszug aus der ".cxx" Datei.
\r
2598 // Compilers initialisieren
\r
2599 InitRscCompiler();
\r
2601 RscError aErrorHandle; // Fehlerbehandlung
\r
2602 RscdataBase aBase( aErrorHandle ); // Datenbasis erzeugen
\r
2604 RscSrc
\x05aSrc( &aBase,
\r
2605 aBase->AddSrcFile( "test.src" ) );
\r
2606 RscInst aInst; // eine ResourceInstanz
\r
2607 \fRscTop* pClassTyp; // ein Klassentyp
\r
2609 // Einlesen der Resourcedatei test.src
\r
2611 // Typ einer Resource aus dem Namen erzeugen
\r
2612 pClassTyp = aBase.GetClassType( HashId( "Color" ) );
\r
2614 aInst = aSrc.GetRscInst( pClassTyp, RscId( 1000 ) );
\r
2615 // Instanz ver„ndern
\r
2616 aInst.SetNumber( HashId( "Red" ), 65535 );
\r
2617 // Da es sich bei aInst nur um eine Referenz in die
\r
2618 // Datenbasis handelt, werden die Aenderungen sofort
\r
2621 // Ver„nderte test.src Datei schreiben
\r
2625 \x14\x03AgaAuszug aus der ver„nderten test.src Datei.
\r
2626 Alle Kommentare werden gel”scht. Bei Preprozessoranweisungen wie #include oder #define kommt
2627 es zu Reihenfolge„nderungen.
\r
2631 \x04\x03Red = 65535;
\r
2632 \x04\x03Green = 65535;
\r
2633 \x04\x03Blue = 65535;
\r
2638 \f\x14\x03Au0
\x14\x02PA
\x02RscSrc::RscSrc()
\x02\r
2640 \x14\x03AliRscSrc::RscSrc( RscDataBase * pDataBase,
\r
2643 \x14\x03Af1Beschreibung
\r
2645 Diese Methode erzeugt eine Instanz der Klasse RscSrc. Der Scope von dieser Instanz muá innerhalb
2646 des Scopes von pDataBase liegen.
\r
2648 \x14\x03Af1Parameter
\r
2650 \x14\x03AfppDataBase
\x04\x18Ein Zeiger auf eine Datenbasis.
\r
2651 lFileKey
\x04\x19Der Schl�ssel einer Datei.
\r
2653 \x14\x03Af1Querverweise
\r
2657 \x14\x03Af1Beispiel
\r
2660 RscDataBase aDataBase(...);
\r
2661 RscSrc
\x05aCmpInst( &aDataBase,
\r
2662 aDataBase.AddSrcFile( "t.src" ) );
\r
2665 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2667 \x14\x03Au0
\x02RscSrc::RscSrc()
\x02\r
2669 \x14\x03AliRscSrc::~RscSrc();
\r
2671 \x14\x03Af1Beschreibung
\r
2673 Diese Methode hat keine Funktion.
\r
2675 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2677 \x14\x03Au0
\x02RscSrc::CreateRscInst()
\x02\r
2679 \x14\x03AliRscInstCopy RscSrc::CreateRscInst( RscTop * pClass );
\r
2681 \x14\x03Af1Beschreibung
\r
2683 Diese Methode erzeugt eine Instanz vom Typ pClass.
\r
2685 \x14\x03Af1Parameter
\r
2687 \x14\x03AfppClass
\x04\eist der Typ der Resource, die erzeugt werden soll.
\r
2689 \x14\x03Af1Return-Werte
\r
2691 Es wird eine RscInstCopy Instanz zur�ckgeliefert.
\r
2693 \x14\x03Af1Anmerkungen
\r
2695 \fIst der Typ der Klasse nicht bekannt, dann wird eine ung�ltige RscInstCopy zur�ckgeliefert.
\r
2697 \x14\x03Af1Querverweise
\r
2699 Klasse: RscInst, RscInstCopy.
\r
2700 Methoden: RscInst::IsInst(), RscDataBase::GetClassType().
\r
2702 \x14\x03Af1Beispiel
\r
2705 RscInstCopy aColInst;
\r
2706 RscTop * pColorType =
\r
2707 aBase.GetClassType( HashId( "Color" ) );
\r
2709 // Resourceinstanz einer Farbe erzeugen
\r
2710 aColInst = aCmpInst.CreateRscInst( pColorType );
\r
2711 if( !aColInst.IsInst() )
\r
2712 printf( "Farbinstanz konnte nicht erzeugt werden!" );
\r
2715 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2717 \x14\x03Au0
\x02RscSrc::DeleteRscInst()
\x02\r
2719 \x14\x03AliERRTYPE RscSrc::DeleteRscInst( RscTop * pClass,
\r
2720 RscId & rInstName );
\r
2722 \x14\x03Af1Beschreibung
\r
2724 Diese Methode l”scht Resourceinstanz mit dem Namen rInstName aus der Datenbasis.
\r
2726 \x14\x03Af1Parameter
\r
2728 \x14\x03AfppClass
\x04\eist der Typ der Resourceinstanz.
\r
2729 rInstName
\x04\x18ist der Identifier der Resourceinstanz, die gel”scht werden soll.
\r
2731 \x14\x03Af1Return-Werte
\r
2733 Zeigt an ob ein Fehler und welcher Fehler aufgetreten ist.
\r
2735 \x14\x03Af1Querverweise
\r
2737 Klasse: RscId, RscError.
\r
2740 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2742 \x14\x03Au0
\x02RscSrc::SetRscInst()
\x02\r
2744 \x14\x03AliERRTYPE RscSrc::SetRscInst( RscId & rInstName,
\r
2745 RscInstCopy & rInst );
\r
2747 \x14\x03Af1Beschreibung
\r
2749 Diese Methode setzt die Daten einer Instanz unter dem Namen rInstName in die Datenbasis ein. Ist
2750 eine andere Instanz unter diesem Namen gespeichert, wird sie gel”scht.
\r
2752 \f\x14\x03Af1Parameter
\r
2754 \x14\x03AfprInstName
\x04\x18Identifier der Instanz.
\r
2755 \x14\x03AfprInst
\x04\x1cDie Daten aus dieser Instanz werden in die Datenbasis eingesetzt.
\r
2757 \x14\x03Af1Return-Werte
\r
2759 \x14\x03AfpERRTYPE.IsOk()
\x04\x13die Instanz wurde eingesetzt.
\r
2760 anderer Wert
\x04\x15Es ist ein Fehler aufgetreten.
\r
2762 \x14\x03Af1Anmerkungen
\r
2764 Die Identifikation einer Instanz erfolgt �ber den Typ
\x18\x01und
\x18\x01 den Namen. Wird ein Fehler zur�ckgegeben,
2765 dann wurde die Instanz nicht eingesetzt.
\r
2767 \x14\x03Af1Querverweise
\r
2769 Klassen: RscInstCopy, RscId.
\r
2770 Methode: RscDataBase::DeleteRscInst(), GetRscInst().
\r
2772 \x14\x03Af1Beispiel
\r
2775 RscId aWindowName;// Identifier eines Fensters
\r
2776 RscInst aWindow; // Instanz eines Fensters
\r
2778 //Instanz einsetzen und die Alte l”schen, falls vorhanden
\r
2779 aCmpInst.SetRscInst( aWindowName, aWindow );
\r
2781 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2783 \x14\x03Au0
\x02RscSrc::GetRscInst()
\x02\r
2785 \x14\x03AliRscInst RscSrc::GetRscInst( RscTop * pClass,
\r
2786 RscId & rInstName );
\r
2788 \x14\x03Af1Beschreibung
\r
2790 Diese Methode holt eine RscInst Instanz aus der Datenbasis.
\r
2792 \x14\x03Af1Parameter
\r
2794 \x14\x03AfppClass
\x04\eder Typ der Instanz.
\r
2795 \x14\x03AfprInstName
\x04\x18der Identifier der Instanz.
\r
2797 \x14\x03Af1Return-Werte
\r
2799 Es wird eine RscInst Intanz zur�ckgeliefert.
\r
2801 \x14\x03Af1Anmerkungen
\r
2803 Wenn unter dem Typ und Namen keine Instanz zu finden ist, dann ist die zur�ckgelieferte Instanz
2806 \x14\x03Af1Querverweise
\r
2808 Klassen: RscInst, RscId.
\r
2810 \f\x14\x03Af1Beispiel
\r
2812 \x14\x03AliRscId aWindowName;// Identifier eines Fensters
\r
2813 RscInst aWindow; // Instanz eines Fensters
\r
2814 RscTop * pClassType;
\r
2816 // Klassentyp holen
\r
2817 pClassType = aBase.GetClassType( HashId( "Window" ) );
\r
2819 aWindow = aCmpInst.GetRscInst( aWindowName, pClassType ) );
\r
2820 // Instanz gefunden
\r
2821 if( aWindow.IsInst() )
\r
2822 printf( "Instanz gefunden!" );
\r
2825 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2827 \x14\x03Au0
\x02RscSrc::FillNameIdList()
\x02\r
2829 \x14\x03Alivoid RscSrc::FillNameIdList( REResourceList * pList );
\r
2831 \x14\x03Af1Beschreibung
\r
2833 F�llt eine Liste mit den Namen und Typen von Resourceinstanzen, die in der Datenbasis stehen.
\r
2835 \x14\x03Af1Parameter
\r
2837 \x14\x03AfppList
\x04\x1cDies ist die Liste, die gef�llt wird.
\r
2839 \x14\x03Af1Anmerkungen
\r
2841 pList ist eine Liste von Listen. Resourceinstanzen k”nnen beliebige weitere Resourceinstanzen
2842 beinhalten. Die Liste spiegelt diese Verschachtelung wieder.
\r
2844 \x14\x03Af1Querverweise
\r
2846 Klasse: REResourceList.
\r
2848 \x14\x03Af1Beispiel
\r
2850 \x14\x03Ali// Resourcedatei
\r
2853 PushButton 1 { ..... };
\r
2854 String 1 { ..... };
\r
2855 String 2 { ..... };
\r
2857 \x14\x03AliWindow 1001 { ..... };
\r
2860 String 1 { ..... };
\r
2862 \x14\x03AgaEine von diesen Resourcen erzeugte Liste h„tte folgende Struktur:
\r
2864 \x04\x05PushButton 1
\r
2870 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2872 \x14\x03Au0
\x02RscSrc::Write...File()
\x02\r
2874 \x14\x03AliERRTYPE RscSrc::WriteCxxFile( const String & rFileName
\r
2875 const String & rHxxName );
\r
2876 ERRTYPE RscSrc::WriteHxxFile( const String & rFileName );
\r
2878 \x14\x03Af1Beschreibung
\r
2880 Diese Methoden schreiben ein entsprechendes Format, der in der Datenbasis stehenden
2881 Resourceinstanzen, in die Dateien. WriteHxxFile schreibt die Include-Datei f�r die ".cxx"-Dateien.
\r
2883 \x14\x03Af1Parameter
\r
2885 \x14\x03AfprFileName
\x04\x18Dies ist der Name der Datei in die das entsprechende Format
2886 \x04"geschrieben werden soll.
\r
2887 rHxxName
\x04\x19Dies ist der Name "hxx"-Datei, die von der "cxx"-Datei eingef�gt
2890 \x14\x03Af1Return-Werte
\r
2892 \x14\x03AfpERRTYPE.IsOk()
\x04\x13Das Format wurde in die entsprechende Datei geschrieben.
\r
2893 \x14\x03Afpanderer Wert
\x04\x15Es ist ein Fehler aufgetreten. Die angegebene Datei wurde
2894 \x04"eventuell unvollst„ndig geschrieben.
\r
2896 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2897 \f\x14\x03Au0
\x14\x02PA
\x01\x02RscInst
\x02\x01\r
2899 \x14\x03Aliclass RscInst {
\r
2903 RscInst( const RscInst & rInst );
\r
2904 RscInst( RSCINST aTmpI );
\r
2905 RscInst& operator = ( const RscInst& rRscInst );
\r
2907 void OverWrite( RscInstCopy & rInst );
\r
2909 // Listen Methoden
\r
2910 ERRTYPE SetElement( const RscId & rName,
\r
2911 RscInstCopy & rInst );
\r
2912 ERRTYPE SetPosEle( USHORT nPos,
\r
2913 RscInstCopy & rInst );
\r
2914 ERRTYPE SetPosRscId( USHORT nPos, const RscId & rId);
\r
2915 SUBINFO_STRUCT GetInfoEle( USHORT nPos );
\r
2916 USHORT GetCount();
\r
2917 RscInst GetElement( RscTop * pClass,
\r
2918 const RscId & rName );
\r
2919 RscInst GetPosEle( USHORT nPos );
\r
2920 ERRTYPE MovePosEle( USHORT nDestPos,
\r
2921 USHORT nSourcePos );
\r
2922 ERRTYPE DeleteElement( RscTop * pClass,
\r
2924 ERRTYPE DeletePosEle( USHORT nPos );
\r
2925 ERRTYPE SetVar( HASHID nVarName,
\r
2926 RscInstCopy & rInst );
\r
2927 ERRTYPE SetConst( HASHID nConstId );
\r
2928 ERRTYPE SetBool( BOOL bSet );
\r
2929 ERRTYPE SetNumber( long lValue );
\r
2930 ERRTYPE SetString( const char * pStr );
\r
2931 ERRTYPE SetRef( const RscId & rRscId );
\r
2932 ERRTYPE SetDefault( HASHID nVarName );
\r
2934 RscInst& GetVar( HASHID nVarName );
\r
2935 HASHID GetConst();
\r
2936 USHORT GetConstPos();
\r
2939 const char * GetString();
\r
2941 BOOL IsDefault( HASHID nVarName );
\r
2942 BOOL IsConsistent( RscInconsList * pList );
\r
2944 HASHID GetClassEnum( USHORT nPos );
\r
2945 RscTop * GetClassType();
\r
2946 HASHID GetClassName();
\r
2947 ERRTYPE WriteRc( RscWriteRc & aMem );
\r
2950 \x14\x03Af1Beschreibung
\r
2952 Diese Klasse stellt Methoden zur Verf�gung, mit denen Resourceinstanzen erzeugt, ver„ndern und
2953 gel”scht werden k”nnen. Das Erzeugen von Instanzen erfolgt immer impliziet. Das heiát beim
2954 Anfordern einer Instanz wird sie erzeugt, wenn sie nicht vorhanden war.
\r
2956 \f\x14\x03Af1Ausnahmen
\r
2958 Eine Ausname bildet die Methode GetPosEle, wenn an der angegebenen Stelle keine Instanz steht, so
2959 wird eine ung�ltige Instanz zur�ckgeliefert.
\r
2961 \x14\x03Af1Anmerkungen
\r
2963 Die Implementation ist nicht auf Geschwindigkeit und Speicherbedarf optimiert.
\r
2965 \x14\x03Af1Querverweise
\r
2967 Klassen: RscDataBase, RscHrc, RscSrc, RSCINST, RscTop, RscId.
\r
2969 \x14\x03Af1Beispiel
\r
2970 \x14\x03AgaDas Beispiel zeigt, wie der Wert einer Variablen ge„ndert wird
\r
2974 RscTop* pWindowType;
\r
2976 // Typ des Klasse Window
\r
2977 pWindowType = aDataBase.GetClassType( HashId( "Window" ) );
\r
2978 // Exemplar der Klasse Window erzeugen
\r
2979 aWindow = aCompilerInst.CreateRscInst( pWindowType );
\r
2980 // Exemplar mit Namen "Border" holen
\r
2981 aBorder = aWindow.GetVar( HashId( "Border" ) );
\r
2982 // Wert auf TRUE setzen
\r
2983 aBorder.SetBool( TRUE );
\r
2986 \f\x14\x03Au0
\x14\x02PA
\x02RscInst::RscInst()
\x02\r
2988 \x14\x03AliRscInst::RscInst();
\r
2989 RscInst::RscInst( const RscInst & rInst );
\r
2990 RscInst::RscInst( RSCINST aTmpI );
\r
2992 \x14\x03Af1Beschreibung
\r
2994 Diese Instanz beinhaltet nur eine Referenz auf die Resourcedaten.
\r
2996 \x14\x03Af1Parameter
\r
2998 \x14\x03AfprInst
\x04\x1cist die Instanz, aus der die Referenz �bernommen wird.
\r
2999 aTmpI
\x04\x1cAus dieser Instanz wird eine RscInst erzeugt.
\r
3001 \x14\x03Af1Anmerkungen
\r
3003 RscInst hat zwei verschiedene Zust„nde die mit der Methode IsInst() abgefragt werden k”nnen. Liefert
3004 IsInst() TRUE zur�ck, dann ist es eine g�ltige Instanz. Anderenfalls ist die Instanz ung�ltig und alle
3005 Methoden liefern Fehler oder weitere ung�ltige Instanzen.
\r
3007 \x14\x03Af1Querverweise
\r
3009 Klassen: RSCINST, ERRTYPE.
\r
3010 Methoden: IsInst(), GetClassType().
\r
3012 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3014 \x14\x03Au0
\x02RscInst::operator = ()
\x02\r
3016 \x14\x03AliRscInst & RscInst::operator = ( const RscInst & rInst );
\r
3018 \x14\x03Af1Beschreibung
\r
3020 Es werden die Referenzen von rInst �bernommen.
\r
3022 \x14\x03Af1Parameter
\r
3024 \x14\x03AfprInst
\x04\x1cIntanz von dem die Referenzen �bernommen werden.
\r
3026 \x14\x03Af1Return-Werte
\r
3028 Es wird die eigene Instanz zur�ckgeliefert.
\r
3030 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3033 \x14\x03Au0
\x02RscInst::~RscInst()
\x02\r
3035 \x14\x03AliRscInst::~RscInst();
\r
3037 \x14\x03Af1Beschreibung
\r
3039 Im Destruktor passiert nichts.
\r
3041 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3043 \f\x14\x03Au0
\x02RscInst::OverWrite()
\x02\r
3045 \x14\x03Alivoid RscInst::OverWrite( RscInstCopy & rInst );
\r
3047 \x14\x03Af1Beschreibung
\r
3049 Die Daten in der Instanz werden mit den Daten in rInst �berschrieben.
\r
3051 \x14\x03Af1Parameter
\r
3053 \x14\x03AfprInst
\x04\x1cist die Instanz, deren Daten eingesetzt werden.
\r
3055 \x14\x03Af1Anmerkungen
\r
3057 Stimmen die Typen nicht �berein, werden die Daten der gemeinsamen Oberklassen �bernommen. Die
3058 anderen Daten werden auf Default gesetzt.
\r
3060 \x14\x03Af1Querverweise
\r
3063 Methode: RscInstCopy::RscInstCopy(), RscTop::Create().
\r
3065 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3067 \x14\x03Au0
\x02RscInst::IsInst()
\x02\r
3069 \x14\x03AliBOOL RscInst::IsInst();
\r
3071 \x14\x03Af1Beschreibung
\r
3073 Zeigt an ob eine g�ltige Instanz vorligt.
\r
3075 \x14\x03Af1Return-Werte
\r
3077 \x14\x03AfpTRUE
\x04\x1dheiát, es liegt eine g�ltige Instanz vor.
\r
3078 FALSE
\x04\x1cheiát, es liegt keine g�ltige Instanz vor.
\r
3080 \x14\x03Af1Querverweise
\r
3083 Methode: RSCINST::IsInst();
\r
3085 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3087 \x14\x03Au0
\x02RscInst::SetElement()
\x02\r
3089 \x14\x03AliERRTYPE RscInst::SetElement( const RscId & rName,
\r
3090 RscInstCopy & rInst);
\r
3092 \x14\x03Af1Beschreibung
\r
3094 Die Methode f�gt eine Resourceinstanz unter dem Namen rName ein.
\r
3096 \x14\x03Af1Parameter
\r
3098 \x14\x03AfprInst
\x04\x1cist die Instanz die eingef�gt werden soll.
\r
3099 \x14\x03AfprName
\x04\x1cist der Identifier unter dem die Instanz eingef�gt wird.
\r
3101 \x14\x03Af1Return-Werte
\r
3103 \x14\x03AfpERRTYPE.IsOk()
\x04\x13bedeutet, die Instanz wurde Eingef�gt.
\r
3104 anderer Wert
\x04\x15bedeutet, daá ein Fehler aufgetreten ist.
\r
3106 \x14\x03Af1Anmerkungen
\r
3108 Wenn in der Liste unter diesem Namen und Typ schon eine Instanz steht, wird die Instanz gel”scht
3109 und die neue Instanz wird an der gleichen Stelle eingef�gt. Wenn rName keine g�ltige Id enth„lt, wird
3110 die Instanz am Ende angef�gt.
\r
3112 \x14\x03Af1Querverweise
\r
3114 Klassen: ERRTYPE, RscId, RSCINST.
\r
3115 Methoden: SetPosEle(), RscId::IsId().
\r
3117 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3119 \x14\x03Au0
\x02RscInst::SetPosEle()
\x02\r
3121 \x14\x03AliERRTYPE RscInst::SetPosEle( USHORT nPos,
\r
3122 RscInstCopy & rInst );
\r
3124 \x14\x03Af1Beschreibung
\r
3126 An der Position nPos wird eine Resourceinstanz durch rInst ersetzt.
\r
3128 \x14\x03Af1Parameter
\r
3130 \x14\x03AfprInst
\x04\x1cist die Instanz die an die Position nPos gesetzt wird.
\r
3131 nPos
\x04\x1dist die Position an die die Instanz gesetzt wird.
\r
3133 \x14\x03Af1Return-Werte
\r
3135 \x14\x03AfpERRTYPE.IsOk()
\x04\x13bedeutet, die Instanz auf nPos wurde ersetzt.
\r
3136 andere Wert
\x04\x16bedeutet, die Instanz wurde nicht ersetzt.
\r
3138 \x14\x03Af1Anmerkungen
\r
3140 Wenn ein Fehler zur�ckgeliefert wird, so heiát das meistens, daá an der Position nPos keine
3141 Reourceinstanz steht.
\r
3143 \x14\x03Af1Querverweise
\r
3145 Klassen: ERRTYPE, RSCINST.
\r
3147 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3149 \x14\x03Au0
\x02RscInst::SetPosRscId()
\x02\r
3151 \x14\x03AliERRTYPE RscInst::SetPosRscId( USHORT nPos,
\r
3152 const RscId & rId );
\r
3154 \x14\x03Af1Beschreibung
\r
3156 An der Position nPos wird der Identifier durch rId ersetzt.
\r
3158 \x14\x03Af1Parameter
\r
3160 \x14\x03AfprId
\x04\x1eist die Id die an die Position nPos gesetzt wird.
\r
3161 nPos
\x04\x1dist die Position, an die die Id gesetzt wird.
\r
3163 \x14\x03Af1Return-Werte
\r
3165 \x14\x03AfpERRTYPE.IsOk()
\x04\x13bedeutet, die Id auf nPos wurde ersetzt.
\r
3166 andere Wert
\x04\x16bedeutet, die Id wurde nicht ersetzt.
\r
3168 \x14\x03Af1Anmerkungen
\r
3170 Wenn ein Fehler zur�ckgeliefert wird, so heiát das meistens, daá an der Position nPos keine
3171 Reourceinstanz steht.
\r
3173 \x14\x03Af1Querverweise
\r
3175 Klassen: ERRTYPE, RSCINST.
\r
3177 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3181 \x14\x03Au0
\x02RscInst::GetInfoEle()
\x02\r
3183 \x14\x03AliSUBINFO_STRUCT RscInst::GetInfoEle( USHORT nPos );
\r
3185 \x14\x03Af1Beschreibung
\r
3187 Es wird Information �ber die Resourceinstanz, die auf nPos steht, zur�ckgeliefert.
\r
3189 \x14\x03Af1Parameter
\r
3191 \x14\x03AfpnPos
\x04\x1dist die Position der Resourceinstanz.
\r
3193 \x14\x03Af1Return-Werte
\r
3195 Die Information �ber die Resourceinstanz wird zur�ckgeliefert.
\r
3197 \x14\x03Af1Anmerkungen
\r
3199 Steht an der Stelle nPos keine Resourceinstanz, dann ist der Inhalt undefiniert.
\r
3201 \x14\x03Af1Querverweise
\r
3203 Klassen: SUBINFO_STRUCT, RSCINST.
\r
3205 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3207 \x14\x03Au0
\x02RscInst::GetCount()
\x02\r
3209 \x14\x03AliUSHORT RscInst::GetCount();
\r
3211 \x14\x03Af1Beschreibung
\r
3213 Gibt die Anzahl der Resourceinstanzen zur�ck, die in der Liste gespeichert sind.
\r
3215 \x14\x03Af1Return-Werte
\r
3217 Es wird die Anzahl der Resourceinstanzen zur�ckgeliefert.
\r
3219 \x14\x03Af1Querverweise
\r
3223 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3225 \x14\x03Au0
\x02RscInst::GetElement()
\x02\r
3227 \x14\x03AliRscInst RscInst::GetElement( RscTop * pClass,
\r
3228 const RscId & rName );
\r
3230 \x14\x03Af1Beschreibung
\r
3232 Diese Methode liefert eine Referenz auf die Daten der Instanz zur�ck, die unter diesem Namen in der
3233 Liste steht. Wenn unter diesem Namen keine Instanz steht, dann wir sie erzeugt.
\r
3235 \x14\x03Af1Parameter
\r
3237 \x14\x03AfppClass
\x04\eist der Typ der Instanz.
\r
3238 rName
\x04\x1cist der Identifier der Instanz.
\r
3240 \x14\x03Af1Return-Werte
\r
3242 Es wird eine Instanz zur�ckgeliefert.
\r
3244 \x14\x03Af1Anmerkungen
\r
3246 Besteht in der Liste eine Einschr„nkung auf bestimmte Resourceinstanzen, zum Beispiel nur Instanzen
3247 vom Typ Window oder abgeleitete Typen, dann kann es vorkommen, daá eine ung�ltige Instanz
3248 zur�ckgeliefert wird.
\r
3250 \x14\x03Af1Querverweise
\r
3252 Klassen: RscTop, RscId.
\r
3253 Methode: IsInst().
\r
3255 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3257 \x14\x03Au0
\x02RscInst::GetPosEle()
\x02\r
3259 \x14\x03AliRscInst RscInst::GetPosEle( USHORT nPos );
\r
3261 \x14\x03Af1Beschreibung
\r
3263 Es wird eine Referenz auf die Daten der Instanz an der angegebenen Stelle zur�ckgeliefert.
\r
3265 \x14\x03Af1Parameter
\r
3267 \x14\x03AfpnPos
\x04\x1dist die Position der Resourceinstanz.
\r
3269 \x14\x03Af1Return-Werte
\r
3271 \fEs wird eine Resourceinstanz zur�ckgeliefert.
\r
3273 \x14\x03Af1Anmerkungen
\r
3275 Wenn an der Position keine Instanz steht, dann wird eine ung�ltige Instanz zur�ckgeliefert.
\r
3277 \x14\x03Af1Querverweise
\r
3280 Methode: IsInst().
\r
3282 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3284 \x14\x03Au0
\x02RscInst::MovePosEle()
\x02\r
3286 \x14\x03AliERRTYPE RscInst::MovePosEle( USHORT nDestPos
\r
3287 USHORT nSourcePos );
\r
3289 \x14\x03Af1Beschreibung
\r
3291 In einem Feld wird die Resourceinstanz an der Position nSourcePos an die Stelle nDestPos
3294 \x14\x03Af1Parameter
\r
3296 \x14\x03AfpnDestPos
\x04\x19An dieser Position wird die Instanz eingef�gt.
\r
3297 nSourcePos
\x04\x17Von dieser Position wird die Instanz genommen.
\r
3299 \x14\x03Af1Return-Werte
\r
3301 Es wird ein Fehler zur�ckgegeben, wenn nSourcePos oder nDestPos ung�ltige Positionen sind.
\r
3303 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
3306 \x14\x03Au0
\x02RscInst::DeleteElement()
\x02\r
3308 \x14\x03AliERRTYPE RscInst::DeleteElement( RscTop * pClass,
\r
3311 \x14\x03Af1Beschreibung
\r
3313 In der Liste wird die erste Resourceinstanz mit dem entsprechenden Namen und dem Typ gel”scht.
\r
3315 \x14\x03Af1Parameter
\r
3317 \x14\x03AfppClass
\x04\eist der Typ der Resourceinstanz.
\r
3318 rName
\x04\x1cist der Identifier der Resourceinstanz.
\r
3320 \x14\x03Af1Return-Werte
\r
3322 Gibt es keinen Fehler, dann wurde die Resourceinstanz gel”scht.
\r
3324 \x14\x03Af1Querverweise
\r
3326 Klassen: RscTop, RscId.
\r
3328 \f\x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3330 \x14\x03Au0
\x02RscInst::DeletePosEle()
\x02\r
3332 \x14\x03AliERRTYPE RscInst::DeletePosEle( USHORT nPos );
\r
3334 \x14\x03Af1Beschreibung
\r
3336 Die Resourceinstanz an der Stelle nPos wird gel”scht.
\r
3338 \x14\x03Af1Parameter
\r
3340 \x14\x03AfpnPos
\x04\x1dist die Position der Resourceinstanz.
\r
3342 \x14\x03Af1Return-Werte
\r
3344 Gibt es keinen Fehler, dann wurde die Resourseinstanz gel”scht.
\r
3346 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3348 \x14\x03Au0
\x02RscInst::SetVar()
\x02\r
3350 \x14\x03AliERRTYPE RscInst::SetVar( HASHID nVarName,
\r
3351 RscInstCopy & rInst );
\r
3353 \x14\x03Af1Beschreibung
\r
3355 In die Variable mit Namen nVarName wird die Resourceinstanz rInst eingesetzt.
\r
3357 \x14\x03Af1Parameter
\r
3359 \x14\x03AfpnVarName
\x04\x19ist der Name der Variablen.
\r
3360 rInst
\x04\x1cist die Instanz, die eingesetzt wird.
\r
3362 \x14\x03Af1Return-Werte
\r
3364 \x14\x03AgaGibt es keinen Fehler, wurde die Instanz eingesetzt.
\r
3366 \x14\x03Af1Anmerkungen
\r
3368 Ein Fehler tritt auf, wenn der Variablentyp und der Instanztyp nicht �bereinstimmen.
\r
3370 \x14\x03Af1Querverweise
\r
3373 Methode: GetVar().
\r
3375 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3377 \x14\x03Au0
\x02RscInst::SetConst()
\x02\r
3379 \x14\x03AliERRTYPE RscInst::SetConst( HASHID nConst );
\r
3381 \x14\x03Af1Beschreibung
\r
3383 \fIn die Instanz wird die Konstante nConst eingesetzt.
\r
3385 \x14\x03Af1Parameter
\r
3387 \x14\x03AfpnConst
\x04\eist die Konstante, die eingesetzt wird.
\r
3389 \x14\x03Af1Return-Werte
\r
3391 Gibt es keinen Fehler, wurde die Konstante eingesetzt.
\r
3393 \x14\x03Af1Querverweise
\r
3396 Methoden: GetConst().
\r
3398 \x14\x03Af1Beispiel
\r
3399 \x14\x03AgaŽnderung einer Konstanten.
\r
3401 \x14\x03AliRscInstCopy aColorInst;
\r
3403 RscTop* pColorType;
\r
3405 // Erzeuge Farbinstanz
\r
3406 aColorInst = aCmpInst.CreateRscInst( pColorType );
\r
3407 //Const-Instanz holen
\r
3408 aConst = aColorInst.GetVar( HashId( "Predefined" ) );
\r
3409 // Farbe auf blau setzten
\r
3410 aConst.SetConst( HashId( "COL_BLUE" ) );
\r
3411 // Die gleiche Wirkung haette
\r
3412 // aConst.SetNumber( COL_BLUE );
\r
3413 // wobei COL_BLUE in sv.hxx definiert ist
\r
3415 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3417 \x14\x03Au0
\x02RscInst::SetBool()
\x02\r
3419 \x14\x03AliERRTYPE RscInst::SetBool( BOOL bVal );
\r
3421 \x14\x03Af1Beschreibung
\r
3423 In die Instanz wird der Wert bVal eingesetzt.
\r
3425 \x14\x03Af1Parameter
\r
3427 \x14\x03AfpbVal
\x04\x1dist der Wert, der eingesetzt wird.
\r
3429 \x14\x03Af1Return-Werte
\r
3431 \x14\x03AgaGibt es keinen Fehler, wurde der Wert eingesetzt.
\r
3433 \x14\x03Af1Querverweise
\r
3436 Methoden: GetBool().
\r
3438 \x14\x03Af1Beispiel
\r
3439 \x14\x03AgaŽndern eines Wahrheitswertes.
\r
3441 \f\x14\x03AliRscInstCopy aWindowInst;
\r
3443 RscTop* pWindowType;
\r
3445 // Erzeuge Windowinstanz
\r
3446 aWindowInst = aCmpInst.CreateRscInst( pWindowType );
\r
3447 aBool = aWindowInst.GetVar( HashId( "Border" ) );
\r
3448 // Fensterattribut Rand setzen
\r
3449 aBool.SetBool( TRUE );
\r
3451 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3453 \x14\x03Au0
\x02RscInst::SetNumber()
\x02\r
3455 \x14\x03AliERRTYPE RscInst::SetNumber( long lVal );
\r
3457 \x14\x03Af1Beschreibung
\r
3459 In die Instanz wird der Wert lVal eingesetzt.
\r
3461 \x14\x03Af1Parameter
\r
3463 \x14\x03AfplVal
\x04\x1dist der Wert, der eingesetzt wird.
\r
3465 \x14\x03Af1Return-Werte
\r
3467 \x14\x03AgaGibt es keinen Fehler, wurde die Zahl eingesetzt.
\r
3469 \x14\x03Af1Querverweise
\r
3472 Methoden: GetNumber().
\r
3474 \x14\x03Af1Beispiel
\r
3475 \x14\x03AgaŽndern eines Zahlenwertes.
\r
3477 \x14\x03AliRscInstCopy aColorInst;
\r
3479 RscTop* pColorType;
\r
3481 // Erzeuge Farbinstanz
\r
3482 aColorInst = aCmpInst.CreateRscInst( pColorType );
\r
3483 aNumber = aColorInst.GetVar( HashId( "RED" ) );
\r
3484 // volle Rotintensit„t
\r
3485 aNumber.SetNumber( 0xFFFF );
\r
3487 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3489 \x14\x03Au0
\x02RscInst::SetString()
\x02\r
3491 \x14\x03AliERRTYPE RscInst::SetString( const char * pStr );
\r
3493 \x14\x03Af1Beschreibung
\r
3495 In die Instanz wird der String pStr eingesetzt.
\r
3497 \x14\x03Af1Parameter
\r
3499 \x14\x03AfppStr
\x04\x1dist der String, der eingesetzt wird.
\r
3501 \x14\x03Af1Return-Werte
\r
3503 \x14\x03AgaGibt es keinen Fehler, wurde der String eingesetzt.
\r
3505 \x14\x03Af1Querverweise
\r
3508 Methoden: GetString();
\r
3510 \x14\x03Af1Beispiel
\r
3511 \x14\x03AgaŽndern einer Zeichenkette.
\r
3513 \x14\x03AliRscInstCopy aFontInst;
\r
3515 RscTop* pFontType;
\r
3517 // Erzeuge Fontinstanz
\r
3518 aFontInst = aCmpInst.CreateRscInst( pFontType );
\r
3519 aStr = aFontInst.GetVar( HashId( "Text" ) );
\r
3520 // Fontnamen setzen
\r
3521 aStr.SetString( "Helvetica" );
\r
3523 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3525 \x14\x03Au0
\x02RscInst::SetRef()
\x02\r
3527 \x14\x03AliERRTYPE RscInst::SetRef( const RscId & rRefName );
\r
3529 \x14\x03Af1Beschreibung
\r
3531 Beim Schreiben der verschiedenen Dateien wird nicht die Resourceinstanz verwendet, sondern eine
3532 Resourceinstanz vom selben Typ mit dem Namen rRefName. Diese Instanz wird in der Datenbasis
3535 \x14\x03Af1Parameter
\r
3537 \x14\x03AfprRefName
\x04\x19ist der Identifier der referenzierten Instanz.
\r
3539 \x14\x03Af1Return-Werte
\r
3541 \x14\x03AgaGibt es keinen Fehler, wurde die Referenz eingesetzt.
\r
3543 \x14\x03Af1Anmerkungen
\r
3545 Die referenzierte Instanz wird nur in der ersten Ebene der Datenbasis gesucht.
\r
3546 Mit SetRef( RscId() ), werden die Referenzen wieder aufgehoben.
\r
3548 \x14\x03Af1Querverweise
\r
3550 Klassen: RscTop, RscId.
\r
3551 Methoden: GetRef().
\r
3553 \x14\x03Af1Beispiel
\r
3555 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3557 \x14\x03Au0
\x02RscInst::SetDefault()
\x02\r
3559 \x14\x03AliERRTYPE RscInst::SetDefault( HASHID nVarName );
\r
3561 \x14\x03Af1Beschreibung
\r
3563 Die Instanz hinter der Variable nVarName wird auf ihre Defaultwerte gesetzt.
\r
3565 \x14\x03Af1Parameter
\r
3567 \x14\x03AfpnVarName
\x04\x19ist der Name der Variablen.
\r
3569 \x14\x03Af1Return-Werte
\r
3571 \x14\x03AgaGibt es keinen Fehler, wurde die Instanz nicht auf Default gesetzt.
\r
3573 \x14\x03Af1Querverweise
\r
3576 Methoden: IsDefault().
\r
3578 \x14\x03Af1Beispiel
\r
3580 \x14\x03AliRscInst aColorInst;
\r
3581 RscTop* pColorType;
\r
3583 // Hole Farbinstanz
\r
3584 aColorInst = aCmpInst.GetRscInst( pColorType,
\r
3586 // Rot auf Default setzten
\r
3587 aColorInst.SetDefault( HashId( "Red" ) );
\r
3589 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3592 \x14\x03Au0
\x02RscInst::GetVar()
\x02\r
3594 \x14\x03AliRscInst RscInst::GetVar( HASHID nVarName );
\r
3596 \x14\x03Af1Beschreibung
\r
3598 Die Methode liefert eine Kopie des Inhaltes der Variablen nVarName.
\r
3600 \x14\x03Af1Parameter
\r
3602 \x14\x03AfpnVarName
\x04\x19ist der Name der Variablen.
\r
3604 \x14\x03Af1Return-Werte
\r
3606 Es wird eine Resourceinstanz zur�ckgeliefert.
\r
3608 \x14\x03Af1Anmerkungen
\r
3610 Existiert keine Variable unter diesem Namen, dann wird eine ung�ltige Instanz zur�ckgeliefert.
\r
3612 \x14\x03Af1Querverweise
\r
3615 Methoden: SetVar().
\r
3617 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3619 \x14\x03Au0
\x02RscInst::GetConst()
\x02\r
3621 \x14\x03AliHASHID RscInst::GetConst();
\r
3623 \x14\x03Af1Beschreibung
\r
3625 Die Methode liefert die Instanz als Konstante.
\r
3627 \x14\x03Af1Return-Werte
\r
3629 Der Wert der Konstanten.
\r
3630 Kann die Instanz nicht in eine Konstante umgewandelt werden, wird HASH_NONAME
3633 \x14\x03Af1Querverweise
\r
3636 Methoden: SetConst().
\r
3638 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3640 \x14\x03Au0
\x02RscInst::GetBool()
\x02\r
3642 \x14\x03AliBOOL RscInst::GetBool();
\r
3644 \x14\x03Af1Beschreibung
\r
3646 Die Methode liefert die Instanz als Wahrheitswert.
\r
3648 \x14\x03Af1Return-Werte
\r
3650 Es wird ein boolscher Wert zur�ckgeliefert.
\r
3651 Kann die Instanz nicht in einen Wahrheitswert umgewandelt werden, wird FALSE zur�ckgeliefert.
\r
3653 \x14\x03Af1Querverweise
\r
3656 Methoden: SetBool().
\r
3658 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3660 \x14\x03Au0
\x02RscInst::GetNumber()
\x02\r
3662 \x14\x03Alilong RscInst::GetNumber();
\r
3664 \x14\x03Af1Beschreibung
\r
3666 Die Methode liefert die Instanz als Zahl.
\r
3668 \f\x14\x03Af1Return-Werte
\r
3670 Es wird ein Wert zur�ckgeliefert.
\r
3671 Kann die Instanz nicht in ein Zahl umgewandelt werden, wird 0 zur�ckgeliefert.
\r
3673 \x14\x03Af1Querverweise
\r
3676 Methoden: SetNumber().
\r
3678 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3680 \x14\x03Au0
\x02RscInst::GetString()
\x02\r
3682 \x14\x03Aliconst char * RscInst::GetVar();
\r
3684 \x14\x03Af1Beschreibung
\r
3686 Die Methode liefert die Instanz als String.
\r
3688 \x14\x03Af1Return-Werte
\r
3690 Es wird ein Zeiger auf eine Zeichenkette zur�ckgeliefert.
\r
3691 Kann die Instanz nicht in einen String umgewandelt werden, wird NULL zur�ckgeliefert.
\r
3693 \x14\x03Af1Querverweise
\r
3696 Methoden: SetString().
\r
3698 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3700 \x14\x03Au0
\x02RscInst::GetRef()
\x02\r
3702 \x14\x03AliRscId RscInst::GetRef();
\r
3704 \x14\x03Af1Beschreibung
\r
3706 Ist in der Instanz eine Referenz eingetragen, wird diese zur�ckgegeben.
\r
3708 \x14\x03Af1Return-Werte
\r
3710 Es wird der Identifier der Referenz zur�ckgeliefert.
\r
3712 \x14\x03Af1Anmerkungen
\r
3714 Der zur�ckgelieferte Identifier kann ung�ltig sein. Das ist der Fall, wenn keine Referenz besteht.
\r
3716 \x14\x03Af1Querverweise
\r
3718 Klassen: RscTop, RscId.
\r
3719 Methode: IsId(), SetDefault().
\r
3721 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3723 \f\x14\x03Au0
\x02RscInst::IsDefault()
\x02\r
3725 \x14\x03AliBOOL RscInst::IsDefault( HASHID nVarName );
\r
3727 \x14\x03Af1Beschreibung
\r
3729 Stellt fest ob die genannte Variable noch die Defaulteinstellung besitzt.
\r
3731 \x14\x03Af1Parameter
\r
3733 \x14\x03AfpnVarName
\x04\x19ist der Name der Variablen.
\r
3735 \x14\x03Af1Return-Werte
\r
3737 \x14\x03AfpTRUE
\x04\x1dbedeutet, die Variable hat die Defaulteinstellung.
\r
3738 FALSE
\x04\x1cbedeutet, sie wurde ver„ndert.
\r
3740 \x14\x03Af1Querverweise
\r
3742 Methoden: SetDefault().
\r
3744 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3746 \x14\x03Au0
\x02RscInst::IsConsistent()
\x02\r
3748 \x14\x03AliBOOL RscInst::IsConsistent( RscInconsList * pList );
\r
3750 \x14\x03Af1Beschreibung
\r
3752 Die Methode �berpr�ft ob diese Instanz noch konsistent ist.
\r
3754 \x14\x03Af1Parameter
\r
3756 \x14\x03AfppList
\x04\x1cEine Liste die mit den RscId-Objekten gef�llt wird, die
3757 \x04"Inkonsistenzen hervorrufen. pList darf Null sein.
\r
3759 \x14\x03Af1Return-Werte
\r
3761 \x14\x03AfpTRUE
\x04\x1dbedeutet die Instanz ist konsistent.
\r
3762 FALSE
\x04\x1cbedeutet die Instanz ist inkonsistent.
\r
3764 \x14\x03Af1Anmerkungen
\r
3766 Ein RscId-Objekt kann aus Objekten zusammengesetzt sein, die global ver„ndert werden k”nnen.
3767 Nach einer solchen Ver„nderung muá die Konsistenz �berpr�ft werden.
\r
3769 \x14\x03Af1Querverweise
\r
3771 Klassen: RscId, RscHrc, RscFileTab.
\r
3772 Mehtoden: RscDataBase::MakeConsistent(), RscTop::IsConsistent().
\r
3774 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3776 \x14\x03Au0
\x02RscInst::GetClassEnum()
\x02\r
3778 \f\x14\x03AliHASHID RscInst::GetClassEnum( USHORT nPos );
\r
3780 \x14\x03Af1Beschreibung
\r
3782 Diese Methode liefert den Namen der Konstanten zur�ck, die in einem Aufz„hlungstyp an der Position
3783 nPos definiert ist.
\r
3785 \x14\x03Af1Parameter
\r
3787 \x14\x03AfpnPos
\x04\x1dPosition der Konstante.
\r
3789 \x14\x03Af1Return-Werte
\r
3791 \x14\x03AfpHASH_NONAME
\x04\x16Dieser Wert wird zur�ckgeliefert, wenn der Variablentyp kein
3792 \x04"Aufz„hlungstyp war oder wenn nPos >= der Anzahl der
3794 \x14\x03AgaSonst wird der Name der Konstanten zur�ckgeliefert.
\r
3796 \x14\x03Af1Beispiel
\r
3798 Das Beispiel zeigt wie die Namen eine Aufz„hlungstypen ermittelt werden k”nnen.
\r
3799 \x14\x03AgaVariable ist ein Aufz„hlungstyp mit den Werten COL_WHITE, COL_RED und COL_BLACK. Die
3800 Konstanten haben die Name "White", "Red", "Black".
\r
3801 Der Variablenname ist "Predefined".
\r
3802 Die Klasse, in der diese Variable definiert ist, heiát "Color".
\r
3804 HASHID nConstName;
\r
3806 RscInst aColorInst;
\r
3810 nVarName = HashId( "Predefined" ); //Variablennamen setzen
\r
3811 // pCmpEd ist eine Compiler-Instanz
\r
3812 aColorInst = pCmpEd->CreateRscInst(
\r
3813 pCmpEd->GetClassType( HashId( "Color" ) ) );
\r
3814 if( aColorInst.IsInst() ){ //Instanz wurde erzeugt
\r
3815 \x04\x03aConst = aColorInst.GetVar( nVarName );
\r
3817 \x04\x03nConstName = aConst.GetClassEnum( i );
\r
3818 \x04\x03while( HASH_NONAME != nConstName ){
\r
3819 \x04\x03 \x04\x03printf( "%s\n", GetHashString( nConstName ) );
\r
3820 \x04\x03 \x04\x03i++;
\r
3821 \x04\x03 \x04\x03nConstName = aConst.GetClassEnum( i );
\r
3829 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3831 \x14\x03Au0
\x02RscInst::GetTypeClass()
\x02\r
3833 \x14\x03AliRscTop * RscInst::GetTypeClass();
\r
3835 \x14\x03Af1Beschreibung
\r
3837 Diese Methode liefert den Typ der Instanz zur�ck.
\r
3839 \x14\x03Af1Return-Werte
\r
3841 Der Typ der Instanz wird zur�ckgeliefert.
\r
3843 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3845 \x14\x03Au0
\x02RscInst::GetClassName()
\x02\r
3847 \x14\x03AliHASHID RscInst::GetClassName();
\r
3849 \x14\x03Af1Beschreibung
\r
3851 Diese Methode liefert den Namen einer Klasse.
\r
3853 \x14\x03Af1Return-Werte
\r
3855 \x14\x03AfpHASH_NONAME
\x04\x16Dieser Wert wird zur�ckgeliefert, wenn die Klasse keinen Namen
3857 \x14\x03AgaAnsonsten wird der Name der Klasse zur�ckgeliefert.
\r
3859 \x14\x03Af1Beispiel
\r
3860 \x14\x03AgaDiese Funktion gibt zu einer Instanz den Klassennamen aus.
\r
3862 \x14\x03Alivoid PrintClassName( RscInst & rInst ){
\r
3863 // rInst, Instanz deren Klassenname ausgegeben werden soll
\r
3864 HASHID nClassName;
\r
3866 nClassName = rInst.GetClassName(); // Klassenname holen
\r
3867 if( HASH_NONAME == nClassName )
\r
3868 \x04\x03printf( "Kein Klassenname\n" );
\r
3870 \x04\x03printf( "%s\n", GetHashString( nClassName ) );
\r
3873 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3875 \x14\x03Au0
\x02RscInst::WriteRc()
\x02\r
3877 \x14\x03AliERRTYPE RscInst::WriteRc( RscWriteRc & aMem );
\r
3879 \x14\x03Af1Beschreibung
\r
3881 Diese Methode erzeugt eine Resource im StarView Resourceformat. Mit dieser Resource kann der
3882 Resourcekonstruktor der entsprechenden Klasse gerufen werden.
\r
3884 \x14\x03Af1Parameter
\r
3886 \x14\x03AfpaMem
\x04\x1dist die Instanz, die die Resourcedaten enth„lt.
\r
3888 \x14\x03Af1Return-Werte
\r
3890 \x14\x03AfpERRTYPE.IsOk()
\x04\x13bedeutet, daá in aMem eine korrekte Resource steht.
\r
3891 \fanderer Wert
\x04\x15bedeutet, das Format ist nicht korrekt.
\r
3893 \x14\x03Af1Ausnahmen
\r
3895 Die System abh„ngigen Resourcen Icon, Bitmap und Pointer werden nicht vollst„ndig geschrieben.
3896 Um einen Programmfehler zu vermeiden, m�ssen die StarView-Klassen entsprechend abgesichert sein.
\r
3898 \x14\x03Af1Anmerkungen
\r
3900 Die Referenzen m�ssen zum Zeitpunkt von WriteRc aufgel”st werden k”nnen. K”nnen sie nicht
3901 aufgel”st werden, werden die Daten der Instanz benutzt, in der die Referenz angegeben ist.
\r
3903 \x14\x03Af1Querverweise
\r
3905 Klassen: RscWriteRc, ERRTYPE.
\r
3907 \x14\x03Af1Beispiel
\r
3909 \x14\x03AliRscInst aColor;
\r
3910 RscTop* pColorType;
\r
3913 // Farbinstanz erzeugen
\r
3914 aColor = aCmpInst.CreateColor( pColorType );
\r
3915 // Farbe auf Gelb setzten
\r
3916 \x14\x03AliaColor.SetConst( HashId( "Predefined" ),
\r
3917 HashId( "COL_YELLOW" ) );
\r
3920 if( aColor.WriteRc( aMem ).IsOk() ){
\r
3921 aSvColor = Color( RscId( aMem.GetRes() ) );
\r
3926 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
3927 \f\x14\x03Au0
\x14\x02PA
\x01\x02RscInstCopy
\x02\x01\r
3929 \x14\x03Aliclass RscInstCopy {
\r
3932 RscInstCopy( const RscInstCopy & rInst );
\r
3933 RscInstCopy( const RscInst & rInst );
\r
3934 RscInstCopy( RSCINST aTmpI );
\r
3935 RscInstCopy( RscTop * pNewType,
\r
3936 const RscInst & rInst );
\r
3937 RscInstCopy& operator = (const RscInstCopy & rRscInst);
\r
3938 RscInstCopy& operator = ( const RscInst & rRscInst );
\r
3942 \x14\x03Af1Beschreibung
\r
3944 Mit Hilfe dieser Klasse wird eine Kopie einer Resourceinstanz angefertigt. Die Kopie enth„lt keine
3945 Referenz in die Datenbasis. Es kann somit auch nicht zu einem Fehler kommen, wenn eine
3946 Resourceinstanz in der Datenbasis gel”scht wird. Solch ein Fehler kann bei einer Instanz der Klasse
3947 RscInst auftreten.
\r
3949 \x14\x03Af1Anmerkung
\r
3951 Alle Makros die in der Datenbasis ge„ndert werden, „ndern sich auch in dieser Instanz. Mit der
3952 Methode IsConsistent() kann diese Instanz auf Konsistenz �berpr�ft werden.
\r
3954 \x14\x03Af1Querverweise
\r
3956 Klassen: RscDataBase, RscHrc, RscSrc, RSCINST, RscTop, RscId.
\r
3958 \x14\x03Af1Beispiel
\r
3959 \x14\x03AgaDas Beispiel zeigt, wie der Wert einer Variablen ge„ndert wird
\r
3961 RscInstCopy aWindow;
\r
3962 RscInstCopy aBorder;
\r
3963 RscTop* pWindowType;
\r
3965 // Typ des Klasse Window
\r
3966 pWindowType = aDataBase.GetClassType( HashId( "Window" ) );
\r
3967 // Exemplar der Klasse Window erzeugen
\r
3968 aWindow = aCompilerInst.CreateRscInst( pWindowType );
\r
3969 // Exemplar mit Namen "Border" holen
\r
3970 aBorder = aWindow.GetVar( HashId( "Border" ) );
\r
3971 // Wert auf TRUE setzen
\r
3972 aBorder.SetBool( TRUE );
\r
3973 // wieder in aWindow einsetzen
\r
3974 aWindow.SetVar( HashId( "Border" ), aBorder );
\r
3977 \f\x14\x03Au0
\x14\x02PA
\x02RscInstCopy::RscInstCopy()
\x02\r
3979 \x14\x03AliRscInstCopy::RscInstCopy();
\r
3980 RscInstCopy::RscInstCopy( const RscInst & rInst );
\r
3981 RscInstCopy::RscInstCopy( const RscInstCopy & rInst );
\r
3982 RscInstCopy::RscInstCopy( RSCINST aTmpI );
\r
3983 RscInstCopy::RscInstCopy( RscTop * pNewType,
\r
3984 const RscInst & rInst );
\r
3986 \x14\x03Af1Beschreibung
\r
3988 Im Konstruktor wird eine Instanz erzeugt oder kopiert.
\r
3990 \x14\x03Af1Parameter
\r
3992 \x14\x03AfprInst
\x04\x1cist die Instanz, die kopiert wird.
\r
3993 aTmpI
\x04\x1cAus dieser Instanz wird eine RscInstCopy erzeugt.
\r
3994 pNewType
\x04\x19Wenn dieser Konstruktor verwendet wird, wird eine Instanz mit
3995 \x04"Typ pNewType erzeugt. Alle Daten ab der ersten gemeinsamen
3996 \x04"Oberklasse von rInst und pNewType werden �bernommen.
\r
3998 \x14\x03Af1Querverweise
\r
4000 Klassen: RSCINST, ERRTYPE.
\r
4001 Methoden: IsInst(), GetClassType().
\r
4003 \x14\x03Af1Beispiel
\r
4004 \x14\x03AgaEs wird gezeigt wie aus einer Button-Instanz eine Edit-Instanz erzeugt wird.
\r
4006 \x14\x03AliRscInstCopy aButton;
\r
4007 RscInstCopy aEdit;
\r
4008 RscTop * pEditType =
\r
4009 aDataBase.GetClassType( HashId( "Edit" ) );
\r
4010 //Voraussetzung: In aButton ist g�ltige Button-Instanz
\r
4011 //Erzeuge Edit-Instanz
\r
4012 aEdit = RscInstCopy( pEditType, aButton );
\r
4014 Alle Daten oberhalb von der Klasse Control wurden nach aEdit kopiert.
\r
4016 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
4018 \x14\x03Au0
\x02RscInstCopy::operator = ()
\x02\r
4020 \x14\x03AliRscInstCopy & RscInstCopy::operator =
\r
4021 ( const RscInst & rInst );
\r
4022 RscInstCopy & RscInstCopy::operator =
\r
4023 ( const RscInstCopy & rInst );
\r
4025 \x14\x03Af1Beschreibung
\r
4027 Es werden die Daten von rInst in die Instanzdaten kopiert.
\r
4029 \x14\x03Af1Parameter
\r
4031 \x14\x03AfprInst
\x04\x1cIntanz von dem die Daten �bernommen werden.
\r
4033 \x14\x03Af1Return-Werte
\r
4035 \fEs wird die eigene Instanz zur�ckgeliefert.
\r
4037 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
4040 \x14\x03Au0
\x02RscInstCopy::~RscInstCopy()
\x02\r
4042 \x14\x03AliRscInstCopy::~RscInstCopy();
\r
4044 \x14\x03Af1Beschreibung
\r
4046 Die Daten in der Instanz werden gel”scht.
\r
4048 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
4050 \f\x14\x03Ssv
\x0f\x05\x05\x0f\x05\x03\x14\x02PA
\r
4051 \x14\x03Au0
\x01Stichwortverzeichnis
\x01\r
4054 RscDataBase
\x04\x1f6
\r
4055 RscDataBase::AddHrcFile()
\x04\x1011
\r
4056 RscDataBase::AddSrcFile()
\x04\x1010
\r
4057 RscDataBase::FindDef()
\x04\x1312
\r
4058 RscDataBase::GetClassType()
\x04\x0f7
\r
4059 RscDataBase::GetFileKey()
\x04\x1012
\r
4060 RscDataBase::GetFileStruct()
\x04\x0e9
\r
4061 RscDataBase::GetFileTab()
\x04\x119
\r
4062 RscDataBase::GetPathList()
\x04\x0f10
\r
4063 RscDataBase::MakeConsistent()
\x04\r8
\r
4064 RscDataBase::RemoveFile()
\x04\x1012
\r
4065 RscDataBase::RscDataBase()
\x04\x107
\r
4066 RscDataBase::ScanForIncFiles()
\x04\v11
\r
4068 RscHrc::ChangeDef()
\x04\x1620
\r
4069 RscHrc::ChangeDefName()
\x04\x1222
\r
4070 RscHrc::DeleteDef()
\x04\x1621
\r
4071 RscHrc::FindDef()
\x04\x1819
\r
4072 RscHrc::GetDefineList()
\x04\x1218
\r
4073 RscHrc::GetDependList()
\x04\x1223
\r
4074 RscHrc::GetFileKey()
\x04\x1516
\r
4075 RscHrc::GetFileName()
\x04\x1418
\r
4076 RscHrc::GetFileStruct()
\x04\x1222
\r
4077 RscHrc::GetPathName()
\x04\x1417
\r
4078 RscHrc::InsertDepend()
\x04\x1318
\r
4079 RscHrc::IsDefUsed()
\x04\x1621
\r
4080 RscHrc::IsDirty()
\x04\x1816
\r
4081 RscHrc::NewDef()
\x04\x1919
\r
4082 RscHrc::ReadFile()
\x04\x1715
\r
4083 RscHrc::RscHrc()
\x04\x1915
\r
4084 RscHrc::SetDirty()
\x04\x1716
\r
4085 RscHrc::SetFileName()
\x04\x1417
\r
4086 RscHrc::SetPathName()
\x04\x1417
\r
4087 RscHrc::WriteFile()
\x04\x1623
\r
4088 RscHrc::~RscHrc()
\x04\x1815
\r
4090 RscInst::DeleteElement()
\x04\x1138
\r
4091 RscInst::DeletePosEle()
\x04\x1239
\r
4092 RscInst::GetBool()
\x04\x1744
\r
4093 RscInst::GetClassEnum()
\x04\x1246
\r
4094 \aRscInst::GetClassName()
\x04\x1248
\r
4095 RscInst::GetConst()
\x04\x1644
\r
4096 RscInst::GetCount()
\x04\x1636
\r
4097 RscInst::GetElement()
\x04\x1437
\r
4098 RscInst::GetInfoEle()
\x04\x1436
\r
4099 RscInst::GetNumber()
\x04\x1544
\r
4100 RscInst::GetPosEle()
\x04\x1537
\r
4101 RscInst::GetRef()
\x04\x1845
\r
4102 RscInst::GetString()
\x04\x1545
\r
4103 RscInst::GetTypeClass()
\x04\x1247
\r
4104 RscInst::GetVar()
\x04\x1843
\r
4105 RscInst::IsConsistent()
\x04\x1246
\r
4106 RscInst::IsDefault()
\x04\x1546
\r
4107 RscInst::IsInst()
\x04\x1834
\r
4108 RscInst::MovePosEle()
\x04\x1438
\r
4109 RscInst::operator = ()
\x04\x1333
\r
4110 RscInst::OverWrite()
\x04\x1534
\r
4111 RscInst::RscInst()
\x04\x1733
\r
4112 RscInst::SetBool()
\x04\x1740
\r
4113 RscInst::SetConst()
\x04\x1639
\r
4114 RscInst::SetDefault()
\x04\x1443
\r
4115 RscInst::SetElement()
\x04\x1434
\r
4116 RscInst::SetNumber()
\x04\x1541
\r
4117 RscInst::SetPosEle()
\x04\x1535
\r
4118 RscInst::SetPosRscId()
\x04\x1335
\r
4119 RscInst::SetRef()
\x04\x1842
\r
4120 RscInst::SetString()
\x04\x1541
\r
4121 RscInst::SetVar()
\x04\x1839
\r
4122 RscInst::WriteRc()
\x04\x1748
\r
4123 RscInst::~RscInst()
\x04\x1633
\r
4124 RscInstCopy
\x04\x1e50
\r
4125 RscInstCopy::operator = ()
\x04\x0f51
\r
4126 RscInstCopy::RscInstCopy()
\x04\x0f51
\r
4127 RscInstCopy::~RscInstCopy()
\x04\x0e52
\r
4129 RscSrc::CreateRscInst()
\x04\x1226
\r
4130 RscSrc::DeleteRscInst()
\x04\x1227
\r
4131 RscSrc::FillNameIdList()
\x04\x1129
\r
4132 RscSrc::GetRscInst()
\x04\x1528
\r
4133 RscSrc::RscSrc()
\x04\x1926
\r
4134 RscSrc::SetRscInst()
\x04\x1527
\r
4135 RscSrc::Write...File()
\x04\x1330
\r