Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Kleine GUI mit Buttons für DOS-Befehle (https://www.delphipraxis.net/46832-kleine-gui-mit-buttons-fuer-dos-befehle.html)

foruni.de 1. Jun 2005 10:58


Kleine GUI mit Buttons für DOS-Befehle
 
Hi,

ich möchte eine kleine GUI programmieren, welche zwei oder drei Buttons beinhaltet. Beim Klicken auf den/ die Buttons soll jeweils ein Befehl ausgeführt werden, welcher auf einen eingetragenen Windows-Path zugreift. Hierbei gibt es für das Einschalten der Option jeweils einen/ mehrere (DOS)Befehle und für das Ausschalten ebenfalls einen/ mehrere (DOS)Befehle.
Somit wäre dies jeweils nur ein Command-Line Befehl, welcher ausgeführt werden muss.

Da ich selbst noch nie mit GUIs programmiert habe (nur C++ und Java Kommandozeilen-basiert), ich es aber selbst lernen und programmieren möchte, wollte ich fragen, was für eine Doku/ Tut etc dafür nicht schlecht wäre.


Kurz:

Fenster, zwei Buttons, beim klicken auf jeweils eines der buttons sollen ein oder mehrere dos-befehle ausgeführt werden.

Danke und Gruß

Martin

barf00s 1. Jun 2005 11:05

Re: Kleine GUI mit Buttons für DOS-Befehle
 
naja wie du ein formular erstellst, weist sicher schon :)

File -> New -> Application
(oder fallsd ne deutsche version besitzt)
Datei -> Neu -> Applikation


dann bastelst dir da deine buttons auf dein formular (die buttons findest im "Standard" reiter oben in der komponentenleiste)

doppelklick auf den button dend mit einem kommandobelegen willst und dann schreibst

ShellExecute(0, 'open', PChar(sPfad + 'programm.exe'), nil, nil, SW_SHOWNORMAL);

nicht vergessen "ShellApi" mit in die "uses" liste zu packen (da wo Windows, Classes, SysUtils & co stehen :))
...

das erste nil da wäre/n noch zusätzliche parameter die du deinem programm übergeben wolltest, diese kombinierst dann auch wieder mit einem PChar() falls du stringvariablen und 'blahblubb' miteinander mischen solltest
das zweite nil wäre der pfad in dem das program ausgeführt wird - dann auch hier mit dem pchar() dings ....

brauchst beides nicht, lässts nil...

das sw_shownormal sagt blos, das der das program einfach normal öffnen und anzeigen soll, mit einem strg+linksklick auf dieses erhältst noch andere "show-modi" ...

:)

schöni 1. Jun 2005 11:10

Re: Kleine GUI mit Buttons für DOS-Befehle
 
Hallo foruni.de!

[quote="foruni.de"]
.... wollte ich fragen, was für eine Doku/ Tut etc dafür nicht schlecht wäre.
[quote]

Am besten ist da wohl ein DOS Handbuch. In älteren DOS Versionen gab es mal ein Help-Programm.
Mit Help <DOS-Befehl> konnte man sich eine Kurzdoku zu den Kommandozeilenparametern anzeigen lassen.

Dann guck mal hier in der DP nach WinApi Handbuch. Während ich hier schreibe, weiß ich jetzt leider den Thread nicht. Du brauchst CreateProcess aus dem Windows API, um von Windows aus ein anderes Programm zu starten.

Und dann natürlich je nach Deinen Delphi Kenntnissen ein Hanbuch dafür.

Gruß

Schöni

barf00s 1. Jun 2005 11:13

Re: Kleine GUI mit Buttons für DOS-Befehle
 
Zitat:

Du brauchst CreateProcess aus dem Windows API, um von Windows aus ein anderes Programm zu starten.
aha, IMMER also... ich denke es kommt darauf an was er denn genau machen will...
in der regel reicht auch ein ShellExecute, oder dieses alte "WinExec"
</senf>

foruni.de 1. Jun 2005 11:22

Re: Kleine GUI mit Buttons für DOS-Befehle
 
Hi zusammen,

wow vielen Dank schonmal. Somit habe ich jetzt schonmal einen Einstiegspunkt, an dem ich arbeiten kann. Dankeschön für die schnelle Hilfe!

Hansa 1. Jun 2005 11:45

Re: Kleine GUI mit Buttons für DOS-Befehle
 
Zitat:

Zitat von schöni
Am besten ist da wohl ein DOS Handbuch. In älteren DOS Versionen gab es mal ein Help-Programm. Mit Help <DOS-Befehl> konnte man sich eine Kurzdoku zu den Kommandozeilenparametern anzeigen lassen....

Ein DOS-Handbuch ist nicht die schlechteste Idee. Leider wäre es aber nicht mehr aktuell. Und mit help konnte man nicht die aktuellen Befehle ansehen, sondern das kann man immer noch ! Gehe in die MS-DOS Eingabeaufforderung und gebe mal help ein. Sind die Suchpfade nicht total verstellt, dann müßte es gehen. Und mit /? hinter dem entsprechenden Befehl zeigt er dir die momentan möglichen Parameter an.

Zum Thema selbst : die Lösung ist ShellExecute mit dem entsprechenden Befehl aufzurufen. Du brauchst dich also nicht um Winapi, Prozesse und solche Sachen zu kümmern.


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