[gelöst] .bat in Lazarus ausführen (für Anfänger)?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
heheracer
Beiträge: 54
Registriert: Mo 17. Nov 2014, 16:45

[gelöst] .bat in Lazarus ausführen (für Anfänger)?

Beitrag von heheracer »

Hallo!
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 :D)
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?
Zuletzt geändert von heheracer am So 1. Feb 2015, 12:25, insgesamt 1-mal geändert.

heheracer
Beiträge: 54
Registriert: Mo 17. Nov 2014, 16:45

Re: .bat in Lazarus ausführen (für Anfänger)?

Beitrag von heheracer »

Ihr braucht nicht mehr antworten! Ich hab die Lösung:

Code: Alles auswählen

pingsteam.CommandLine := 'pingsteam.bat';

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: .bat in Lazarus ausführen (für Anfänger)?

Beitrag von m.fuchs »

Trotzdem noch ein Hinweis. Anstelle des umständlichen Aufrufs über eine Batchdatei, könntest du doch auch direkt aus deinem Programm pingen: http://synapse.ararat.cz/doc/help/

Du brauchst dir dazu nur die Units von http://synapse.ararat.cz/doku.php/download herunterzuladen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: .bat in Lazarus ausführen (für Anfänger)?

Beitrag von Christian »

und dann das eigene programm nur als root ausführen können ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: .bat in Lazarus ausführen (für Anfänger)?

Beitrag von m.fuchs »

Man braucht unter Windows Adminrechte, wenn ein Programm pingt?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: .bat in Lazarus ausführen (für Anfänger)?

Beitrag von Warf »

Ich habe das mal gelöst in dem ich über einen TProcess die Ping.exe ausgeführt habe und dann per pipes den ausgabestream gelesen habe
ein Beispiel dazu

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: .bat in Lazarus ausführen (für Anfänger)?

Beitrag von Christian »

Ne ich denke natürlich crossplattform ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten