Ressource (Software)
Die Ressourcen (engl. resource) einer Software sind die Dateien, die nicht den Ablauf (Algorithmus) des Programms festlegen, sondern das „Hintergrundwissen“ für den Ablauf speichern. Ressourcen sind beispielsweise Wörterbuch-Dateien bei Übersetzungsprogrammen oder die Listen der Namen und Eigenschaften der einzelnen Charaktere in Computerspielen. Bekanntestes Beispiel für eine Ressource ist das z. B. im Startmenü oder auf dem Desktop angezeigte Programmsymbol.
Während das eigentliche Computerprogramm in einer Programmiersprache geschrieben ist, sind Ressourcen meist einfache Grafiken, Textdateien oder Tabellen. Der Vorteil ist dabei, dass sie auch von Menschen ohne Programmierkenntnisse erweitert oder verändert werden können. So kann man beispielsweise Linguisten als Fachleute an einem Wörterbuch als Ressource für ein Übersetzungsprogramm arbeiten lassen, ohne dass sie viel über das eigentliche Programm wissen müssen.
Microsoft Windows
Identifikation einer Ressource
Innerhalb eines Programms werden Ressourcen über eine Kombination aus Typ, Kennung und Sprache (siehe Locale) eindeutig identifiziert. Hierbei handelt es sich jeweils um 16-Bit-Zahlen, wobei Typ und Kennung auch ein String sein können. Beim Typ stehen die Zahlen 1 bis 24 für Standardtypen:
- Cursor-Eintrag (in einer ganz bestimmten Auflösung und Farbtiefe)
- Bitmap
- Icon-Eintrag (in einer ganz bestimmten Auflösung und Farbtiefe)
- Menü (Einträge einer Menüleiste oder eines Kontextmenüs)
- Dialog (Entwurf eines Fensters)
- Strings (lokalisierbare Texte, 16 Stück pro Ressource)
- Schriftartenordner
- Schriftart (Schriftschnitt)
- Hotkeys
- RC Data (beliebige Daten)
- Nachrichtentabelle
- Cursor-Gruppe (Liste mit Verweisen auf Cursor-Einträge)
- nicht belegt
- Icon-Gruppe (Liste mit Verweisen auf Icon-Einträge)
- nicht belegt
- Versionsinfo (Metadaten mit Programmname, Hersteller, Copyright, Version usw., wird z. B. in den Eigenschaften der Programmdatei angezeigt)
- Dialog-Einbindung (z. B. Symbolleisten)
- nicht belegt
- Plug & Play
- VxD
- Animierter Cursor
- Animiertes Icon
- HTML
- Manifest (Metadaten für Theming und Benutzerkontensteuerung)
Programme machen in unterschiedlichem Umfang von den Möglichkeiten Gebrauch, da die Daten auch in externen Dateien oder im Quellcode abgelegt sein können. Soll eine Programmdatei ein Symbol haben, muss sie das Icon jedoch in Ressourcen enthalten (es wird die lexikografisch erste Icongruppe-Ressource verwendet). Der in der Versionsinfo-Ressource enthaltene Programm- bzw. Firmenname wird häufig in Sicherheitssoftware angezeigt. Diese beiden Typen sind daher in nahezu jeder PE-Datei enthalten.
Resource Code
Resource Code wird als Skriptsprache bei der Entwicklung von Programmen unter OS/2 und Windows dazu genutzt, Elemente der grafischen Benutzeroberfläche und Textkonstanten zu definieren. Dadurch kann eine Trennung zwischen Programmcode und Benutzerschnittstelle erreicht werden.
RC-Datei
Eine Ressourcendatei (resource script file) enthält einen oder mehrere Ressourcenausdrücke (resource statements), welche jeweils den Typ, Kennung und den Datenwert festlegen. Es handelt sich um eine gewöhnliche Textdatei mit der Endung .rc, wobei zusätzliche Dateien eingebunden werden können.
- Beispiel
MENU 1 BEGIN MENUITEM "Menüpunkt 1", 101 MENUITEM "Menüpunkt 2", 102 END
In diesem Fall wird ein Menü (Typ 4) mit der Kennung 1 mit zwei Menüeinträgen gespeichert.
Resourcecompiler
Der Ressourcencompiler übersetzt Ressourcendateien (.rc) in binäre Ressourcendateien (.res). Je nachdem, ob sie im nächsten Schritt PE- (32 oder 64 Bit) oder NE-Dateien (16 Bit) hinzugefügt werden sollen, haben .res-Dateien ein leicht anderes Dateiformat.
Weblinks und Quellen
- Using RC Compiler to Build Ressources (MSDN)
- Liste einiger Standard-Ressourcentypen (MSDN)
- Sprachen (Locales) einer Ressource
Mac OS
Siehe ResEdit.