Ressource (Software)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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[Bearbeiten | Quelltext bearbeiten]

Identifikation einer Ressource[Bearbeiten | Quelltext bearbeiten]

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:

  1. Cursor-Eintrag (in einer ganz bestimmten Auflösung und Farbtiefe)
  2. Bitmap
  3. Icon-Eintrag (in einer ganz bestimmten Auflösung und Farbtiefe)
  4. Menü (Einträge einer Menüleiste oder eines Kontextmenüs)
  5. Dialog (Entwurf eines Fensters)
  6. Strings (lokalisierbare Texte, 16 Stück pro Ressource)
  7. Schriftartenordner
  8. Schriftart (Schriftschnitt)
  9. Hotkeys
  10. RC Data (beliebige Daten)
  11. Nachrichtentabelle
  12. Cursor-Gruppe (Liste mit Verweisen auf Cursor-Einträge)
  13. nicht belegt
  14. Icon-Gruppe (Liste mit Verweisen auf Icon-Einträge)
  15. nicht belegt
  16. Versionsinfo (Metadaten mit Programmname, Hersteller, Copyright, Version usw., wird z. B. in den Eigenschaften der Programmdatei angezeigt)
  17. Dialog-Einbindung (z. B. Symbolleisten)
  18. nicht belegt
  19. Plug & Play
  20. VxD
  21. Animierter Cursor
  22. Animiertes Icon
  23. HTML
  24. 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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

Mac OS[Bearbeiten | Quelltext bearbeiten]

Siehe ResEdit.