[Code] [Delphi] Ergebnis einer Batchdatei anzeigen/auslesen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Prrovoss, 6. Oktober 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 6. Oktober 2010
    [Delphi] Ergebnis einer Batchdatei anzeigen/auslesen

    hi,

    gibts es irgendwie eine möglichkeit das ergebnis einer batchdatei (also das was dann in der konsole angezeigt wird) auszulesen oder anzeigen zu lassen?

    muss auch nicht unbedingt eine batchdatei sein, es reicht auch wenn der befehl direkt aus delphi heraus gegeben wird.
     
  2. 6. Oktober 2010
    AW: [Delphi] Ergebnis einer Batchdatei anzeigen/auslesen

    Capture the output from a DOS (command/console) Window

    Hilft dir das weiter ?
     
  3. 6. Oktober 2010
    AW: [Delphi] Ergebnis einer Batchdatei anzeigen/auslesen

    Zur Not kannst du folgendes machen:

    Batch-Datei:

    Code:
    befehl >> output.txt
    --

    1) Die Batch datei via. Delphi ausführen.
    2) Die output.txt einlesen und ausgeben.
    3) Die output.txt wieder löschen.

    -> Aber die Lösung mit den Pipes ist wesentlich sauberer mmn.
     
  4. 6. Oktober 2010
    AW: [Delphi] Ergebnis einer Batchdatei anzeigen/auslesen

    k also danke schonma an euch beide, die sache mit den pipes hat auch soweit geklappt, allerdings werden sachen die etwas brauchen bis sie angezeigt werden nicht eingelesen. so zb. netstat...
    eig is in der prozedur doch eine abfrage eingebaut ob die konsole noch aktiv is oder nicht?
     
  5. 7. Oktober 2010
    AW: [Delphi] Ergebnis einer Batchdatei anzeigen/auslesen


    jemand ne idee?? hab gestern mal 5min gewartet und es kam kein ergebnis. bei sachen wie help o.ä. wo es direkt output gibt, funktioniert die prozedur auch ohne probleme. nur wie gesagt funktioniert sie nicht so wirklich wenn sachen ein bisschen brauchen zum laden usw.
     
  6. 7. Oktober 2010
    AW: [Delphi] Ergebnis einer Batchdatei anzeigen/auslesen

    Das liegt an dieser Stelle in der RunDosInMemo procedure:
    Der letzte Parameter gibt den TimeOut in Millisekunden an, sprich wie lange gewartet werden soll bis ein Ergebniss geliefert worden ist oder auch nicht. Man kann an diesen Parameter auch die konstante INFINITE übergeben dann wird halt solange gewartet bis die Zielanwendung geschlossen wurde was unter umständen dazuführt dass sich deine Anwendung aufhängt. Dann solltest du jedoch auch die Repeat Schleife die diesen Funktionsaufruf umgibt entfernen, kann nämlich passieren, dass bei dem Parameter ein anderer Rückgabewert gegeben ist und er sich in der Schleife festsetzt.

    Optimal werden solche Aufgaben in Threads mit einer Abbruch möglichkeit ausgelagert.

    Mfg Rushh0ur
     
  7. 7. Oktober 2010
    AW: [Delphi] Ergebnis einer Batchdatei anzeigen/auslesen

    mal wieder ohne worte
    funktioniert tadellos! vielen dank^^

    auch ein dankeschön an euch beide
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.