consolewrite and read

  • hi
    ich hab das noch nie verstanden oO
    wie geht das mit der console?
    jeder benutzt consolewrite, aber was hat man davon?

    [autoit]

    ConsoleWrite("test")

    [/autoit][autoit][/autoit][autoit]

    Local $data
    While True
    $data &= ConsoleRead()
    If @error Then ExitLoop
    Sleep(25)
    WEnd
    MsgBox(0, "", "Received: " & @CRLF & @CRLF & $data)

    [/autoit]

    hab die hilfe gelesen und hab nix davon...
    habs kompiliert und es geht nicht
    und was meint die hilfe mit irgendeinem notepad teil usw?
    würde mcih über eine kurze erklärung freuen.
    danke

  • Hi

    Du kannst Programmen Daten via Std übergeben/entnehmen!
    ConsoleRead: ließt den StdIn
    ConsoleWrite: schreibt den StdOut

    (immer erstes script als exe kompilieren!)

    Version 1:
    Du startes ein Autoit-Prog, welches via Stdout Daten übermittelt.
    Das gestartete Prog schreibt die Daten via ConsoleWrite in den Stdout:

    Script1.exe

    [autoit]

    While 1
    ConsoleWrite(Random(0,9,1))
    Sleep(100)
    WEnd

    [/autoit][autoit]

    $prog=Run(@ScriptDir & "\script1.exe",@ScriptDir,0,2)
    While 1
    ToolTip("Stdoutread: " & StdoutRead($prog))
    Sleep(100)
    WEnd

    [/autoit]


    Version 2:
    Du startest ein Autoit-Prog und willst es mit Daten füttern.


    script3.exe

    [autoit]

    While 1
    ToolTip("Consoleread: " & ConsoleRead())
    Sleep(100)
    WEnd

    [/autoit][autoit]

    $prog=Run(@ScriptDir & "\script3.exe",@ScriptDir,0,1)
    While 1
    StdinWrite($prog,Random(0,9,1))
    Sleep(100)
    WEnd

    [/autoit]

    alles klar?

    Ist auf den ersten Blick etwas kompliziert, aber eigentlich ganz einfach ;)

    lgE

    Edit: Du kannst ConsoleWrite auch zum debuggen benutzten - wird dann nämlich in SciTe unten angezeigt...(bestes Beispiel: µIt-September-Testprogramm von Pee :rock: )

  • Hi,
    vom prinzip ist das das gleiche wie StdoutRead (siehe Hilfe)
    nur das du mit dieser Methode die Ausgabe von externen Programmen ausgeben kannst.
    Du kannst als Beispiel die Rückgabe von Dos-Programmen (cmd) zurückgeben lassen.

    vieleicht sind die Beispiele in der Hilfe besser erklärt.
    Habe jetzt öeider kein Beispiel, kann aber nachher mal eins online stellen.

    MfG
    Der_Doc

  • ConsoleWrite schreibt, wie die AutoIT-Hilfe es erklärt, Daten in den StdOutStream. Die ist aber im Prizip erstmal 'fast' nutzlos. Ich sage extra fast.

    Bei den Beispiel-Scripten, die oben wahrscheinlich gemeint waren, ist es eine weitere Ausgabemöglichkeit, die der SciTE in seinem Programmfenster anzeigen kann.
    Startet man das Script außerhalb des SciTE, dann sieht man eben NIX !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hi,

    du kannst auch außerhalb von Scite den StdOut Steam lesen!

    Mega

    Deswegen schrieb ich auch 'fast' ! Ich wollte ihm nur erklären, warum er bei einer Ausführung außerhalb des Editors, nicht zu sehen bekommt. Ich hatte mich Anfangs auch gewundert.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • achso danke
    hab das nie gesehen, weil ich die dateien nie mit f5 öffne, sondern doppelklick...
    danke für eure antworten