(gelöst) freepascal, shell-Kommando einbinden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
guennid

(gelöst) freepascal, shell-Kommando einbinden

Beitrag von guennid » 02.04.2014 11:53:25

Weiß hier zufällig jemand, wie man in einem freepascal-Programm ein shell-Kommando ausführt, z.B.

Code: Alles auswählen

ping [IP]
? (Nix objektorientiertes, z.B. Lazarus, damit kenne ich mich nicht aus). Wie ich das unter DOS mache, wüsste ich, aber unter Linux ein DOS-Programm zu schreiben, um Linux benutzen zu können, kommt mir irgendwie etwas seltsam vor. :wink:

Ich suche jetzt seit einer Stunde, finde aber nichts. Vielleicht kann auch jemand einfach das Brett vor meinem Kopf entfernen.

Grüße, Günther
Zuletzt geändert von guennid am 02.04.2014 23:43:23, insgesamt 1-mal geändert.

kuerbis
Beiträge: 20
Registriert: 29.03.2014 12:06:40

Re: freepascal, shell-Kommando einbinden

Beitrag von kuerbis » 02.04.2014 12:06:03

Plattformübergreifend geht das mit ExecuteProcess (Unit SysUtils): http://www.freepascal.org/docs-html/rtl ... ocess.html
Beispiel (ungetestet):

Code: Alles auswählen

ExecuteProcess('/pfad/zu/ping', 'IP', []);
Komplette Shellbefehle lassen sich bequemer mit fpSystem ausführen: http://www.freepascal.org/docs-html/rtl ... ystem.html
Beispiel (wieder ungetestet):

Code: Alles auswählen

fpSystem('ping IP');
Weitere Möglichkeiten sind hier beschrieben: http://wiki.lazarus.freepascal.org/Exec ... l_Programs
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies." (C.A.R. Hoare)

guennid

Re: freepascal, shell-Kommando einbinden

Beitrag von guennid » 02.04.2014 12:41:17

Danke!

Mittlerweile ist mir ein zielführendes Suchwort für's Stichwortverzeichnis im Handbuch eingefallen: "Shell" heißt das Zauberwörtchen - wer hätte das gedacht. :facepalm:

Grüße, Günther

Antworten