AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

.exe erstellen

Ein Thema von any_key · begonnen am 20. Sep 2006 · letzter Beitrag vom 21. Sep 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#11

Re: .exe erstellen

  Alt 20. Sep 2006, 18:49
Naja, möglich ist so etwa immer. Und etwas wie einen Trainer kann man auch per Exe + Ressource mit Konfiguration bauen. Man hat also seine Exe, an der hängt als resource die Trainer-exe dran. dann baut man in der exe seine oberfläche und seine befehle zusammen. das programm macht daraus einen konfigurationsdatensatz und hängt an die trainer-exe das dran und speichert das ganze auf platte.

Die trainer-exe muss jetzt nur noch die konfiguration interpretieren - et voila: man hat eine exe generiert.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von joel93
joel93

Registriert seit: 15. Jun 2006
Ort: Lennestadt
139 Beiträge
 
Delphi 7 Professional
 
#12

Re: .exe erstellen

  Alt 20. Sep 2006, 18:55
Zitat von DGL-luke:
Naja, möglich ist so etwa immer. Und etwas wie einen Trainer kann man auch per Exe + Ressource mit Konfiguration bauen. Man hat also seine Exe, an der hängt als resource die Trainer-exe dran. dann baut man in der exe seine oberfläche und seine befehle zusammen. das programm macht daraus einen konfigurationsdatensatz und hängt an die trainer-exe das dran und speichert das ganze auf platte.

Die trainer-exe muss jetzt nur noch die konfiguration interpretieren - et voila: man hat eine exe generiert.
Ich will dich nich mit Arbeit zupampen, aber ich glaub son pa unkennende wie ich (und nochn pa andere) und der schlaue (kann sein ) any key brauchen nen quellcode oder so was 'annährerendes', Ich brauch das zwa nich, aber es interesiert glaub i viele...
Joel
http://g3dbef.funpic.de/ubar/ubarani.gif
(\_/)
(o.o) Copy Bunny into your signature
(> <) to help him on his way to world domination.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#13

Re: .exe erstellen

  Alt 20. Sep 2006, 19:04
Im Grunde genommen kann man jede EXE-Datei beliebig vergrößern, indem man diese in einen Stream läd, dann ein paar Daten an den Stream dranhängt (z.B. deine Zahl) und dann diesen Stream wieder speichert. Die exe-Datei ist dann ein bischen größer, läuft aber m.W. nach immer noch. Diese "vergrößerte" EXE-Datei kann sich nun selber in einem Stream öffenen, an die Stelle mit den Daten springen und diese angehängten Daten auslesen und anzeigen.

Was du also machen musst, sind zwei Programme schreiben. Programm1 ist das Anzeigeprogramm, dem die Daten angehängt werden. Programm2 bietet die Eingabe einer Zahl, läd das (fertige) Programm1 in einen Stream, hängt die Daten an das Ende des Streams und speichert es unter einem anderen Dateinamen (Programm3.exe) ab. Schwupp, da hast du ein Programm, welches individuelle Daten beinhaltet.


Gerd
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#14

Re: .exe erstellen

  Alt 20. Sep 2006, 19:30
es gibt hier bei freeware oder Open Source ein programm, das Exe-Diashows erstellt... musst halt mal sehen, ob ihr da den source ansehen kannst.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
any_key

Registriert seit: 7. Okt 2005
96 Beiträge
 
Delphi 7 Personal
 
#15

Re: .exe erstellen

  Alt 20. Sep 2006, 19:56
ich hab mal gesucht aber nur das gefunden http://www.delphipraxis.net/internal...&highlight=dia und dort wird keine neue .exe erstellt
aber mir ist eben noch eine andere idee gekommen
man könnte doch einfach eine datei in den ordner der datei speichern
dann überprüft das programm ob die datei vorhanden ist
wenn ja dann kann man die einstellungen vornehmen
und wenn nicht dann halt eben nicht....
das einzige problem was dann noch da wäre das man die sachen ja in der datei selbst speicher müsste...
  Mit Zitat antworten Zitat
Benutzerbild von MuTzE.Y85
MuTzE.Y85

Registriert seit: 11. Apr 2006
152 Beiträge
 
#16

Re: .exe erstellen

  Alt 20. Sep 2006, 20:09
Ich werd dir mal helfen, wenns sonst keiner kann/will!

Hier haste nen Beispiel wie man das realisieren kann.
Kann sein, dass der Code Fehler hat, hab grad kein Delphi drauf, sonder nur den Texteditor.

Also der Code macht im Grunde folgendes:
Er kopiert ein EXE und hängt eine Configdatei an die EXE, in welcher die zu speichernden Werte stehn.
Er kann diese Werte wieder auslesen und dann ist es ja möglich von vorne zu beginnen.
Ich hab es mal für einen EditServer benutzt und schnell etwas umgeschrieben.

PS: Um irgendetwas von einer EXE laden zu können musst du sie natürlich vorher bearbeitet haben. Es wäre also sinnvoll die EXE nach dem kompilieren zu bearbeiten, damit sie sich selbst weiter verarbeiten kann.


Hier zum Code:

Delphi-Quellcode:
uses
  IniFiles;



function CreateConfigFile: TStrings;
var
 ConfigFile: TStrings;
begin
 ConfigFile := TStringList.Create;
 ConfigFile.Add('ZAHL=');
 // usw. ConfigFile.Add('WEITERE_INFO=');

 Result := ConfigFile;
 //ConfigFile.Destroy;
end;

function TMainFrm.PrepareConfigFile: TStrings;
var
 ConfigFile: TStrings;
begin
 ConfigFile := TStringList.Create;
 ConfigFile.AddStrings(CreateConfigFile);

 ConfigFile.Strings[0] := ConfigFile.Strings[0] + Edit1.Text;
 // usq. ConfigFile.Strings[1] := ConfigFile.Strings[1] + 'Info 2';

 Result := ConfigFile;
end;

function TMainFrm.PrepareServer(aFileName, aNewFileName: String; aConfigFileText: TStrings): Boolean;
var
 OrigFile, ConfigFile, NewFile: TFileStream;
 ConfigFileText: TStrings;
 OrigFileSize, ConfigFileSize: Integer;
begin
 NewFile := TFileStream.Create(aNewFileName, fmOpenWrite);
 OrigFileSize := SelfSize;
 NewFile.Seek(OrigFileSize, soFromBeginning);
 SetEndOfFile(NewFile.Handle);

 //ConfigFile als Text öffnen und aus den Infos ein neues erstellen
 ConfigFileText := TStringList.Create;
 ConfigFileText.Assign(aConfigFileText);

 //ConfigFile an den Server anhängen
 ConfigFileText.Insert(0, 'SELF=' + IntToStr(OrigFileSize));
 ConfigFileText.SaveToFile(ExtractFilePath(aNewServerName) + 'TempFile.conf');
 ConfigFileText.Free;
 ConfigFile := TFileStream.Create(ExtractFilePath(aNewFileName) + 'TempFile.conf', fmOpenRead);
 ConfigFileSize := ConfigFile.Size;
 NewFile.CopyFrom(ConfigFile, 0);
 NewFile.Write(ConfigFileSize, 4);
 ConfigFile.Free;
 NewFile.Free;
 DeleteFile(ExtractFilePath(aNewFileName) + 'TempFile.conf');

 Result := True;
end;

function TMainFrm.LoadConfigFile(aFileName: String; Loaded: Boolean): Boolean;
var
 aFile, ConfigFile: TFileStream;
 ConfigFileText: TStrings;
 ConfigFileSize: Integer;
 TempStr: String;
begin
 aFile := TFileStream.Create(aServerName, fmShareExclusive);

 ConfigFile := TFileStream.Create('File.conf', fmCreate);
 aFile.Seek(-4, soFromEnd);
 aFile.Read(ConfigFileSize, 4);
 aFile.Seek(-4 - ConfigFileSize, soFromEnd);
 ConfigFile.CopyFrom(aFile, ConfigFileSize);
 ConfigFile.Free;
 aFile.Free;

 ConfigFileText := TStringList.Create;
 ConfigFileText.LoadFromFile('File.conf');
 DeleteFile('File.conf');

 if Pos('SELF=', ConfigFileText[0]) > 0 then
  begin
   TempStr := ConfigFileText[0];
   Delete(TempStr, Pos('SELF=', TempStr), 5);
   SelfSize := StrToInt(TempStr);
  end;
 ConfigFileText.Delete(0);

 // Daten auslesen
 Edit1.Text := Copy(ConfigFileText[0], 4, Length(ConfigFileText[0]));
 ConfigFileText.Delete(0);

 // usw.


 ConfigFileText.Free;

 Result := True;
end;

Viel Spass damit! Ich denke das sollte als Hilfe reichen!
  Mit Zitat antworten Zitat
Benutzerbild von MuTzE.Y85
MuTzE.Y85

Registriert seit: 11. Apr 2006
152 Beiträge
 
#17

Re: .exe erstellen

  Alt 20. Sep 2006, 20:12
Ähm, ja, die procedure muss natürlich "PrepareFile" heißen!
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: .exe erstellen

  Alt 20. Sep 2006, 20:32
Ist es möglich Ressourcen zur Laugzeit zu erstellen? Wenn ja ist es kein Problem dies zu tun!
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von MuTzE.Y85
MuTzE.Y85

Registriert seit: 11. Apr 2006
152 Beiträge
 
#19

Re: .exe erstellen

  Alt 20. Sep 2006, 20:33
Soll das jetz ne Frage sein oder?
  Mit Zitat antworten Zitat
any_key

Registriert seit: 7. Okt 2005
96 Beiträge
 
Delphi 7 Personal
 
#20

Re: .exe erstellen

  Alt 20. Sep 2006, 20:50
wow also wenn du das alles ohne automatismus geschrieben hast dann
ich werd mal versuchen es einzubauen....
//Edit
also irgendwie glaub ich mein delphi spinnt...
ich hab nen edit feld eingebaut das edit1 heißt
und wenn ich es dann compilieren will meckert er an der stelle mit edit1 rum und sagt das er es nicht kennt
auch an ne paar anderen stellen hat er gemeckert aber ich glaub das hab ich soweit im griff
kann mir vielleicht jemand sagen wie ich dann die datei erstelle? bring mir selber delphi bei und da ist das noch nicht vorgekommen...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 14:02 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