Difference between revisions of "Ressourcefile/de"
Line 28: | Line 28: | ||
DRITTES ICON "blume.ico" | DRITTES ICON "blume.ico" | ||
VIERTES ICON "baeume.ico" | VIERTES ICON "baeume.ico" | ||
+ | HINTERGRUND BITMAP "Hintergrund.bmp" | ||
<br> | <br> | ||
Vergessen Sie das Speichern der Datei nicht.<br> | Vergessen Sie das Speichern der Datei nicht.<br> | ||
Line 78: | Line 79: | ||
=Verwenden der Ressource im eigenen Programmcode= | =Verwenden der Ressource im eigenen Programmcode= | ||
+ | <br> | ||
+ | ==Verwenden eines Icons== | ||
<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> | ||
Line 84: | Line 87: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Mit dieser Vorgehensweise kann das Programm während der Programmlaufzeit beliebig oft ein anderes Icon anzeigen.<br> | Mit dieser Vorgehensweise kann das Programm während der Programmlaufzeit beliebig oft ein anderes Icon anzeigen.<br> | ||
+ | <br> | ||
+ | ==Verwenden einer Bitmap== | ||
+ | <br> | ||
+ | Im Beispiel wird die Bitmap Hintergrund.bmp über seinen Alias HINTERGRUND einem TImage als Bild zugewiesen.<br> | ||
+ | <syntaxhighlight> | ||
+ | ... | ||
+ | |||
+ | var | ||
+ | // deklarieren der Hilfsvariable | ||
+ | Bmp: TBitmap; | ||
+ | begin | ||
+ | |||
+ | ... | ||
+ | |||
+ | // erstellt die Hilfsvariable | ||
+ | Bmp := TBitmap.Create; | ||
+ | |||
+ | try | ||
+ | // weist der Hilfsvariablen die Recource zu | ||
+ | Bmp.LoadFromResourceName(HInstance, 'HINTERGRUND'); | ||
+ | // weist den Inhalt der Hilfsvariablen dem Image zu | ||
+ | Form1.Image1.Picture.Assign(Bmp); | ||
+ | finally | ||
+ | // Freigabe der Hilfsvariable | ||
+ | FreeAndNil(Bmp); | ||
+ | end; | ||
+ | |||
+ | ... | ||
+ | |||
+ | end; | ||
+ | </syntaxhighlight> | ||
+ | Mit dieser Vorgehensweise kann das Programm während der Programmlaufzeit beliebig oft ein anderes Bild anzeigen.<br> | ||
<br> | <br> | ||
<br> | <br> | ||
--[[User:Olaf|Olaf]] 09:38, 16 February 2013 (UTC) | --[[User:Olaf|Olaf]] 09:38, 16 February 2013 (UTC) | ||
[[Category:Tutorials/de]]{{AutoCategory}} | [[Category:Tutorials/de]]{{AutoCategory}} |
Revision as of 13:11, 15 March 2013
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" HINTERGRUND BITMAP "Hintergrund.bmp"
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 Ressourcendatei 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
Verwenden eines Icons
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.
Verwenden einer Bitmap
Im Beispiel wird die Bitmap Hintergrund.bmp über seinen Alias HINTERGRUND einem TImage als Bild zugewiesen.
...
var
// deklarieren der Hilfsvariable
Bmp: TBitmap;
begin
...
// erstellt die Hilfsvariable
Bmp := TBitmap.Create;
try
// weist der Hilfsvariablen die Recource zu
Bmp.LoadFromResourceName(HInstance, 'HINTERGRUND');
// weist den Inhalt der Hilfsvariablen dem Image zu
Form1.Image1.Picture.Assign(Bmp);
finally
// Freigabe der Hilfsvariable
FreeAndNil(Bmp);
end;
...
end;
Mit dieser Vorgehensweise kann das Programm während der Programmlaufzeit beliebig oft ein anderes Bild anzeigen.
--Olaf 09:38, 16 February 2013 (UTC)