AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi eine belibige datei in ein prog einbinden
Thema durchsuchen
Ansicht
Themen-Optionen

eine belibige datei in ein prog einbinden

Ein Thema von NikoMitDaMacht · begonnen am 30. Apr 2004 · letzter Beitrag vom 1. Mai 2004
Antwort Antwort
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#1

eine belibige datei in ein prog einbinden

  Alt 30. Apr 2004, 20:47
servus. ich weiss das man sounds, bitmaps und icons in ein
programm einbinden kann, geht das auch mit einer belibigen datei und wenn
kann man sie dann "Extrahieren"?
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: eine belibige datei in ein prog einbinden

  Alt 30. Apr 2004, 20:54
Ja und ja.

Kuck dir dazu mal meinen Crypter2_7 an: http://www.luckie-online.de/Ablage/Alt/ Da habe ich eine DLL alös Ressource einmgebunden, die zur Laufzeit extrahiert wird.

Willst du eine VCL Lösung zum Extrahieren, kuck dir mal die Klasse TResourceStream in der Hilfe an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von City Light
City Light

Registriert seit: 17. Sep 2002
314 Beiträge
 
#3

Re: eine belibige datei in ein prog einbinden

  Alt 30. Apr 2004, 21:53
Suchst du vielleicht das hier...
Delphi-Quellcode:
// Getestet mit D4 unter WinME

// Um eine andere EXE (oder DLL, oder..oder..) als Ressource in das eigene
// Programm einzubinden, muss man logischerweise zunächst eine Ressource
// erzeugen. Dazu kann man sich ein kleines Zusatzprogramm schreiben, welches
// das automatisch erledigt:

uses shellapi;

// Bedingung ist, dass die BRCC32.EXE im Path zu finden ist,
// sonst muss der qualifizierte Name angegeben werden,
// z.B.: C:\Programme\Borland\Delphi4\Bin\brcc32.exe
function res_erzeugen(exe,flr:string):integer;
var
tf:tfilestream;
s:string;
begin
s:='TEST RCDATA '+exe;
tf:=tfilestream.create(flr+'exe.rc',fmcreate);
tf.writebuffer(s[1],length(s));
tf.free;
result:=shellexecute(application.handle,'open',
'brcc32.exe',pchar(flr+'exe.rc'),pchar(flr),sw_hide);
end;

// Aufruf zur Verarbeitung der Beispieldatei "uhr.exe". Die Ressource
// wird im selben Folder wie das aufrufende Programm gespeichert.
procedure TForm1.Button1Click(Sender: TObject);
var NameDerExe:string;
begin
NameDerExe:='d:\uhr.exe'; // oder 'test.dll' oder..oder..
if res_erzeugen(NameDerExe,extractfilepath(application.exename))<=32
then showmessage('Fehler aufgetreten');
end;

// Nachdem die Ressource namens "EXE.RES" erzeugt wurde, kann sie in andere
// Programme eingebunden werden.
// Siehe auch AVI-Resourcen mit Mediaplayer abspielen

...
implementation

{$R *.DFM}
{$R EXE.RES}

uses shellapi;

procedure TForm1.Button1Click(Sender: TObject);
var
tr:TResourcestream;
NeueDatei:string;
begin
NeueDatei:='uhr.exe';
tr:=tresourcestream.create(hinstance,'TEST',RT_RCDATA);
tr.savetofile(NeueDatei);
tr.free;
// falls es sich z.B. um EXE handelt, kann diese dann gleich gestartet werden
shellexecute(handle,'open',pchar(NeueDatei),nil,nil,sw_shownormal);
end;
Bis bald man liest sich
Tino
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: eine belibige datei in ein prog einbinden

  Alt 1. Mai 2004, 13:02
Das läuft so auf deinem System, bzw. auf Systemen mit installierten Delphi. Aber was ist auf anderen Systemen? Willst du da sagen: "Kaufen sie sich bitte Delphi, damit sie mein Programm benutzen können."?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: eine belibige datei in ein prog einbinden

  Alt 1. Mai 2004, 15:16
Zitat von Luckie:
Das läuft so auf deinem System, bzw. auf Systemen mit installierten Delphi. Aber was ist auf anderen Systemen? Willst du da sagen: "Kaufen sie sich bitte Delphi, damit sie mein Programm benutzen können."?
@Luckie: Wenn ich das richtig sehe sind das da oben 2 "Programme"
Nummer 1 ist dafür da um mit der Datei eine RES zu erzeugen.
Nummer 2 ist ein Beispiel wie mann die "Datei" dann wieder auslesen kann.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: eine belibige datei in ein prog einbinden

  Alt 1. Mai 2004, 20:06
Danke City Lite das hat soweit geklappt doch die *.res erzeugen mit extractfilepath(application.exename) also
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var NameDerExe:string;
begin
NameDerExe:='d:\uhr.exe'; // oder 'test.dll' oder..oder..
if res_erzeugen(NameDerExe,extractfilepath(application.exename))<=32
then showmessage('Fehler aufgetreten');
end;
geht nich ich musste es mit einen leeren string machen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var NameDerExe:string;
begin
NameDerExe:='d:\uhr.exe'; // oder 'test.dll' oder..oder..
if res_erzeugen(NameDerExe,'')<=32
then showmessage('Fehler aufgetreten');
end;
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: eine belibige datei in ein prog einbinden

  Alt 1. Mai 2004, 21:30
Ähhm... kann man diese datei auch direkt aus dem programm starten (ohne erst aus der resource zu kopieren)
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: eine belibige datei in ein prog einbinden

  Alt 1. Mai 2004, 21:47
#Auf NT Systemen wäre es möglich, aber nicht auf Windows 9x Systemen. Aber, glaub mir, das was du für NT SDysteme dazu machen müstest, willst du nicht wirklich machen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: eine belibige datei in ein prog einbinden

  Alt 1. Mai 2004, 21:53
OK wenn du es sagst dann vertrau ich dir (kanns mir vorstellen)
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz