![]() |
neue Programmdatei erstellen
Hey Ho
Ich schreibe grade ein Programm, in das der User seine Daten eingibt und dann bei Klick auf einen Button soll eine weitere EXE-Datei erstellt werden, die einen vorgefertigten Code hat, wo aber noch die Angaben des Users eingefügt werden sollen. Ist sowas möglich? |
Re: neue Programmdatei erstellen
Dazu müsstest du einen Compiler mit ausliefern. Du kannst aber das Programm so schreiben, dass es die Angaben aus einer externen Datei zieht.
|
Re: neue Programmdatei erstellen
Alles ist möglich.
Du schreibst die Daten einfach mit den entsprechenden befehlen an das Ende der Exe. Oder wartest hier noch zehn Minuten auf eine fertige Lösung ;) |
Re: neue Programmdatei erstellen
Zitat:
Wenn das Programm seine "eigene Dateigrösse" kennt müsste man die Daten dann doch auslesen können. Oder? Natürlich nur wenn es sich dabei nicht um Programmcode handelt. |
Re: neue Programmdatei erstellen
@Sharky: Das geht, es gibt sogar eine Anleitung im Delphi-Treff dazu. Ich sehe aber ehrlich gesagt keine Vorteile zu Ressourcen. Dort gibt es immerhin eine dokumentierte API (UpdateResource).
|
Re: neue Programmdatei erstellen
|
Re: neue Programmdatei erstellen
Ich habe noch nicht so große Erfahrungen in Delphi mit anderen Dateien gemacht, wie z.B. einige Zeilen in eine txt schreiben und später wieder auslesen, obwohl ich das manchmal bräuchte, und deswegen wär ich ganz froh, wenn einer nen kleinen Code für mich hat. Die Daten müssen unbedingt in ner exe sein, da ich halt auf Knopfdruck ein neues Programm mit Teils von mir eingegebem Code teils vom User eingegebem Text erstellen möchte.
|
Re: neue Programmdatei erstellen
was unterscheidet das "erstellte" Programm zu dem existierenden? nur die vom Benutzer eingegebenen Daten?
darf es keine 2.Datei geben? warum? prinzipiell kannst du z.b. eine ini erstellen und diese beim Programmstart automatisch laden. es gibt zwar massig codebeispiele hier im forum, aber ich bin ja nicht so...
Delphi-Quellcode:
HTH Frank
uses ...,inifiles;
var ini:TIniFile; //speichern ini:=TIniFile.create(extractFilePath(ParmStr(0)+'dateiname.ini'); ini.writestring('Abschnitt','String-Eintrag',edit1.text); ini.writeBool('Abschnitt','Boolean-Eintrag',checkbox1.checked); ini.writeinteger('Abschnitt','Integer-Eintrag',StrToInt(edit2.text)); ini.free; //laden ini:=TIniFile.create(extractFilePath(ParmStr(0)+'dateiname.ini'); edit1.text:=ini.readstring('Abschnitt','String-Eintrag',''); checkbox1.checked:=ini.readBool('Abschnitt','Boolean-Eintrag',false); edit2.text:=IntToStr(ini.readinteger('Abschnitt','Integer-Eintrag',0)); ini.free; |
Re: neue Programmdatei erstellen
Mit Ressourcen sieht es ähnlich aus: Dein Schablonen-Programm zieht die Daten aus einer Ressource. Du kompilierst es einmal mit leerer Ressource und bindest dann das Kompilat in dein anderes Programm ein, entweder als eigene Datei oder als Ressource mit Typ RT_RCDATA. Wenn du dann die Echse mit den Benutzerdaten haben willst, kopierst/entpackst du deine Schablone und fügst ihr mit BeginUpdateResource, UpdateResource und EndUpdateResource die richtigen Daten an.
|
Re: neue Programmdatei erstellen
Es muss ein eigenständiges Programm sein, man erstellt sozusagen sein eigenes Programm und dann soll man die neue EXE aber verschieben und verschicken können, so dass andere User das neue Programm öffnen können. Jetzt klarer geworden?
@ Apollonius: Ich weiß jetzt nicht so genau was du damit meinst^^ Also ich würd einen Code wirklich bevorzugen, als das alles (wovon ich keine Ahnung hab) irgendwie selbst zusammenschreiben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 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-2025 by Thomas Breitkreuz