Entwickler-Ecke

Sonstiges (Delphi) - Batch Datei Intern Benutzen


hedie - Di 19.04.05 16:44
Titel: Batch Datei Intern Benutzen
Hallo

gibt es eine möglichkeit, dass im programm stat dem delphi code ein batch code beutzt wird?

also zb so

Button Click ............
Batch
Echo off
echo hallo
pause
batch
end;

oder so etwas ähnliches?

grüsse hedie


WeBsPaCe - Di 19.04.05 16:50

Willst du in einer Batchdatei den Code schreiben, den dein Delphi-Programm ausführen soll oder willst du mit deinem Delphi-Programm eine DOS-Batch ausführen?

Wenn zweiteres und wenn du das nur auf niedrigem Niveau machen willst, also keine großen Dinger, dann kannst du's ja einfach selber laden und parsen... Sonst viel Arbeit... ;)


hedie - Di 19.04.05 16:52

sorry parsen :nixweiss: also ich möchte einfach ein kleiner dos befehl in mein delphi programm integireren und via button ausführen alserdings ohne eine batchdatei zu öffnen :wink:


delfiphan - Di 19.04.05 16:53

@hedie: Bitte sag uns noch für welchen Zweck du es brauchst, damit wir eine optimale Lösung bzw. ein Workaround finden können.

Da war ich wohl etwas zu spät mit meiner Antwort ;)
Direkt batch-code Ausführen kannst du nicht. Du müsstest diese Datei in Delphi erstellen und dann via ShellExecute und cmd /c o.ä. ausführen.


jasocul - Di 19.04.05 16:54

welchen denn? Vermutlich gibt es eine passende Delphi-Funktion.


hedie - Di 19.04.05 16:57

alle reden durcheinander :shock: :D

also ich möchte die befehls zeile von dos:
net start messenger

via button in meinem programm ausführen lassen


WeBsPaCe - Di 19.04.05 16:58

Suche in: Delphi-Forum, Delphi-Library TDOSCOMMAND & Suche bei Google TDOSCOMMAND... ;)


jasocul - Di 19.04.05 16:59

Wenn das nur dieser eine Befehl ist, solltest du im Forum mal nach ShellExecute suchen.


hedie - Di 19.04.05 17:01

habs mir angeschaut komme nicht draus :( könnt ihr mir nicht ein beispiel machen bitte :?:

vielen dank schonmal


delfiphan - Di 19.04.05 17:07

Per ShellExecute net.exe ausführen.


hedie - Di 19.04.05 17:10

aber ich möchte es in mein programm integrieren und kein externes öfnnen


WeBsPaCe - Di 19.04.05 17:14

Also für TDosCommand kann ich dir diesen Thread empfehlen...: http://www.delphi-forum.de/viewtopic.php?t=16392&highlight=tdoscommand :roll:
^^was die suche alles erreicht...

Zu ShellExecute:

Delphi-Quelltext
1:
ShellExecute(0'open''net.exe''start messenger''', SW_SHOW);                    


WeBsPaCe - Di 19.04.05 17:14

user profile iconhedie hat folgendes geschrieben:
aber ich möchte es in mein programm integrieren und kein externes öfnnen

Wie meinst du denn das schon wieder?? :shock:


hedie - Di 19.04.05 17:17

ja ein dos befehl in meinem programm benutzen (wie wenn mein programm eine batch wäre)


delfiphan - Di 19.04.05 17:18

Wie du möchtest kein externes Programm öffnen? Dann musst du dir net.exe selbst programmieren.
Vielleicht findest du ja was auf msdn. Ein API Befehl oder sowas. Ist "messenger" ein Service, dann erkundige dich mal per Suche, wie man Services startet.

PS: "net" ist kein Dos-Befehl! (Das ist ein Programm: net.exe)


hedie - Di 19.04.05 17:20

oh sorry habe ich net geschrieben ich meine natürlich net start messenger
und ja es ist ein service


delfiphan - Di 19.04.05 17:23

Dieser Thread könnte dir weiterhelfen:
http://www.delphi-forum.de/viewtopic.php?t=40363&highlight=

PS: "net start messenger" ist auch kein Dos-Befehl. Es wird lediglich net.exe aufgerufen und die Parameter "start" und "messenger" übergeben.


hedie - Di 19.04.05 17:25

ist es möglich, wenn ich den Dos befehl in eine txt schreibe und dann anstat .txt .dll schreibe ist es dann möglich dass ich in meinem programm via button die datei als batch öffne? ohne sie umzubenennen


delfiphan - Di 19.04.05 17:26

Nein.


hedie - Di 19.04.05 17:28

schade :cry: :cry: :cry: :cry: :cry: :cry:


delfiphan - Di 19.04.05 17:38

Wieso unbedingt der Umweg über die Batch-Datei? Was spricht gegen ShellExecute?
Die Batch-Datei macht auch nichts anderes als net.exe aufrufen.


jasocul - Di 19.04.05 18:10

Ich vermute, dass hedie "DOS"-Befehle einfach in ein Delphi-Programm eintippen möchte, wie einen Prozedur-Aufruf. Das geht nicht. Es gibt für einige Dinge äquivalente Prozeduren und Funktionen, aber nicht für alles.