Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi neue Programmdatei erstellen (https://www.delphipraxis.net/116153-neue-programmdatei-erstellen.html)

Jiro 24. Jun 2008 11:46


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?

mkinzler 24. Jun 2008 11:48

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.

Vjay 24. Jun 2008 11:50

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 ;)

Sharky 24. Jun 2008 11:50

Re: neue Programmdatei erstellen
 
Zitat:

Zitat von mkinzler
Dazu müsstest du einen Compiler mit ausliefern. Du kannst aber das Programm so schreiben, dass es die Angaben aus einer externen Datei zieht.

Ich bin da jetzt nicht so der Profi. Aber könnte man die Daten nicht "an die EXE anhängen".
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.

Apollonius 24. Jun 2008 11:53

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).

_frank_ 24. Jun 2008 11:58

Re: neue Programmdatei erstellen
 
was spricht gegen Hier im Forum suchenini,Hier im Forum suchenregistry,Hier im Forum suchenxml & co?
müssen die daten wirklich in der exe sein oder reicht eine zusätzliche Konfigurationsdatei?
damit würdest du dir viel Arbeit ersparen...

Gruß Frank

Jiro 24. Jun 2008 12:03

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.

_frank_ 24. Jun 2008 12:15

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:
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;
HTH Frank

Apollonius 24. Jun 2008 12:19

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.

Jiro 24. Jun 2008 12:21

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.

Sherlock 24. Jun 2008 13:18

Re: neue Programmdatei erstellen
 
Du möchtest also sowas wie einen Virus-Baukasten (nur zur Verdeutlichung, nicht als Angriff gemeint)?
Man klickt die Funktionalität zusammen, die das Endprodukt haben soll und fertig, richtig?

Sherlock

Luckie 24. Jun 2008 13:32

Re: neue Programmdatei erstellen
 
Desweiteren reagieren Virenscanner allergisch auf eine Größenänderung von Exe-Dateien, da dies im Allgemeinen ein Hinweis darauf ist, dass die Datei mit Schadcode infiziert wurde. auch ist der Aufwand so etwas zu realisieren nicht unerheblich. Hinzukommt dass du anscheinend auch noch nicht über den nötigen Wissensstand verfügst, dies umzusetzen. Du solltest dir eine andere Möglichkeit suchen, deine Exe-Dateien zu personalisieren. Mögliche Lösungen wurden dir schon genannt.

Jiro 24. Jun 2008 13:35

Re: neue Programmdatei erstellen
 
Ja, sherlock, so in der Art nur halt nicht mit Viren.
Und Luckie, die eigentliche EXE wird ja nicht verrößert, es soll ja nur eine 2. hinzugefügt werden.
Und wenn jemand sowas schonmal gemacht hat, kann er mir ja den Code geben, sonst muss ich das wohl lassen, dann ist allerdings die Hälfte des Programms sinnlos...

Luckie 24. Jun 2008 13:38

Re: neue Programmdatei erstellen
 
Zitat:

Zitat von Jiro
Und Luckie, die eigentliche EXE wird ja nicht verrößert, es soll ja nur eine 2. hinzugefügt werden.

Wenn etwas hinzugefügt wir, dann wird etwas anderes automatisch größer.

Zitat:

Und wenn jemand sowas schonmal gemacht hat, kann er mir ja den Code geben, sonst muss ich das wohl lassen, dann ist allerdings die Hälfte des Programms sinnlos...
Eventuell solltest du uns mal erklären, was du genau machen willst bzw. warum du das machen willst und was dein Programm überhaupt machen soll.

Jiro 24. Jun 2008 13:47

Re: neue Programmdatei erstellen
 
Ich weiß nicht wie ich das erklären soll :gruebel: und deswegen geb ich hier mal den Link zur 1. Beta bekannt (nicht drum kloppen, ihr bekommts alle :spin2: ). Inzwischen gibts zwar schon ne 2. aber da gibt es noch eine neue Funktion, die noch nicht so ganz klappt, das verwirrt nur.

http://niklas-nelson.de/programme/beta1.rar

Man soll halt diese Daten eintragen, um die selbst erstellte *sag ich nicht* später als EXE aufrufen zu können.

Sherlock 24. Jun 2008 13:50

Re: neue Programmdatei erstellen
 
Hihi, nicht böse sein...aber ne EXE mach ich nicht einfach so auf...schon gar nicht wenn im Thread das wort virus auftaucht :mrgreen: Selbst wenn ich selber das Wort eingebracht habe.

Edit: Mach halt Screenshots, oder so
Sherlock

Jiro 24. Jun 2008 13:53

Re: neue Programmdatei erstellen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Wie soll ich das Programm dann machen? Ein Delphi Programm ohne .exe?
Du hast ja das Wort Virus als Verdeutlichung gebraucht und ich habe gesagt, dass das Programm rein GAR NICHTS mit Viren zu tun hat.
Ich hafte für alle Probleme die mit dem Programm aufreten, wie z.B. Abstürze, was eigentlich nicht sein kann, habe es 100 Mal getestet...

Luckie 24. Jun 2008 14:00

Re: neue Programmdatei erstellen
 
Ein paar erklärende Worte wären schon nicht schlecht zu dem Screenshot. Was ist den nun Sinn und Zweck deines Programmes?

Jiro 24. Jun 2008 14:02

Re: neue Programmdatei erstellen
 
Man soll eine eigene Fehlermeldung zusammenklicken können um sie sich anzusehen und später als neue exe zu exportieren und an z.B. Fakes herzustellen :oops: oder sie an Freunde / Bekannte zu schicken, die sie dann sehen.

Sherlock 24. Jun 2008 14:23

Re: neue Programmdatei erstellen
 
Ein Spaßprogramm also, daß man vorkonfigurieren können soll.

Hmmm. Ich würde sagen, daß man das eventuell über Ressources lösen kann...wie vorher hier auch schon angeregt. So eine Messagebox hat ja eine fixe Anzahl Elemente.

Allerdings bin ich mir noch nicht ganz im klaren darüber, wie man die Ressources dann verändert. Aber vielleicht ist das ganze auch Einfach als zweigespann zu realisieren, eine Konfigurations.exe und eine Spass.exe, die verändert wird.


sherlock

Apollonius 24. Jun 2008 14:27

Re: neue Programmdatei erstellen
 
Zitat:

Allerdings bin ich mir noch nicht ganz im klaren darüber, wie man die Ressources dann verändert.
#9: MSDN-Library durchsuchenBeginUpdateResourceMSDN-Library durchsuchenUpdateResourceMSDN-Library durchsuchenEndUpdateResource
Ist ganz einfach.

Sherlock 24. Jun 2008 14:33

Re: neue Programmdatei erstellen
 
Und damit sollte alles erledigt sein...

Muss man vorher halt festlegen, welche Ressources es gibt, und einen entsprechenden Editor schreiben. Fertig.


Sherlock

Jiro 24. Jun 2008 14:58

Re: neue Programmdatei erstellen
 
Ok, dann lass ich das mit dem Programm lieber.
Ich habe noch nie irgendwas mit Ressourcen oder so gemacht, also wenn niemand nen Code hat, war die Arbeit halt umsonst.

Luckie 24. Jun 2008 15:02

Re: neue Programmdatei erstellen
 
Dann wäre das doch mal eine Möglichkeit sich damit zu beschäftigen oder?

Frankfurtoder 24. Jun 2008 15:03

Re: neue Programmdatei erstellen
 
Zitat:

Zitat von Jiro
Ok, dann lass ich das mit dem Programm lieber.
Ich habe noch nie irgendwas mit Ressourcen oder so gemacht, also wenn niemand nen Code hat, war die Arbeit halt umsonst.

Welche Arbeit? Du hast sicherlich nur ein paar Komponente auf eine Form gezogen ohne Code. Das ist keine Arbeit sondern spielerei. Dann kannst du hier nicht einfach nach fertigem Code für deine Form schreien. Finde ich m.E. sinnfrei. Komponente auf eine Form ziehen ist kein programmieren.

Jiro 24. Jun 2008 15:12

Re: neue Programmdatei erstellen
 
Vielleicht solltest du vorher fragen, was ich gemacht habe. Momentan sinds zwar nur 1000 Zeilen Code aber ich werds einfach mal versuchen, das mit den Ressourcen hinzubekommen

Sherlock 24. Jun 2008 15:17

Re: neue Programmdatei erstellen
 
Jiro, versuchs einfach mal. Die API-Funktionen sind ja auch in der Delphi-Hilfe zu finden. Beiß Dich durch. Dann wirst Du einer der wenigen Ressource-Kenner hier im Forum ;) Ausserdem ist der Weg das Ziel.

Sherlock

DelphiManiac 24. Jun 2008 15:53

Re: neue Programmdatei erstellen
 
@Jiro,

:dp:

ich würde dich bitten deine Screenshots anzhängen und nicht zuverlinken. Nichts ist ägerlicher,
wenn man ein Screenshot erwartet und ein schönes rotes Kreuz zugesicht bekommt, weil der Server (auf dem das Pic liegt)
down ist, oder schon gar nicht mehr existiert.

Danke!

Gruß
DM

Jiro 24. Jun 2008 16:10

Re: neue Programmdatei erstellen
 
Ok, werde ich machen, aber wie ich es sehe ist das Bild noch da, sonst muss ich mich mal Beschweren beim Provider wegen 99,9% Serververfügbarkeit :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 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