Difference between revisions of "Ressourcefile/de"

From Free Pascal wiki
Jump to navigationJump to search
m (typos)
Line 5: Line 5:
 
=Einleitung=
 
=Einleitung=
 
Dieser Abschnitt gehört zur Windowsprogrammierung.<br>
 
Dieser Abschnitt gehört zur Windowsprogrammierung.<br>
Dieser Artikel beschreibt die Erstellung und Verwendung von Recourcendateien speziell für die Programmierung unter Windows.<br>
+
Dieser Artikel beschreibt die Erstellung und Verwendung von Ressourcendateien speziell für die Programmierung unter Windows.<br>
 
Als Beispiel dient das Einfügen von mehreren Icons in das eigene Windowsprogramm.<br>
 
Als Beispiel dient das Einfügen von mehreren Icons in das eigene Windowsprogramm.<br>
Die Frage warum dient das Erstellen einer Icon-Recource als Beispiel ist schnell beantwortet.<br>
+
Die Frage: "Warum dient das Erstellen einer Icon-Recource als Beispiel?" ist schnell beantwortet.<br>
 
Das Beispiel mit den Icons lässt sich einfach und schnell nachvollziehen.<br>
 
Das Beispiel mit den Icons lässt sich einfach und schnell nachvollziehen.<br>
Anderere Recourcen sind zum Teil komplexer aufgebaut und eignen sich deswegen nicht als Beispiel.<br>
+
Andere Ressourcen sind zum Teil komplexer aufgebaut und eignen sich deswegen nicht als Beispiel.<br>
 
<br>
 
<br>
Eine Recourcendatei kann auf zwei Wegen eingebunden werden:<br>
+
Eine Ressourcendatei kann auf zwei Wege eingebunden werden:<br>
 
* als Textdatei (*.rc)
 
* als Textdatei (*.rc)
 
* vorcompiliert als Binärdatei (*.res)
 
* vorcompiliert als Binärdatei (*.res)
 
<br>
 
<br>
 
<br>
 
<br>
=Schritt 1: Erstellen der Recourcendatei als Textdatei=
+
=Schritt 1: Erstellen der Ressourcendatei als Textdatei=
 
Zu erst müssen Sie sich einige Icons erstellen oder beschaffen.<br>
 
Zu erst müssen Sie sich einige Icons erstellen oder beschaffen.<br>
Dann Erstellen Sich sich mit einem Texteditor (z. B. Notepad) eine Datei mit der Endung <b>.rc</b>.<br>
+
Dann erstellen Sie mit einem Texteditor (z. B. Notepad) eine Datei mit der Endung <b>.rc</b>.<br>
Die Recourcendatei muss die Dateiendung <b>.rc</b> haben.<br>
+
Die Ressourcendatei muss die Dateiendung <b>.rc</b> haben.<br>
Diese Recourcendatei öffnen sie im Texteditor.<br>
+
Diese Ressourcendatei öffnen Sie im Texteditor.<br>
In diese Recourcendatei tragen sie die Icons nach folgendem Schema ein:<br>
+
In diese Ressourcendatei tragen Sie die Icons nach folgendem Schema ein:<br>
[Der Name unter dem das Icon in Ihrem Programm verwendet werden soll] [Recourcentyp] [Name der einzubindenen Datei]<br>
+
[Der Name unter dem das Icon in Ihrem Programm verwendet werden soll] [Ressourcentyp] [Name der einzubindenden Datei]<br>
 
Beispiel für den Aufbau der Recourcendatei:<br>
 
Beispiel für den Aufbau der Recourcendatei:<br>
 
  MAINICON ICON "stern.ico"
 
  MAINICON ICON "stern.ico"
Line 34: Line 34:
 
<br>
 
<br>
  
=Möglichkeit 1: Verwenden der Recourcendatei als Textdatei=
+
=Möglichkeit 1: Verwenden der Ressourcendatei als Textdatei=
 
<br>
 
<br>
 
==Einbinden der Recourcendatei als Textdatei==
 
==Einbinden der Recourcendatei als Textdatei==
Die Recourcendatei (test.rc) wird mit der Compilerdirektive $R in das Programm eingebunden.<br>
+
Die Ressourcendatei (test.rc) wird mit der Compilerdirektive $R in das Programm eingebunden.<br>
 
<syntaxhighlight>
 
<syntaxhighlight>
 
unit ...;
 
unit ...;
Line 47: Line 47:
 
<br>
 
<br>
 
<br>
 
<br>
=Möglichkeit 2: Verwenden der Recourcendatei als Binärdatei=
+
=Möglichkeit 2: Verwenden der Ressourcendatei als Binärdatei=
 
<br>
 
<br>
Dies ist nur unter Windows 32 Bit möglich, da nur dort der Resourcen-Compiler windres.exe zum Lieferumfang gehört.<br>
+
Dies ist nur unter Windows 32 Bit möglich, da nur dort der Ressourcen-Compiler windres.exe zum Lieferumfang gehört.<br>
 
<br>
 
<br>
==Compilieren der Recourcendatei zur Binärdatei==
+
==Compilieren der Ressourcendatei zur Binärdatei==
 
<br>
 
<br>
 
Das Programm windres.exe gehört zum Lieferumfang von FreePascal.<br>
 
Das Programm windres.exe gehört zum Lieferumfang von FreePascal.<br>
Line 64: Line 64:
 
<br>
 
<br>
 
<br>
 
<br>
==Einbinden der Recourcendatei als Binärdatei==
+
==Einbinden der Ressourcendatei als Binärdatei==
Die compilierte Recourcendatei (test.res) wird mit der Compilerdirektive $R in das Programm eingebunden.<br>
+
Die compilierte Ressourcendatei (test.res) wird mit der Compilerdirektive $R in das Programm eingebunden.<br>
 
<syntaxhighlight>
 
<syntaxhighlight>
 
unit ...;
 
unit ...;
Line 76: Line 76:
 
<br>
 
<br>
  
=Verwenden der Recource im eigenen Programmcode=
+
=Verwenden der Ressource im eigenen Programmcode=
 
<br>
 
<br>
 
Im Beispiel wird das Icon haus.ico über seinen Alias ZWEITES dem Formular als Icon zugewiesen.<br>
 
Im Beispiel wird das Icon haus.ico über seinen Alias ZWEITES dem Formular als Icon zugewiesen.<br>

Revision as of 21:11, 27 February 2013

Template:Recourcefile


Einleitung

Dieser Abschnitt gehört zur Windowsprogrammierung.
Dieser Artikel beschreibt die Erstellung und Verwendung von Ressourcendateien speziell für die Programmierung unter Windows.
Als Beispiel dient das Einfügen von mehreren Icons in das eigene Windowsprogramm.
Die Frage: "Warum dient das Erstellen einer Icon-Recource als Beispiel?" ist schnell beantwortet.
Das Beispiel mit den Icons lässt sich einfach und schnell nachvollziehen.
Andere Ressourcen sind zum Teil komplexer aufgebaut und eignen sich deswegen nicht als Beispiel.

Eine Ressourcendatei kann auf zwei Wege eingebunden werden:

  • als Textdatei (*.rc)
  • vorcompiliert als Binärdatei (*.res)



Schritt 1: Erstellen der Ressourcendatei als Textdatei

Zu erst müssen Sie sich einige Icons erstellen oder beschaffen.
Dann erstellen Sie mit einem Texteditor (z. B. Notepad) eine Datei mit der Endung .rc.
Die Ressourcendatei muss die Dateiendung .rc haben.
Diese Ressourcendatei öffnen Sie im Texteditor.
In diese Ressourcendatei tragen Sie die Icons nach folgendem Schema ein:
[Der Name unter dem das Icon in Ihrem Programm verwendet werden soll] [Ressourcentyp] [Name der einzubindenden Datei]
Beispiel für den Aufbau der Recourcendatei:

MAINICON ICON "stern.ico"
ZWEITES ICON "haus.ico"
DRITTES ICON "blume.ico"
VIERTES ICON "baeume.ico"


Vergessen Sie das Speichern der Datei nicht.
In diesem Beispiel heisst die Datei test.rc.


Möglichkeit 1: Verwenden der Ressourcendatei als Textdatei


Einbinden der Recourcendatei als Textdatei

Die Ressourcendatei (test.rc) wird mit der Compilerdirektive $R in das Programm eingebunden.

unit ...;
{$mode objfpc}{$H+}
{$R test.rc}
...
interface



Möglichkeit 2: Verwenden der Ressourcendatei als Binärdatei


Dies ist nur unter Windows 32 Bit möglich, da nur dort der Ressourcen-Compiler windres.exe zum Lieferumfang gehört.

Compilieren der Ressourcendatei zur Binärdatei


Das Programm windres.exe gehört zum Lieferumfang von FreePascal.
Das Programm windres.exe ist ein Konsolenprogramm. Das heisst, das Programm windres hat keine grafische Oberfläche und wird an der Konsole bedient.
Das Programm windres.exe findet sich im Binärverzeichnis von Freepascal.
Das Programm windres.exe findet sich evtl. unter folgendem Pfad %ProgramFiles%\lazarus\fpc\2.6.0\bin\i386-win32.

Syntax:

windres -i [Eingabedatei] -o [Ausgabedatei]

Beispiel:

windres -i test.rc -o test.res



Einbinden der Ressourcendatei als Binärdatei

Die compilierte Ressourcendatei (test.res) wird mit der Compilerdirektive $R in das Programm eingebunden.

unit ...;
{$mode objfpc}{$H+}
{$R test.res}
...
interface



Verwenden der Ressource im eigenen Programmcode


Im Beispiel wird das Icon haus.ico über seinen Alias ZWEITES dem Formular als Icon zugewiesen.

Form1.Icon.LoadFromResourceName(hInstance,'ZWEITES');

Mit dieser Vorgehensweise kann das Programm während der Programmlaufzeit beliebig oft ein anderes Icon anzeigen.


--Olaf 09:38, 16 February 2013 (UTC)