IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Delphi - Einführung in das Arbeiten mit Ressourcedateien in Borland Delphi



Einführung in das Arbeiten mit Ressourcedateien in Borland Delphi

Ressourcedateien bieten eine praktische Möglichkeit, Multimediadateien in ihre Delphidateien so in ihre Programme einzubinden, dass sie in der EXE ihres Programms enthalten sind und nicht mehr extern mitgeliefert werden müssen.


Autor: P. Wagner (maggifex)
Datum: 07-01-2004, 22:06:23
Referenzen: keine
Schwierigkeit: Anfänger
Ansichten: 6846x
Rating: 9 (2x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung

Dieser Artikel zeigt, wie sie Video, Audio oder andere Dateien mit Hilfe von Ressourcedateien in ihre Delphiprogramme einbauen können. Ressourcedateien haben den Vorteil, dass die in ihnen enthaltenen Dateien direkt in die EXE-Dateien ihres Programms kompiliert werden. Diese wird somit vollkommen unabhängig von irgendwelchen externen Dateien. Das ganze lässt sich einfach an einem Beispiel veranschaulichen.

Sie schreiben ein Programm, dass beim Programmstart eine bestimmte Melodie abspielt. Wenn sie die Melodie als externe Datei mitliefern, kommt es zu einem Fehler, wenn der Benutzer sie verschiebt oder löscht. Kompilieren sie die Datei aber direkt in die EXE, so ist diese Fehlerquelle ausgeschlossen. Das gleiche gilt natürlich auch für Bilder oder Videos.
Das erstellen einer Ressourcedatei ist relativ einfach. Hier eine Schritt für Schritt Anleitung:
  1. Öffnen sie eine neue Datei mit einem Texteditor (Notepad) schreiben sie dann folgendes in die Datei:

    "Lindenstrasse RCDATA Lindenstrasse.avi"

    Dieser Befehl gilt für Videos und Audiodateien. Wenn sie andere Ressourcen in Ihr Programm mit einbinden wollen funktioniert das wie folgt:

    Cursor: "CursorName Cursor Dateiname.cur"
    Icons: "IconName Icon Dateiname.ico"

    Lindenstrasse ist der Name, unter dem sie später auf den Film zugreifen können, Lindenstrasse.avi der Pfad, unter dem die Datei auf ihrer Festplatte gespeichert ist.

  2. Speichern sie die Datei als nächstes mit der Endung .rc auf ihrer Festplatte ab. (Es bietet sich an, die RC-Datei im gleichen Verzeichnis abzuspeichern, in dem sich auch die Ausgangsdatei befindet.)

  3. Öffnen sie nun die Windows- (oder um niemanden zu diskriminieren auch Linux-) Eingabeaufforderung und geben sie dann den folgenden Befehl ein.

    BRC32 -r meinedatei.rc

  4. Siehe da, im gleichen Verzeichnis, in dem sich die "meinedatei.rc" befindet, taucht nun auf wundersame Art und Weise eine "meinedatei.res" auf. Sie sind nun der stolze Besitzer einer eigenen Ressourcendatei! (Die "lindenstrasse.avi" wurde vom Compiler in die meinedatei.res gepackt.)

  5. Öffnen sie nun ein neues Projekt in Delphi und binden sie dann in dieses ihre mit dem Befehl "" in ihr Projekt ein. (Sie müssen diesen Ausdruck im Kopf ihres Projekts unter "implementation" einfügen!)
Sie können nun unter dem Namen, den sie ihrem Video zuvor gegeben haben (im Beispiel "Lindenstrasse") darauf zugreifen. Probieren sie's einfach auf. Öffnen sie ein neues Projekt, ziehen sie eine Animate (diese Komponente findet sich unter Win32 - das Symbol mit der Lupe!) auf und einen Button auf ihr Formular und fügen sie beim Ereignis onClick den folgenden Quelltext ein.
procedure TForm1.Button1Click(Sender: TObject);
begin

     Aminate1.ResName := 'Lindenstrasse';
     Animate1.Play;

end;
Nun müsste ihr Video eigentlich abgespielt werden. Es ist direkt in die EXE hineinkompiliert worden. Sie müssen es also nicht mehr als externe Datei mit ihrem Programm mitliefern.


bjd
Rookie
Beitrag vom:
18-07-2006, 20:38:36

Load?

Ich verwende D4 SE und die Prozedure Load benötigt da etwas mehr Parameter!
Ausserdem meldet mir das TAnimate, wenn ich Open oder Active := True aufrufe, dass das avi nicht geöffnet werden kann.
Manuell über FileName geht' s wunderbar.

-----------------------------------------------------


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04511
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06248
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0