bei kleinen Sachen mache ich das über die Resource-Funktion, da bleiben die Dateien in der Anwendung erhalten, ohne dll
öffne Texteditor > Eingabe:
ResName1 ResTYPE1 ResFileName1
ResName2 ResTYPE2 ResFileName2
...
ResNameX ResTYPEX ResFileNameX
ResName1 = Name der Datei zum identifizieren bei Delphi
ResTYPE1 = Der Typ der Recource Datei: WAVE, AVI, RCDATA (geeignet für Bilder oder andere Dateien), CURSOR
ResFileName1 = komplette Pfad der zu einbindenden Datei
speichere den Text als (*.RC) Datei
öffne Resource Compiler BRC32.exe (C:\Programme\Borland\BDS\3.0\Bin) bzw. schiebe die (*.RC) Datei darüber
es wurde eine (*.RES) Datei erstellt
kopiere (*.RES) Datei zum Project Ordner in Eigene Dateien
(*.RES) Datei in Delphi verlinken:
Delphi-Quelltext
1: 2: 3:
| implementation {$R *.dfm} {$R Namer der Datei.RES} |
RESOURCE-DATEI aufrufen für Video:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); begin with Animate1 do begin ResName := 'ResName1'; ResHandle := hInstance; Active := TRUE; end; end; |
RESOURCE-DATEI aufrufen für WAVE:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| uses mmsystem; ... procedure TForm1.Button1Click(Sender: TObject); var hFind, hRes: THandle; Song: PChar; begin hFind:=FindResource(HInstance, 'ResName2', 'WAVE'); if hFind<>0 then begin hRes:=LoadResource(HInstance, hFind); if hRes<>0 then begin Song:=LockResource(hRes); if Assigned(Song) then SndPlaySound(Song, snd_ASync or snd_Memory); UnlockResource(hRes); end; FreeResource(hFind); end; end; |
RESOURCE-DATEI aufrufen für MP3:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.Button1Click(Sender: TObject); var rStream: TResourceStream; fStream: TFileStream; fname: string; begin
fname:=ExtractFileDir(Paramstr(0))+'Intro.mp3'; rStream := TResourceStream.Create (hInstance, 'Intro', RT_RCDATA); try fStream := TFileStream.Create(fname, fmCreate); try fStream.CopyFrom(rStream, 0); finally fStream.Free; end; finally rStream.Free; end;
MediaPlayer1.Close; MediaPlayer1.FileName:=fname; MediaPlayer1.Open; end; |
RESOURCE-DATEI aufrufen für CURSOR:
Delphi-Quelltext
1: 2: 3: 4: 5:
| const crMyCursor = 1; begin Screen.Cursors[crMyCursor] := LoadCursor(hInstance,PChar ('ResName vom Cursor')); Form1.Cursor := crMyCursor; end; |