Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi "Builder" für Konsolen-Anwendung ("program") - Var (https://www.delphipraxis.net/134815-builder-fuer-konsolen-anwendung-program-var.html)

erichbitch 29. Mai 2009 14:29


"Builder" für Konsolen-Anwendung ("program&qu
 
Hi Leute.
Ich habe vor kurzem ein Konsolenprogramm geschrieben.
Dieses Konsolenprogramm muss immer wieder mit neuen Variabeln kompiliert und gespeichert werden, ich habe jedoch keine Lust jedes mal im Quelltext rumzubasteln.

Daher meinte Frage:
Ich möchte eine ganz normale Formular-Anwendung mit 5 Edit-Feldern.
In diesen 5 Edit Feldern sollen dann die Variabeln stehen mit denen meine Konsolenanwendung neu kompiliert werden soll und an einem Ort gespeichert wird, den ich ihr über SaveDialog mitgeben.


Und jetzt kommt ihr ins Spiel:
Wie baue ich sozusagen einen "Builder", der mein Konsolenprogramm mit den mitgegebenen Variablen kompiliert und speichert?

Hoffe ihr könnt mir helfen.

MfG
Erich

wicht 29. Mai 2009 14:43

Re: "Builder" für Konsolen-Anwendung ("progra
 
Du kannst diese fünf Werte aus den Edit-Feldern z.B. mit TFileStream hinten an die Konsolenapplikation dranhängen.
Sobald diese ausgeführt wird, öffnet sie sich selber und ließt die Felder vom Ende der Datei aus.
Das geht vermutlich am einfachsten, eventuell könntest du es auch mit Resourcen lösen.
Die Daten direkt an die passende Stelle der Datei schreiben ist denke ich schwieriger und man müsste den "Builder" anpassen, wenn sich der Quelltext des Konsolenprogramms verändert hat.

divBy0 29. Mai 2009 14:44

Re: "Builder" für Konsolen-Anwendung ("progra
 
Du meinst, du erstellst über eine Formularanwendung den Quellcode für die Konsolenanwendung und den erstellten Quellcode möchtest du kompilieren?

Das ist mit der dcc32.exe in deinem Delphi-Ordner möglich.

wicht 29. Mai 2009 14:50

Re: "Builder" für Konsolen-Anwendung ("progra
 
Hm, meine Antwort war wohl nicht ganz treffend zur Fragestellung, ist schon zu spät für mich.
Jedenfalls hatte ich so vor einiger Zeit ein ähnliches Problem gelöst.

divBy0 29. Mai 2009 14:51

Re: "Builder" für Konsolen-Anwendung ("progra
 
Zitat:

Zitat von wicht
Hm, meine Antwort war wohl nicht ganz treffend zur Fragestellung, ist schon zu spät für mich.
Jedenfalls hatte ich so vor einiger Zeit ein ähnliches Problem gelöst.

Ich hab nur geraten, weil mir nicht so ganz klar ist was passieren soll. :-D

himitsu 29. Mai 2009 15:00

Re: "Builder" für Konsolen-Anwendung ("progra
 
du könntest dein Programm die Werte direkt in der dpr/pas ändern lassen (StringReplace, Pos, Copy und Co. helfen dabei.

oder eine Extradatei erstellen, wo nur die 5 Konstanten drinstehn
Delphi-Quellcode:
// deineDatei.inc

const konstante1 = 'abc';
  konstante2 = 345;
  ...
und diese Datei an passender Stelle per {$I deineDatei.inc} bzw. {$INCLUDE deineDatei.inc} in die dpr/pas einbinden

in beiden Fällen mußt du die Datei per dcc32 neu kompilieren


und zum Vorschlag von wicht:
dann eher die Daten per MSDN-Library durchsuchenUpdateResource in die exe einbauen und im Programm später nur noch per LoadResource unc Co. da rausholen.

p80286 29. Mai 2009 15:05

Re: "Builder" für Konsolen-Anwendung ("progra
 
Hallo Zusammen,

ich hab es so verstanden, das es 5 Werte gibt (Konstanten / Initialwerte für Variablen) die sich individuell für jeden Compilerlauf ändern.

So etwas könnte man über eine eingene Unit, eine Include-Datei,bedingte Kompilierung .... lösen.
5 Werte zu editieren ist doch wohl nicht DAS Problem?!

Ich glaube wir brauchen eine Glaskugel um heraus zu bekommen wo das eigentliche Problem steckt.

Gruß
K-H

edit:; Ich bin nicht schnell genug

erichbitch 29. Mai 2009 15:12

Re: "Builder" für Konsolen-Anwendung ("progra
 
Zitat:

Zitat von p80286
Hallo Zusammen,

ich hab es so verstanden, das es 5 Werte gibt (Konstanten / Initialwerte für Variablen) die sich individuell für jeden Compilerlauf ändern.

So etwas könnte man über eine eingene Unit, eine Include-Datei,bedingte Kompilierung .... lösen.
5 Werte zu editieren ist doch wohl nicht DAS Problem?!

Ich glaube wir brauchen eine Glaskugel um heraus zu bekommen wo das eigentliche Problem steckt.

Gruß
K-H

edit:; Ich bin nicht schnell genug

Hi Leute.
Ich beschreibe das Problem jetzt mal so genau wie möglich:

Ich habe ein fertiges Konsolenprogramm (program PData).
IN diesem PData-Programm befinden sich 5 Variabeln die sich immer ändern.

Ich habe jedoch keine Lust, jedes mal den Quelltest zu ändern, desshalb will ich folgendes Programmieren:
Ein Delphiprogramm mit Formblatt, auf dem sich 5 Edit-Felder befinden. Dann drückt man bei diesem Formblatt auf einen Button (z.B. "Build") und danach wird das Konsolenprogram (PData) neu kompiliert undzwar mit den 5 Variabeln, die ich im Formblatt eingetragen haben.


Hoffe es ist etwas verständlicher geworden ;)

divBy0 29. Mai 2009 15:30

Re: "Builder" für Konsolen-Anwendung ("progra
 
Sorry, aber :wiejetzt:

Was verstehst du denn unter ändern? Andere Initialwerte?

erichbitch 29. Mai 2009 15:49

Re: "Builder" für Konsolen-Anwendung ("progra
 
Zitat:

Zitat von divBy0
Sorry, aber :wiejetzt:

Was verstehst du denn unter ändern? Andere Initialwerte?

Genau. andere Werte.

Ich möchte im Prinzip ein Programm, um ein Programm zu compilieren und zu speichern.
-Es gibt also einen Builder (Delphi-Projekt mit Formblatt und co
-Es gibt ein Konsolenprogramm mit Variablen und Proceduren.

Wenn mein Konsolenprogramm z.B. die Variabel url : string; hat, dann soll diese über den "Builder" den ich bauen will mit einem Wert aus dem EditFeld deklariert werden.

z.B. würde im Formblatt dann stehen:

Edit1.text := 'www.google.de'.
Jetzt Drücke ich auf den Button Build !

Jetzt wird das Konsolenprogramm compiliert undzwar mit dem Wert 'www.google.de' für die Variabel "url".


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 Uhr.
Seite 1 von 2  1 2      

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