Ich bin grade dabei aus Lust und Laune, weil mir mein INet öfters abgebrochen ist, ein Programm geschrieben, dass die Ping Funktion der cmd benutzen soll. (inzwischen geht das inet wieder wie ihr merkt )
meine idee ist jetzt aber erstmal völlig egal, ich möchte nur .bat dateien ausführen (die das programm vorher erstellt, das kann ich aber schon). bis jetzt hab ich es nur über ein bat to exe Konverter realisiert und die exe ausgeführt
Mit der exe hab ich das in etwa so gemacht (http://wiki.lazarus.freepascal.org/Exec ... rograms/de)
mein code
Code: Alles auswählen
program checksteam;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils, Process
{ you can add units after this };
var
pingsteam: TProcess;
begin
pingsteam := TProcess.Create(nil);
pingsteam.CommandLine := 'pingsteam -h';
pingsteam.Options := pingsteam.Options + [poWaitOnExit];
pingsteam.Execute;
pingsteam.Free;
writeln('Test');
readln;
end.
mein bat code (bzw hier "exe code")
Code: Alles auswählen
time /t > time.txt
ping -t http://www.steampowered.com -w 200 -n 100 > ping_steam.txt
ping -t http://www.google.de -w 200 -n 10 > ping_google.txt
ping -t fritz.box -w 100 -n 10 > ping_fritzbox.txt
(ich hab das jetzt mal hauptsächlich mit steam gemacht weil ich wissen wollte ob steam down ist oder obs an mir liegt)
Falls es jemanden interessiert: Der tiefere Sinn ist das man eine Website eingibt (z. B. http://www.lazarusforum.de/), dann soll das Programm eine Textdatei schreiben, die cmd-Befehle für ein Ping-Check beinhaltet. Die wird dann ausgeführt und das Ergebnis in eine Datei geschrieben, die dann wieder vom Programm eingelesen und vom Programm ausgewertet (also: liegst an deinem PC, deinem Router oder an der Internetseite (andere Seite wird getestet z. B. http://www.google.de)). Ich weis das geht auch effizienter aber mir machts grad spass
PS: Interesannter weise wird die cmd nicht in einem extra fenster geöffnet es bleibt alles in einem Fenster... sehr praktisch. kann dann auch in lazarus cmd befehle eingeben irgendwie?