Das Programm erzeugt aus bestehenden Dateien eine
Ressourcen-Datei.
Die Compiler von Delphi und C++, beide von Borland/Inprise,
erlauben zwar das Einbinden von zusätzlichen Ressourcen, bieten
für das Erstellen letztgenannter aber keine Unterstützung.
Der ResourceWorkshop, der mit Borland C++ ausgeliefert wird/wurde, ist
der geeignete Editor für diesen Zweck, doch ist mir leider nicht
bekannt, wie ich ihn von der Kommandozeile aus nutzen kann, um
größere Ressourcen-Dateien während einer
Programmentwicklung auf dem jeweils aktuellen Stand zu halten.
Meine Lösung dieses Problems, das während der
Entwicklung des Kartenspiels Mau Mau auftauchte, ist MakeRes.
Das Programm liest eine Datei, in der die zu verarbeitenden
Dateien aufgeführt sind, und erzeugt daraus in einem ersten
Schritt
eine RC-Datei (Ressourcen-Datei in Form einer Textdatei).
In einem zweiten Schritt wird der Ressourcen-Compiler von Borland
aufgerufen, und diese Datei zu compilieren.
Das Ergebnis ist dann die gewünschte RES-Datei, die sich mit (*$R
datei.res*) in den Quelltext aufnehmen läßt.
Im Eingabefeld "BRCC" werden automatisch Pfad und Name des
Ressourcen-Compilers von Borland eingetragen.
Grundlage dafür sind die in der Registry registrierten
Verknüpfungen für Projektdateien des jeweils installierten
Compilers.
Fehlen solche Einträge, bleibt das Feld leer. In diesem Fall wird
nur die RC-Datei erzeugt.
Natürlich besteht die Möglichkeit, einen anderen
Ressourcen-Compiler anzugeben, der als Parameter den Namen einer
RC-Datei akzeptiert.
Das Eingabefeld "Datei-Liste" nimmt den Namen (mit und ohne
Pfad) einer Datei auf, in die die zu verarbeitenden Dateien aufgelistet
sind. Über den Knopf "Liste Suchen" erspart man sich die Eingabe
von Hand.
Mit dem Knopf "Umsetzung starten" nimmt das Programm seine
Arbeit auf.
Im unteren Fenster wird protokolliert, was passiert. Hier sollte man
(natürlich) insbesondere auf Fehlermeldungen achten.
Bedauerlicherweise erzeugt BRCC32 keine Fehler, die hier aufgefangen
werden könnten. Wenn also keine RES-Datei existiert, obwohl
MakeRES
das behauptet, dann hat sich BRCC32 verschluckt.
zum Seitenanfang
Jede Zeile besteht aus drei durch Leerzeichen getrennten
Angaben:
- dem Ressourcen-Typ,
- dem zu verwendendem Ressourcen-Namen,
- dem Namen der Datei, die eingebunden werden soll.
Ausnahmen:
Der für den Typ STRINGTABLE angegebene Ressourcen-Name wird
interpretiert als die erste zu benutzende Nummer für die Strings
in
der Tabelle, und ist deshalb eine Zahl.
Ein Eintrag LANGUAGE wird direkt übernommen.
Beispiel:
LANGUAGE LANG_GERMAN,SUBLANG_GERMAN
STRINGTABLE 500 liesmich.txt
DIALOG DLG dialog.dlg
BITMAP BILD4 kopf9.bmp
zum Seitenanfang
Bei den Ressource-Typen ACCELERATORS, DIALOG, MENU und
VERSIONINFO wird unterstellt, daß die jeweilige Datei bereits als
RC-Datei bzw. DLG-Ressourcen-Script vorliegt. Sie wird einfach 1:1
übernommen. Der gespeicherte Name wird allerdings gegen den
ausgetauscht, der in der Datei-Liste angegeben ist.
Eine als STRINGTABLE zu übernehmende Datei enthält
lediglich die Texte. Jeder Text steht in einer eigenen Zeile.
Alle anderen Typen, also BITMAP, CURSOR, ICON, MESSAGETABLE,
RCDATA und benutzerdefinierte, werden als Binärdaten interpretiert.
Dies ist übrigens der Zweck, für den ich das Programm
überhaupt entworfen habe. Der Rest ist nur der
Vollständigkeit
halber mit dabei.
zum Seitenanfang
MakeRes ist Freeware.
Laden und Starten auf eigene Gefahr. Der Autor garantiert nicht,
daß das Programm ordnungsgemäß oder auch nur
überhaupt funktioniert.
Das Programm benötigt einen installierten Ressourcen-Compiler.
Es wurde bislang nur unter Win95 betrieben.
Zur Zeit ist keine Dokumentation außer diesem Text und den
mitgelieferten Beispielen verfügbar.
zum Seitenanfang
ResourceWorkshop kann (jedenfalls bei mir) zwar RC-Dateien
mit
einer LANGUAGE-Zeile lesen, aber nur, solange es keine Änderungen
in diese Datei zurückgeschrieben hat!
zum Seitenanfang
Für dieses Programm wird keinerlei
Gewährleistung übernommen.
Auch wenn der Autor davon ausgeht, daß das Programm keine
gravierenden Fehler enthält und sogar funktioniert,
läßt
er sich nicht dafür verantwortlich machen, daß das das
Programm vielleicht nicht oder nicht so arbeitet, wie der Anwender es
erwartet. Egal ob es den Computer zum Absturz bringt, Datenträger
zerstört oder dem Computer andere schädliche Dinge antut -
dies ist allein das Problem des Anwenders. Der Autor haftet nicht
für irgendwelche Verstöße gegenüber Rechten
Dritter als Folge des Gebrauchs dieses Programms.
Der Autor haftet ebenfalls in keinem Fall für Schäden
jeglicher Art, insbesondere nicht für Vermögensschäden,
Sachschäden, entstandene Verbindlichkeiten gegenüber Dritten
und Schäden, die aus Fehlfunktionen des Programms oder aufgrund
von
Bedienungsfehlern entstehen. Dies beinhaltet - ist aber nicht
beschränkt auf - jede Form der Unterbrechung eines Services,
Geschäftsverluste, Folgeschäden oder andere Nachteile, die
aus
der Benutzung des Programms entstehen.
Der Anwender akzeptiert mit der Benutzung des Programms diese
Bedingungen.
In Staaten, in dieser Haftungsausschluß ganz oder teilweise nicht
gilt, darf das Programm nicht benutzt werden.
zum Seitenanfang
|