#1 12. Februar 2010 [Delphi] Dateien im Projekt "einbinden" hi, ich hab dazu bis jetzt nichts hilfreiches gefunden... gibt es eine möglichkeit eine oder mehrere dateien im delphi-projekt "einzubinden"? dh. man hat eine kleine anwendung die man mit in das delphi projekt packt und wenn sie gebraucht wird dann entpackt man sie sozusagen und kann dann auf sie zugreifen. in meinem fall würde ich sie dann mit einer batchdatei ansteuern die ich mich delphi erzeuge. also sollte die "entpackte" anwendung im gleichen ordner erscheinen wie die delphi-anwendung. gibts es sowas in der art?^^ + Multi-Zitat Zitieren
#2 12. Februar 2010 AW: [Delphi] Dateien im Projekt "einbinden" Inside the (Delphi) EXE - Storing Resource (WAV, MP3, ) into Delphi Executables - Create .RC/.RES google delphi resources.. + Multi-Zitat Zitieren
#3 12. Februar 2010 Zuletzt von einem Moderator bearbeitet: 15. April 2017 AW: [Delphi] Dateien im Projekt "einbinden" Du kannst Daten als Ressourcen in deine Anwendung mit "einpacken" und anschliessend mit "Delphi"-Befehlen benutzen. Um Benutzerdefinierte-Daten als Ressourcen zu benutzen wirst du um die WinAPI nicht drum herum kommen. Hier wurde schon bereits ein Tutorial gepostet wie du in Delphi Daten als Resourcen mit in die Anwendung packen kannst. Zusätzlich bzw. Nachträglich kannst du auch Daten mit dem Resource Hacker in die Anwendung packen. Hier noch ein Link zur WinAPI mit allen benötigten Funktionen die du zum Auslesen dafür brauchst: Functions Mfg Rushh0ur + Multi-Zitat Zitieren
#4 12. Februar 2010 Zuletzt von einem Moderator bearbeitet: 15. April 2017 AW: [Delphi] Dateien im Projekt "einbinden" ok thx hab mir ma das tut angeguckt aber aber was für einen dateityp nehme ich bei einer anwendung? ich habs mit "EXECUTABLE" versucht aber da hat er mir nen fehler ausgegeben. + Multi-Zitat Zitieren
#5 12. Februar 2010 AW: [Delphi] Dateien im Projekt "einbinden" Hab jetzt leider kein RES- Compiler installiert mit dem ich das Prüfen könnte aber ich glaube Benutzerdefinierte Typen müssen ebenfalls in Anführungszeichen gesetzt werden: APP "EXE" "Dateipfad" Vodefinerte Typen findest du hier die werden halt nicht in Anführungszeichen angegeben: Resource-Definition Statements (Windows) (könnte man ins Tutorial übernehmen) Ich schau mal ob ich nen RES-Compiler finde, dann kann ich es dir genau sagen. //Edit: Ne doch nicht benutz die BRCC32.EXE mit der geht es bei mir. PS: Es ist im Prinzip egal was es für ein Typ ist, wenn du die Daten extrahierst, musst du sowieso eine neue Datei anlegen und die Daten in diese reinschreiben, dabei kannst du die Dateiendung ja festlegen. Mfg Rushh0ur + Multi-Zitat Zitieren
#6 12. Februar 2010 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [Delphi] Dateien im Projekt "einbinden" ok thx, ich hab mri jetzt auch nen res compiler geladen udn damit ging es auch. ich habe jetzt also die res datei und und hab sie auch schon in delphi eingebunden aus dem tut das dreamax gepostet hat hab ich folgendes genommen: Code: procedure TForm1.Button2Click(Sender: TObject) ; var rStream: TResourceStream; fStream: TFileStream; fname: string; begin fname := ExtractFileDir(Paramstr(0))+'deveject.exe'; rStream := TResourceStream.Create(hInstance, 'deveject', RT_RCDATA) ; try fStream := TFileStream.Create(fname, fmCreate) ; try fStream.CopyFrom(rStream, 0) ; finally fStream.Free; end; finally rStream.Free; end; end; ungefähr so siehts jetzt bei mir im code aus. ich kriege aber immer diesen fehler: + Multi-Zitat Zitieren
#7 13. Februar 2010 AW: [Delphi] Dateien im Projekt "einbinden" ok so hats jetzt geklappt: Code: FUNCTION tform1.DateiExtrahiertOderExistiert(ResTyp, ResName, ResZielName : STRING) : BOOLEAN; VAR Res : TResourceStream; BEGIN IF NOT FileExists(ResZielName) THEN BEGIN Res := TResourceStream.Create(Hinstance, ResName, PChar(ResTyp)); TRY Res.SavetoFile(ResZielName); IF FileExists(ResZielName) THEN Result := True ELSE Result := False; FINALLY Res.Free; END; END ELSE Result := True; END; procedure TForm1.Button1Click(Sender: TObject); BEGIN IF DateiExtrahiertOderExistiert('EXEFILE', 'deveject', ExtractFilePath(ParamStr(0)) + 'deveject.exe') THEN BEGIN Application.ProcessMessages; END; END; + Multi-Zitat Zitieren
#8 13. Februar 2010 AW: [Delphi] Dateien im Projekt "einbinden" //Edit: Ok, zu Spät ^^ Code: fname := ExtractFileDir(Paramstr(0))+'[B]\[/B]myapp.exe'; rStream := TResourceStream.Create(hInstance, [B]'MYAPP',[/B] [B]'DEINTYP'[/B]) ; Die RC Datei hast du nehme ich mal an richtig erstellt und die RES-Datei richtig eingebunden: Mfg Rushh0ur + Multi-Zitat Zitieren