![]() |
Mit dspack avi aus resource abspielen
Hallo,
ist es möglich mit dspack ein AVI aus resource abzuspielen? Ich möchte die AVI Datei in der EXE haben und nicht extern. Grüsse, Surfer007 |
AW: Mit dspack avi aus resource abspielen
Hi,
versuch bitte mal folgendes: Zitat:
(in dem Beispiel heißen deine Filme "filmname1.avi" und "filmname2.avi" Erstelle eine Textdatei Schreibe folgendes rein: film1 AVI "filmname1.avi" film2 AVI "filmname2.avi" Speichere dieses Textdokument als "files.rc" Erstelle eine weitere Textdatei Schreib folgendes rein: BRCC32.exe files.rc @pause Speichere dieses Texdokument als "erstellen.bat" Starte die "erstellen.bat" durch Doppelklick - sie erzeugt die Datei "files.res" Dann in deinem Delphi-Programm eine Variable erstellen
Delphi-Quellcode:
var
Form1: TForm1; <- die hast du ja schon !!! exepfad:String; // <-- die ist neu In deinem Delphi Programm unter "implementation" kommt NACH dem obligatorichen {$R *.dfm} ;-) hinzu:
Delphi-Quellcode:
{$R files.res}
Dann noch einige proceduren:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin exepfad:=extractfilepath(application.ExeName); Res2Temp; ...
Delphi-Quellcode:
procedure Res2Temp;
VAR RS: TCustomMemoryStream; S : STRING; BEGIN try forcedirectories(exepfad+'\temp_files'); S := 'film1'; {Name der Resource} TRY RS := TResourceStream.Create(hInstance, S, 'AVI'); RS.SavetoFile(exepfad+'\temp_files\filmname1.avi'); FINALLY RS.Free; END; S := 'film2'; {Name der Resource} TRY RS := TResourceStream.Create(hInstance, S, 'AVI'); RS.SavetoFile(exepfad+'\temp_files\filmname2.avi'); FINALLY RS.Free; END; except begin Showmessage('Sie haben nicht die erforderlichen Rechte,'+#13+#10+ 'um meine Filme lokal zu entpacken'+#13+#10+ ''+#13+#10+ 'Melden sie sich bitte als Administrator an,'+#13+#10+ 'oder gehen sie einfach ins nächste Kino'); end; end; END; Somit sollten deine Filme nach Programmstart unter exepfad+'\temp_files\ liegen, wo du sie starten kannst. Abschließend wieder löschen nicht vergessen ;-)
Delphi-Quellcode:
function DelDir(dir: string): Boolean;
var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_DELETE; fFlags := FOF_SILENT or FOF_NOCONFIRMATION; pFrom := PChar(dir + #0); end; Result := (0 = ShFileOperation(fos)); end;
Delphi-Quellcode:
HTH Erich
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin DelDir(exepfad+'\temp_files'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz