1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Yjuq

Beiträge von Yjuq

  • Warum gibt es hier keine Bots?

    • Yjuq
    • 26. November 2012 um 15:04

    AspirinJunkie :D

    Nun ja, eigentlich meinte ich damit, dass "Bots" allgemein verwendet werden kann, ohne dass jemand an Spielebots denkt.

    >>

    Zitat

    Wir meinen IMMER Spielebots


    Dieses "IMMER" könnte man ja wegschaffen. Das war damit gemeint. Aber ob das was wird ^^


    Zudem war das ja Ironisch gemeint :)

  • Warum gibt es hier keine Bots?

    • Yjuq
    • 26. November 2012 um 14:56

    @pee:

    Zitat

    Wir meinen IMMER Spielebots, wenn wir hier von Bots reden :).

    Und genau das sollten wir ändern :)
    Dann hat man bei dem Wort "Bot" nicht immer diese Hintergrund gedanken.

  • Alles gute Raupi

    • Yjuq
    • 26. November 2012 um 13:52

    Johann Gottfried Herder (1744-1803)

    Die Raupe und der Schmetterling

    Freund, der Unterschied der Erdendinge
    Scheinet groß und ist so oft geringe;
    Alter und Gestalt und Raum und Zeit
    Sind ein Traumbild nur der Wirklichkeit.

    Träg und matt auf abgezehrten Sträuchen
    Sah ein Schmetterling die Raupe schleichen,
    Und erhob sich fröhlich, argwohnfrei,
    Dass er Raupe selbst gewesen sei.

    Traurig schlich die Alternde zum Grabe:
    »Ach, dass ich umsonst gelebet habe!
    Sterbe kinderlos und wie gering!
    Und da fliegt der schöne Schmetterling.«

    Ängstig spann sie sich in ihre Hülle,
    Schlief, und als der Mutter Lebensfülle
    Sie erweckte, wähnte sie sich neu,
    Wusste nicht, was sie gewesen sei.

    Freund, ein Traumreich ist das Reich der Erden.
    Was wir waren, was wir einst noch werden,
    Niemand weiß es; glücklich sind wir blind;
    Lass uns Eins nur wissen: was wir sind.


    >> Ich wünsche dir alles Gute zum Geburtstag =D

  • Inputbox wird nicht richtig ausgelesen wenn der Timeout abgelaufen ist

    • Yjuq
    • 26. November 2012 um 13:42

    Kannst ja mit

    [autoit]

    If @error then

    [/autoit]

    abfangen und $server dann dementsprechend selber setzen.

  • Warum gibt es hier keine Bots?

    • Yjuq
    • 26. November 2012 um 13:37
    Zitat

    Wieso darf man hier eigentlich nicht über Bots reden ?

    Ich möchte an dieser Stelle einmal hinweisen, dass ein "Bot" nicht immer Negativ sein muss. Es gibt so gesehen überall im Forum Bots.
    Z.B. Werden in vielen Spielen Bots eingebaut, damit z.B. Ein NPC selbstständig auf gewissen Aktionen reagiert usw.

    Oder auch Programme die etwas automatisieren (z.B. Dateien sortieren etc.) sind Bots.


    Im eigentlichen Sinne sind hier Bots nicht verboten. Und auch nicht darüber zu sprechen. Habe noch keinen gesehen der hier Rausgeflogen ist, nur weil er / sie "Bot" geschrieben hat.

    >> Es sind nur Bots verboten (zmd. Nach meiner Interpretation der Forenregeln), die gegen die AGB von den betroffenen Seiten verstoßen und / oder (auf Spiele bezogen) den vorgsehenen Charakter (Oder Objekt) eines Spielers steuern soll.


    Definition:
    1) Ein Programm, das eigenständig Aufgaben erledigt z.B. Webcrawler. 2) Ein Bot (Abk. von engl. robot) ist eine computergesteuerte Spielfigur, die in Mehrspieler-Partien menschliche Spieler ersetzen soll und so aus reinen Multiplayerspielen einen Singleplayermodus macht. Bots können auch Programme sein, welche den Spieler ersetzen, um z.B. eine schwierige Mission zu schaffen.

    Quelle: Definition Bot

  • [Frage Sammelthread] STD... | Erklärung bzw. Antworten

    • Yjuq
    • 24. November 2012 um 14:58

    Okey, ich setzt das Thread dann jetzt auf gelöst :)
    Alle Fragen sind ja beantwortet. Aber wer noch eine Antwort von Beispiel bezüglich Post #10 schreiben kann/will. Der kriegt ne Cola :D


    Na dann, danke an euch dreien :D Ihr habt mir sehr geholfen :P

  • Einzelinfo aus Funktionen mit Array-Rückgabe

    • Yjuq
    • 23. November 2012 um 21:38

    Nette kleine UDF :D

    Aber unbedingt brauchbar ist diese (zmd. für mich) wohl nicht. Da finde ich es persönlich einfacherer das zurück gegebene Array zu verwenden.


    Nun ja, leider kann ich dir jetzt auch keine verbesserungsvorschläge geben, weil es da an sich nichts mehr zu verbessern gibt.
    Na dann :D Es wird sich sicher der eine oder andere finden der sie benötigt ^^

  • Kopfknoten, Radius im Programm für verschiedene Bildschirmauflösungen

    • Yjuq
    • 23. November 2012 um 13:26

    Möglich wäre das ganze mittels Prozentuale angaben x.x

    12% sind ja bekanntlich 0.12

    Um jetzt 12% von sagen wir mal 234 zu bekommen, rechnen wir 234*0.12 = 28.08


    Vielleicht hilft dir das ja weiter :P

  • Controlnummer (name) = NULL?

    • Yjuq
    • 23. November 2012 um 13:13

    Dann hast du dort irgendwas Falsch x.x | Sorry, ohne ein lauffähiges Script kann das ganze noch dauern...

  • Controlnummer (name) = NULL?

    • Yjuq
    • 23. November 2012 um 12:24

    Sorry, bring uns doch mal bitte ein möglich kurzes, lauffähiges Script, wo man deinen Fehler nachvollziehen kann.


    Zitat

    ABER: manche controls haben keine nummer bzw die nummer 0...bisauf die controls mit der nummer 0 haben alle anderen verschiedene wie sie es auch haben sollen, aber wieso haben manche die nummer 0? Ich habe bei ihnen nichts anders gemacht.

    Soviel ich jetzt verstanden habe, wird bei manchen keine ID zurück gegeben?


    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(3) : $font = ''Arial''' & @crlf) ;### Trace Console
    $font = 'Arial'
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(6) : $hGUI = GUICreate('''', 800, 800)' & @crlf) ;### Trace Console
    $hGUI = GUICreate('Seite 1', 800, 800)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(8) : GUIStartGroup()' & @crlf) ;### Trace Console
    GUIStartGroup()
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(10) : $checkbox_re01_a01_cb01 = GUICtrlCreateradio(" "&"49,6", 420, 130, 100, 20)' & @crlf) ;### Trace Console
    $checkbox_re01_a01_cb01 = GUICtrlCreateradio(" "&"49,6", 420, 130, 100, 20)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(12) : $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))' & @crlf) ;### Trace Console
    $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
    ConsoleWrite('+> ID ' & $LastCtrlID & @CRLF & @CRLF)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(14) : GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb01 , GUICtrlRead(-1,1)), "~", " "))' & @crlf) ;### Trace Console
    GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb01 , GUICtrlRead(-1,1)), "~", " "))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(16) : $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)' & @crlf) ;### Trace Console
    $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
    ;~ GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(19) : GUICtrlSetFont(-1, 8.5, 250, "", $font)' & @crlf) ;### Trace Console
    GUICtrlSetFont(-1, 8.5, 250, "", $font)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(21) : $checkbox_re01_a01_cb02 = GUICtrlCreateradio(" "&"12,4", 420, 150, 100, 20)' & @crlf) ;### Trace Console
    $checkbox_re01_a01_cb02 = GUICtrlCreateradio(" "&"12,4", 420, 150, 100, 20)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(23) : $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))' & @crlf) ;### Trace Console
    $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
    ConsoleWrite('+> ID ' & $LastCtrlID & @CRLF & @CRLF)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(25) : GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb02 , GUICtrlRead(-1,1)), "~", " "))' & @crlf) ;### Trace Console
    GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb02 , GUICtrlRead(-1,1)), "~", " "))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(27) : $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)' & @crlf) ;### Trace Console
    $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
    ;~ GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(30) : GUICtrlSetFont(-1, 8.5, 250, "", $font)' & @crlf) ;### Trace Console
    GUICtrlSetFont(-1, 8.5, 250, "", $font)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(32) : $checkbox_re01_a01_cb03 = GUICtrlCreateradio(" "&"36,8", 420, 170, 100, 20)' & @crlf) ;### Trace Console
    $checkbox_re01_a01_cb03 = GUICtrlCreateradio(" "&"36,8", 420, 170, 100, 20)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(34) : $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))' & @crlf) ;### Trace Console
    $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
    ConsoleWrite('+> ID ' & $LastCtrlID & @CRLF & @CRLF)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(36) : GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb03 , GUICtrlRead(-1,1)), "~", " "))' & @crlf) ;### Trace Console
    GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb03 , GUICtrlRead(-1,1)), "~", " "))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(38) : $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)' & @crlf) ;### Trace Console
    $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
    ;~ GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(41) : GUICtrlSetFont(-1, 8.5, 250, "", $font)' & @crlf) ;### Trace Console
    GUICtrlSetFont(-1, 8.5, 250, "", $font)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(43) : $checkbox_re01_a01_cb04 = GUICtrlCreateradio(" "&"18,6", 420, 190, 100, 20)' & @crlf) ;### Trace Console
    $checkbox_re01_a01_cb04 = GUICtrlCreateradio(" "&"18,6", 420, 190, 100, 20)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(45) : $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))' & @crlf) ;### Trace Console
    $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
    ConsoleWrite('+> ID ' & $LastCtrlID & @CRLF & @CRLF)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(47) : GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb04 , GUICtrlRead(-1,1)), "~", " "))' & @crlf) ;### Trace Console
    GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb04 , GUICtrlRead(-1,1)), "~", " "))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(49) : $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)' & @crlf) ;### Trace Console
    $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
    ;~ GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(52) : GUICtrlSetFont(-1, 8.5, 250, "", $font)' & @crlf) ;### Trace Console
    GUICtrlSetFont(-1, 8.5, 250, "", $font)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(54) : $checkbox_re01_a01_cb05 = GUICtrlCreateradio(" "&"22,4", 420, 210, 100, 20)' & @crlf) ;### Trace Console
    $checkbox_re01_a01_cb05 = GUICtrlCreateradio(" "&"22,4", 420, 210, 100, 20)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(56) : $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))' & @crlf) ;### Trace Console
    $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
    ConsoleWrite('+> ID ' & $LastCtrlID & @CRLF & @CRLF)
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(58) : GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb05 , GUICtrlRead(-1,1)), "~", " "))' & @crlf) ;### Trace Console
    GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb05 , GUICtrlRead(-1,1)), "~", " "))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(60) : $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)' & @crlf) ;### Trace Console
    $lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
    ;~ GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
    ConsoleWrite('>Error code: ' & @error & @crlf & @crlf & '@@ Trace(63) : GUICtrlSetFont(-1, 8.5, 250, "", $font)' & @crlf) ;### Trace Console
    GUICtrlSetFont(-1, 8.5, 250, "", $font)

    [/autoit]


    Ich verstehe aus dem Oberen Post + dem Script nicht wirklich viel.

  • Controlnummer (name) = NULL?

    • Yjuq
    • 23. November 2012 um 11:50

    Okey oO Folgendes verstehe ich hier nicht:

    [autoit]

    $checkbox_re01_a01_cb01 = GUICtrlCreateradio(" "&"49,6", 420, 130, 100, 20)
    $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))

    [/autoit]

    Wieso verwendest du _WinAPI_GetDigCtrlID? Guictrlcreate... Gibt doch schon die ID des Controls zurück?
    (oder habe ich jetzt _WinAPI_GetDigCtrlID falsch verstanden?)


    Das dort oben ist das gleiche wie das hier?

    [autoit]

    $checkbox_re01_a01_cb01 = GUICtrlCreateradio(" "&"49,6", 420, 130, 100, 20)
    $LastCtrlID = $checkbox_re01_a01_cb01

    [/autoit]
  • FileDelete möchte ein Icon nicht löschen

    • Yjuq
    • 23. November 2012 um 11:36

    Ich habe ja nie behauptet dass die dt. Hilfe schlechter ist als die englische. Wäre nur gut gewesen wenn man das evtl. Früher gesehen hätte und dann den Hinweis darauf gegeben hätte :D

    Aber an sich ist die dt. Hilfe ja wikrlich nur eine 1:1 Übersetzung. Da hast du schon recht.

  • [Frage Sammelthread] STD... | Erklärung bzw. Antworten

    • Yjuq
    • 23. November 2012 um 11:34

    Ah okey :o

    Ich teste dann noch ein wenig :D
    Wenn das ganze dann zutrifft, dann setz ich das Thread auf [gelöst]

    Danke :D


    Shadowigor:
    Könntest du mir bitte ein Beispiel zu $STDIO_INHERIT_PARENT schreiben? Durch irgend einen Grund kann ich das nicht so umsetzen wie du es beschrieben hast. :)

  • [Frage Sammelthread] STD... | Erklärung bzw. Antworten

    • Yjuq
    • 22. November 2012 um 18:58

    Danke euch dreien :D Solangsam verstehe ich das ganze :)

    Allerdings bleibt noch eine Frage offen :D Aber dank euch dreien bin ich schon um einiges weiter ^^


    Edit:
    Aha :D So ist das ^^ Zu jeder Funktion (außer StdioClose()) gibt es eine gegenfunktion :D Einmal zum schreiben und einmal zum lesen. Dabei sind 3 Streame zum verwenden möglich :D

    [autoit]

    ;~ ConsoleWriteError > STDERR-Stream > Schreiben
    ;~ StdinWrite > STDIN-Stream > Schreiben
    ;~ ConsoleWrite > STDOUT-Stream > Schreiben
    ;~ - - - - - - - - - - - - - - - - - - - - - - -
    ;~ StderrRead > STDERR-Stream > Lesen
    ;~ ConsoleRead > STDIN-Stream > Lesen
    ;~ StdoutRead > STDOUT-Stream > Lesen
    ;~ +| --------------------------------------------- |+
    ;~ StdioClose > STDIO-Stream > Schließen

    [/autoit]

    STDERR-Strem >> Für Fehler Meldungen?
    STDIN-Stream >> Eingaben von Script B für Script A?
    STDOUT-Stream >> Eingaben von Script A für Script B?


    Bitte berichtigt mich wenn ich irgendwo falsch liege :D Ich lerne das ganze gerade neu ^^


    Edit 2:
    Ich habs jetzt verstanden :D Yea :P Danke euch allen ^^

    Output.exe Inhalt:

    Spoiler anzeigen
    [autoit]

    ;~ ConsoleWriteError > STDERR-Stream > Schreiben
    ;~ StdinWrite > STDIN-Stream > Schreiben
    ;~ ConsoleWrite > STDOUT-Stream > Schreiben
    ;~ - - - - - - - - - - - - - - - - - - - - - - -
    ;~ StderrRead > STDERR-Stream > Lesen
    ;~ ConsoleRead > STDIN-Stream > Lesen
    ;~ StdoutRead > STDOUT-Stream > Lesen
    ;~ +| --------------------------------------------- |+
    ;~ StdioClose > STDIO-Stream > Schließen

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

    Do
    Sleep(1000)
    Until ConsoleRead(True) <> ''
    ;~ Wartet bis in den STDIN-Stream geschrieben wurde

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

    MsgBox(0, '', ConsoleRead(), 1)

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

    ConsoleWrite('Ausgabe')

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

    Do
    Sleep(1000)
    Until ConsoleRead(True) <> ''

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

    Exit

    [/autoit]

    Script:

    Spoiler anzeigen
    [autoit]

    ;~ ConsoleWriteError > STDERR-Stream > Schreiben
    ;~ StdinWrite > STDIN-Stream > Schreiben
    ;~ ConsoleWrite > STDOUT-Stream > Schreiben
    ;~ - - - - - - - - - - - - - - - - - - - - - - -
    ;~ StderrRead > STDERR-Stream > Lesen
    ;~ ConsoleRead > STDIN-Stream > Lesen
    ;~ StdoutRead > STDOUT-Stream > Lesen
    ;~ +| --------------------------------------------- |+
    ;~ StdioClose > STDIO-Stream > Schließen

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

    #include <Constants.au3>
    ;~ Hier drin befinden sich die Variablen $STDIN_CHILD und $STDOUT_CHILD

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

    $PID = Run('Output.exe', @ScriptDir, @SW_SHOW, $STDIN_CHILD + $STDOUT_CHILD)
    ;~ Startet die Output.exe und stellt ein Handle zum STDIN-Stream und STDOUT-Stream des Child-Fensters bereit
    If Not $PID Then
    MsgBox(0, '', 'Error: ' & @error, 1)
    Exit
    EndIf
    ;~ Gibt es beim Startet der Output.exe einen Fehler, so wird dieses Script beendet

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

    Sleep(1000)

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

    StdinWrite($PID, 'Eingabe')
    ;~ Schreibt in den STDIN-Stream des zuvor gestarteten Child-Fenster

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

    Do
    Sleep(1000)
    Until StdoutRead($PID, True) <> ''
    ;~ Wartet bis in den STDOUT-Stream geschrieben wurde (Erwartet Rückgabe von Output.exe)

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

    MsgBox(0, '', StdoutRead($PID), 1)

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

    StdinWrite($PID, 'Exit')
    ;~ Schreibt in den STDIN-Stream des zuvor gestarteten Chilf-Fenster

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

    Do
    Sleep(1000)
    Until Not ProcessExists($PID)
    ;~ Wartet bis der Prozess beendet wurde (Output.exe)

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

    $r = StdioClose($PID)
    ;~ Schließt den STDIO-Stream des zuvor geöffneten Child-Fensters

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

    MsgBox(0, '', 'Exit', 1)

    [/autoit]


    Allerdings habe ich noch eine Frage zu $STDIO_INHERIT_PARENT und $RUN_CREATE_NEW_CONSOLE (siehe 4. Parameter "Run")
    Wenn ich z.B. Run('Output.exe', @ScriptDir, @SW_SHOW, $STDIO_INHERIT_PARENT) verwende, dann funktioniert das nicht mehr in meinen Script :D Woran liegt das?
    (Die beiden habe ich noch nicht durchblickt. Bei dem Rest ist alles okey und verstanden :D Danke, ihr seid super :D)

  • FileDelete möchte ein Icon nicht löschen

    • Yjuq
    • 22. November 2012 um 14:33

    Ja, ist auch ein bischen blöd in der Deutschen Hilfe (Ich gehe mal davon aus das du da nachgeschaut hast?)

    Bei

    [autoit]

    _GDIPlus_ImageLoadFromFile()

    [/autoit]

    steht ja auch kein Wort davon, wie man das ganze wieder freigibt ^^ | Allerdings mit ein bischen Verstand + Suche hätte mans eig. Schnell gefunden :p

  • FileDelete möchte ein Icon nicht löschen

    • Yjuq
    • 22. November 2012 um 14:21

    Sorry, habe deinen Beitrag nicht gesehen :D
    Post #5 Habe ich editiert! Dort steht die Lösung zu dein Problem.

  • FileDelete möchte ein Icon nicht löschen

    • Yjuq
    • 22. November 2012 um 14:03

    Das ist sehr komisch x.x Ich muss mir mal dein Script genauer unter die Lupe nehmen :)


    Das .ico wird ja mit FileDelete(@TempDir & "\PMNETCORGE2EICO.ico") gelöscht. Kann man auch selber sehen wenn man die Funktion in ein eigenes Script hinein schreibt. Warum das allerdings nicht in deinem geht, muss ich erst herausfinden.


    Hehe :D Das liegt daran, weil du dein Bild-Objekt nicht freigegeben hast :P

    Zeile 205:

    [autoit]

    $hGUIHeaderIcon = _GDIPlus_ImageLoadFromFile(@TempDir & "/PMNETCORGE2EICO.ico")

    [/autoit]

    Diese musst du mit _GDIPlus_ImageDispose wieder freigeben :D

    Also: (Zeile 532 | _PMClose)
    In dieser Funktion musst du das ganze Freigeben :)

    [autoit]

    Func _PMClose() ; Beim Aufruf wird das Programm beendet
    AdlibUnRegister("_checkGUIMeldungchange")
    AdlibUnRegister("_checkGUIClose")
    _WinAPI_DeleteObject($hGUIStartButtonBmpNew)
    _WinAPI_DeleteObject($hGUITesttypButtonBmpNew)
    _WinAPI_DeleteObject($hGUIZielendpunktButtonBmp)
    _GDIPlus_ImageDispose($hGUIHeaderIcon) ;~ DAS HIER WURDE EINGEFÜGT !!!
    GUIDelete($hGUIDisplay) ; Lösche das GUI
    _ProgressDelete($hGUIProgressBar) ; MUST BE DONE ON EXIT
    _Progress_CallBack_Free(1) ; Force Killing Timer
    _GDIPlus_Shutdown()

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

    $temp = 1
    While FileExists(@TempDir & "\PMNETCOR*.png") = True And $temp < 10
    $temp += $temp
    ;~ FileDelete(@TempDir & "\PMNETCORGE2EICO16px.png") ; Funktioniert zurzeit nicht
    FileDelete(@TempDir & "\PMNETCORstart.png")
    FileDelete(@TempDir & "\PMNETCORtesttyp.png")
    FileDelete(@TempDir & "\PMNETCORzielendpunkt.png")
    FileDelete(@TempDir & "\PMNETCORGE2EICO.ico") ; Funktioniert zurzeit nicht
    WEnd
    Exit
    EndFunc ;==>_PMClose

    [/autoit]


    Dann funktioniert dies ohne Prbleme :D
    >> Du solltest jedes Objekt was du verwendest wieder freigeben :P

  • [Frage Sammelthread] STD... | Erklärung bzw. Antworten

    • Yjuq
    • 21. November 2012 um 18:20

    Ja, bei mir funktionieren die Beispiele ja auch alle :D
    >> Nur es gibt keinen sichtlichen unterschied als ob ich es als Consolenanwendung kompiliert habe oder nicht ^^


    Es wäre schön wenn auf die Fragen eingegangen wird ^^
    >> So komme ich leider derzeitig nicht weiter ;D

    Aber danke für den Link funkey. Ich schaue mir diesen jetzt an.

  • [Frage Sammelthread] STD... | Erklärung bzw. Antworten

    • Yjuq
    • 21. November 2012 um 18:07

    Nein :D
    Okey, das ist doch mal ein nützlicher tipp ^^ Dann teste ich das ganze als Consolenanwendung x.x :D

    Eidt >> Habe das ganze nun als Consolenanwendung getestet. Es ergibt sich daraus kein sichtlicher unterschied.

  • [Frage Sammelthread] STD... | Erklärung bzw. Antworten

    • Yjuq
    • 21. November 2012 um 17:59

    Hallo Community :D

    Ich versuche jetzt seit längeren die 4 Funktionen (+ 1 Parameter) auf die schliche zu kommen:

    [autoit]

    Run() ;~ Spezifisch der 2. Parameter
    StderrRead()
    StdinWrite()
    StdioClose()
    StdoutRead()

    [/autoit]

    Auf Wikipedia habe ich dies dazu gefunden:
    Wikipedia - Standard-Datenströme

    Dazu diverse Seiten! Allerdings auf Englisch. Leider konnte ich nichts wichtiges was ich bereits von Wikipedia weiß daraus lernen. Auch nicht mit dem Google Übersetzer. Daher stelle ich meine Fragen bezüglichst mit der Programmierung hier.


    Run - 2. Parameter [gelöst] (Das stand zwar jetzt nicht in dem Wikipedia Beitrag, aber was wirklich sinnvollen habe ich nicht gefunden.)
    Der Pfad, in dem das Programm ausgeführt werden soll (Arbeitsverzeichnis). Dies ist nicht der Pfad des Programms.

    Frage 1: Welche Rolle spielt der Pfad? Hat das irgendwelche auswirkungen auf die ausführbarkeit der exe die ich damit starte?


    Frage 2: Muss mein Arbeitsverzeichnis (@WorkingDir) angegeben werden oder ist jedes Verzeichnis möglich?


    Frage 3: Was bringt die Angabe des Arbeitsverzeichnisses?

    Danke an funkey für den nützlichen Link ^^ >> http://www.delphi-treff.de/tipps/dateienv…chnis-arbeiten/
    Dies habe ich dazu auch noch gefunden:

    Zitat

    Genau genommen ist das Arbeitsverzeichnis kein “automatisches” Verzeichnis und nicht wirklich festgelegt. Wie der Name schon sagt, soll in diesem Verzeichnis “gearbeitet” werden. Also Dateien gelesen und geschrieben werden. Man könnte auch sagen, dass das Arbeitsverzeichnis für jede Datei anders ist. nämlich genau das Verzeichnis in dem die Datei liegt (oder abgelegt wird).


    Quelle: http://blog.nigjo.de/netbeans/2010/05/verzeichnistypen/


    StderrRead und StdoutRead [gelöst]
    Liest eine Anzahl von Zeichen aus einem STDERR-Stream eines zuvor gestarteten Child-Prozesses ein.

    Dazu habe ich mir das Beispiel in der Hilfe angeschaut: (leicht verändert | Zeile 4)

    Spoiler anzeigen
    [autoit]

    ; Demonstriert StdoutRead()
    #include <Constants.au3>

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

    Local $foo = Run(@ScriptDir & '/Output.exe', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Local $line
    While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    MsgBox(0, "STDOUT gelesen:", $line)
    WEnd

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

    While 1
    $line = StderrRead($foo)
    If @error Then ExitLoop
    MsgBox(0, "STDERR gelesen:", $line)
    WEnd

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

    MsgBox(0, "Debug", "Wie aufregend...")

    [/autoit]

    Dazu der Inhalt der Output.exe:

    [autoit]

    ConsoleWrite('Make-Grafik')
    ConsoleWrite('Make-Grafik Error') ;~ Hinzugefügt
    Sleep(10000) ;~ Hinzugefügt

    [/autoit]



    Frage 1: Wieso liest StdoutRead nichts aus aber dafür StderrRead?


    Frage 2: Wieso liest StderrRead nichts aus, wenn ich Zeile 6 bis 10 auskommentiere?

    Spoiler anzeigen
    [autoit]

    ; Demonstrates StdoutRead()
    #include <Constants.au3>

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

    Local $foo = Run(@ScriptDir & '/Output.exe', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Local $line
    ;~ While 1
    ;~ $line = StdoutRead($foo)
    ;~ If @error Then ExitLoop
    ;~ MsgBox(0, "STDOUT read:", $line)
    ;~ WEnd

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

    While 1
    $line = StderrRead($foo)
    If @error Then ExitLoop
    MsgBox(0, "STDERR read:", $line)
    WEnd

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

    MsgBox(0, "Debug", "Exiting...")

    [/autoit]

    Danke an Shadowigor >> Post #6
    Auch ein Danke an misterspeed für den Hinweis >> Post #7 (Die Antwort hat euch vor einer weiteren Frage bewahrt ^^)

    StdinWrite [gelöst]
    Hier wieder das veränderte Script (Zeile 4)

    Spoiler anzeigen
    [autoit]

    ; Demonstriert den Gebrauch von StdinWrite()
    #include <Constants.au3>

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

    Local $foo = Run('Output.exe', @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
    ; Schreibt den zu sortierenden String in sort.exe's STDIN
    StdinWrite($foo, "Ratte" & @CRLF & "Katze" & @CRLF & "Fledermaus" & @CRLF)
    ; Aufruf ohne zweites Argument schliesst den Stream
    StdinWrite($foo)

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

    ; Lies aus dem Child's STDOUT und zeige es an
    Local $data
    While True
    $data &= StdoutRead($foo)
    If @error Then ExitLoop
    Sleep(25)
    WEnd
    MsgBox(0, "Debug", $data)

    [/autoit]

    Frage 1: Wieso kommt als Ausgabe "Make-Grafik"? Sollte dort nicht "Ratte Katze Fledermaus" erscheinen? Hier das Orginal Beispiel:

    Spoiler anzeigen
    [autoit]

    ; Demonstriert den Gebrauch von StdinWrite()
    #include <Constants.au3>

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

    Local $foo = Run("sort.exe", @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
    ; Schreibt den zu sortierenden String in sort.exe's STDIN
    StdinWrite($foo, "Ratte" & @CRLF & "Katze" & @CRLF & "Fledermaus" & @CRLF)
    ; Aufruf ohne zweites Argument schliesst den Stream
    StdinWrite($foo)

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

    ; Lies aus dem Child's STDOUT und zeige es an
    Local $data
    While True
    $data &= StdoutRead($foo)
    If @error Then ExitLoop
    Sleep(25)
    WEnd
    MsgBox(0, "Debug", $data)

    [/autoit]

    Ich habs verstanden :D

    +++++ | +++++ | +++++ | +++++ | +++++

    Ich möchte mich hier Vorweg schonmal bedanken :) Ich weiß das es nicht selbstverständlich ist auf meine Fragen zu Antworten! Deswegen bin ich für jeden Tipp / Hinweis / Antwort wirklich sehr dankbar :D | Ich bemühe mich auch das ganze schnell zu verstehen ^^

    Mfg. Make-Grafik

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™