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 Batch Dateien (https://www.delphipraxis.net/46170-batch-dateien.html)

spike0 19. Mai 2005 22:26


Batch Dateien
 
Ich möchte in meinem Programm eine Option einfügen, die es ermöglicht, aus .bat Dateien .exe Dateien zu machen (so ein Programm habe ich schon gesehen)

Wie kann man es machen?
Ich habe mir überlegt, dass es vielleicht so einen Batch-Befehl gibt, den man einfach am Ende der Datei einfügt.

DGL-luke 19. Mai 2005 22:33

Re: Batch Dateien
 
also batchbefehl gibts da sicher keinen. da müsste ja in windows ein compiler drin sein.

du müsstest da aber wirklich mit compiler schreiben anfangen.

marabu 20. Mai 2005 06:30

Re: Batch Dateien
 
Es gibt da verschiedene Ansätze.

Beim einfachsten Ansatz "Hidden Batch" schreibst du zwei Programme. Eines extrahiert eine Befehlsstapel-Resource und übergibt den Stapel an die System-Shell. Das andere erzeugt die Resource und kompiliert sie in das erste Programm. Auf diese Weise werden Befehlsstapel vor fahrlässiger Modifikation geschützt.

Beim Ansatz "Custom Shell" gehst du ähnlich vor. Wieder erzeugst du eine Resource, aber das ausführende Programm muss alle Shell-Funktionen selbst abwickeln, z.B. Eingabe-Ausgabe-Umleitung, Auswertung von Fehler-Codes, Behandlung von Umgebungsvariablen. Dazu kommt noch die Nachbildung interner Shell-Befehle, wie DIR und COPY.

Wenn Schutz vor Modifikation durch das Envelope-Konzept nicht ausreicht, dann musst du die Befehlsstapel noch in P-Code umwandeln.

Grüße vom marabu

spike0 20. Mai 2005 07:46

Re: Batch Dateien
 
Also ich habe wirklich kaum etwas verstanden :) , aber "Hidden Batch" klingt am leichtesten.

Zitat:

Beim einfachsten Ansatz "Hidden Batch" schreibst du zwei Programme. Eines extrahiert eine Befehlsstapel-Resource und übergibt den Stapel an die System-Shell. Das andere erzeugt die Resource und kompiliert sie in das erste Programm. Auf diese Weise werden Befehlsstapel vor fahrlässiger Modifikation geschützt.
Wie würde so in etwa der Quelltext aussehen?

marabu 20. Mai 2005 08:13

Re: Batch Dateien
 
Du willst das ganze bestimmt lieber selbst programmieren, deshalb hier nur eine Skizze für das erste Programm aus dem HIDDEN BATCH Ansatz.

Code:
procedure StoreBatch;
begin
  FindResource();
  LoadResource();
  LockResource();
  SchreibeResourceInFileStream;
  FreeResource();
end;
Grüße vom marabu

spike0 20. Mai 2005 08:35

Re: Batch Dateien
 
Natürlich würde ich es lieber selber programmieren, wenn ich davon Ahnung hätte :) , aber dann hätte ich dies hier nicht gepostet :)
Ich bin noch ein Anfänger und deshalb kann ich ja noch nicht alles in Delphi programmieren.

marabu 20. Mai 2005 08:44

Re: Batch Dateien
 
Ganz ohne Ahnung solltest du kleinere Brötchen backen. Aber mein Pseudo-Code ist wirklich schon fast komplett. Benutze die Online-Hilfe und heute nachmittag läuft das erste Programm. Du schaffst das. Da bin ich ganz sicher.

marabu

MathiasSimmack 20. Mai 2005 09:15

Re: Batch Dateien
 
Zitat:

Zitat von spike0
Ich bin noch ein Anfänger und deshalb kann ich ja noch nicht alles in Delphi programmieren.

Zumindest hast du schon mal herausgefunden, wie man in einem anderen Forum die gleiche Frage noch einmal stellt, obwohl du hier schon fast eine komplette Lösung hast. :roll:

Luckie 20. Mai 2005 10:21

Re: Batch Dateien
 
Wenn du schon selbst sagst, dass du Anfänger bist, wie wäre es dann, wenn du mit etwas einfacheren anfangen würdest und nicht gleich mit so was?

spike0 20. Mai 2005 19:36

Re: Batch Dateien
 
Zitat:

Wenn du schon selbst sagst, dass du Anfänger bist, wie wäre es dann, wenn du mit etwas einfacheren anfangen würdest und nicht gleich mit so was?
1. Ja ich bin ein Anfänger und
2. ich fange auch mit etwas anderem an (das hier sollte bloß eine Option des Programms sein)
3. Woher soll ich denn wissen, dass es nicht so leicht ist? Es könnte ja eine banale Antwort darauf geben können!

Zitat:

Zumindest hast du schon mal herausgefunden, wie man in einem anderen Forum die gleiche Frage noch einmal stellt, obwohl du hier schon fast eine komplette Lösung hast.
4. Ich bin der Meinung, dass es in anderen Foren Personen geben kann, die vielleicht eine einfache Lösung haben können.
Ich habe in 4 Foren eine Frage gestellt, bis hier endlich eine Antwort kam.
Bei den anderen Foren hatte keiner ne Idee, und dabei handelte es sich um einen einzigen und ganz simplen Befehl!

Außerdem: "Ne komplette Lösung" ?!
Hier stehen ein paar Zeilen, und ich soll daraus einen Compiler basteln?!


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