 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Nick Gast
|
Verfasst am: Mo Mai 22, 2006 12:29 pm Titel: Ausgabefenster/Konsole |
|
|
hallo
ich möchte gerne während dem mithilfe von AHK automatisierten Ablauf von mehreren nacheinander ablaufenden Programmen eine Ausgabe-Konsole laufen lassen.
Etwas genauer:
1.Programm läuft durch und liefert irgendwelche Ergebnisse
-> ins Logfile: Info über erfolgte Ergebnisse
2. Programm benutzt diese Ergebnisse um eine Datei für ein neues Programm zur Verfügung zu stellen
-> ins Logfile: Info über erfolgreichen Abschluss des 1. Programms...
3. weiteres Programm wird gestartete
-> ins Logfile: Info über erfolgreichen Abschluss des 2. Programms...
usw.
Während des ganzen Prozesses werden immer wieder Informationen in ein Logfile geschrieben, um nachher evtl. Fehlverhalten zu erkennen.
Ich möchte nun gerne zusätzlich zur Mitschrift im Logfile diese Infos in ein Ausgabefenster, (so ähnlich wie DOS-Shell oder eben Konsolen-Fenster) schreiben, damit der Benutzer lesen kann, was grad passiert.
Da aber AHK mit der graphischen Oberfläche (active window usw) arbeitet, würde ich bei so einer Ausgabe wahrscheinlich immer ein active window erzeugen, und damit mit der graphischen Oberfläche kollidieren...
Vielleicht gibt es aber von AHK einen Befehl, der so eine Ausgabe ermöglicht, die aber trotzdem nicht von AHK als WIndow erkannt wird. So ähnlich wie MsgBox, nur dass der Prozess nicht anhalten soll.
Ich hoffe, ich hab das Problem jetzt nicht zu kompliziert beschrieben.
Wär schön, wenn jemand was weiss, oder vielleicht im Forum einen ähnlichen Thread gesehen hat. Ich hab leider noch nichts dergleichen gefunden.
|
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1869 Wohnort: Österreich
|
Verfasst am: Mo Mai 22, 2006 12:50 pm Titel: |
|
|
Also du hast bereits ein AHK-Script das die 3 Programme ansteuert und du erhältst Log-Files aus denen du einige Infos bekommen kannst?
Ich würde mir dann eine Oberfläche erzeugen mit einem Edit-Feld oder einer Listbox (eventuell auch Listview, je nach Art der Strukturierung) in dem du dann die Ausgaben machst.
Dies hält deine Programmabfolge normalerweise nicht auf (außer diese reagieren allergisch auf dieses erscheinende Fenster) und stoppen die Ausführung nicht wie eine MsgBox.
Um dir im Detail zu helfen fehlen mir leider ein wenig Infos. Ich bin ein Freund von kleinen Samples um zu erläutern worum es gerade geht.
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Mo Mai 22, 2006 12:56 pm Titel: |
|
|
| Zitat: | ToolTip
--------------------------------------------------------------------------------
Creates an always-on-top window anywhere on the screen.
ToolTip [, Text, X, Y, WhichToolTip] | Sollte funzen. Einfach parallel zum mitloggen den Text/die Zeile via Tooltip anzeigen. |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Mo Mai 22, 2006 12:58 pm Titel: |
|
|
| Ansonsten tuts noch tail -f über die cygwin shell. Damit kannste logs zur Laufzeit in der Konsole mitlesen. |
|
| Nach oben |
|
 |
Nick Gast
|
Verfasst am: Mo Mai 22, 2006 1:26 pm Titel: |
|
|
ok, danke für die schnellen Antworten.
Ich hab bisher den Befehl:
"GUI,show, NA, Text"
gefunden.
NA heisst not active, Das Fenster erscheint ohne zu stören unten in der Symbolleiste. Der wär schon das, was ich suche, aber da kann man immer nur aus einem Skript reinschreiben. Mit meiner Programmaufzählung meinte ich, ich habe ein Masterprogramm, aus dem ich verschiedene andere Hotkey-Programme aufrufe. Das macht dann Änderungen unabhängig usw.
Nur macht dann jedes Programm sein eigenes GUI-Fenster auf
 |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1869 Wohnort: Österreich
|
Verfasst am: Mo Mai 22, 2006 2:12 pm Titel: |
|
|
Du kannst eine Gui via der Befehlsserie "Control" (nicht "GuiControl") auch von außen füttern.
Hier ein kleines Sample:
Hauptprogramm Test.ahk: | Code: | Gui, Add, Edit, r5 w200 vMyLog, Starting...`n
Gui, Show, NA, Text
RunWait, SubTest.ahk
return |
und Subtest.ahk | Code: | ControlGetText, Log, Edit1, Text
Log = %Log%Zeile aus Subprogramm1 `r`n
ControlSetText, Edit1, %Log%, Text | Ich hoffe du kommst klar damit!
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
Nick Gast
|
Verfasst am: Di Mai 23, 2006 9:19 am Titel: |
|
|
hallo Thalon
dein Skript funktioniert super
Ich kann aus allen meinen Slave-Programmen in das selbe Fenster schreiben. Aber das Fenster erscheint irgendwo auf dem Desktop und tritt in den Hintergrund, wenn was neues aufgeht. und es soll ja zum Mitlesen dienen.
1) weisst Du, ob man es in die Menüleiste reinkriegt, oder sonstwie an den unteren Rand? Mit den Positionierungsbefehlen geht es nicht, denn da kann man nur die Größe vom Rahmen um das Textfeld bestimmen. Aber die Position nicht.
2) kann man auch einstellen, dass bei mehr Textzeilen, als im fenster festgelegten Zeilen die unteren sichtbar sind, und nicht die oberen (rest zum scrollen).
Danke |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1869 Wohnort: Österreich
|
Verfasst am: Di Mai 23, 2006 10:06 am Titel: |
|
|
So? | Code: | Gui, Add, Edit, r5 w200 vMyLog, Starting...`n
Gui, +AlwaysOnTop +LastFound
Gui, Show, NA, Text
WinGetPos, , , Width, Height, Text
WinMove, A_ScreenWidth - Width, A_ScreenHeight - Height
Loop, 10
RunWait, SubTest.ahk
return |
Subtest.ahk
| Code: | ControlGetText, Log, Edit1, Text
Log = %Log%Zeile aus Subprogramm1 `r`n
ControlSetText, Edit1, %Log%, Text
ControlSend, Edit1, {Ctrl Down}{End}{Ctrl Up}, Text |
Ich schlage vor du siehst dich in Zukunft am Besten bei den Befehlen etwas um. Z.b. wenn du Fragen zu Fenstern hast (Positionieren, AlwaysOnTop) liest du dir die Fensterbefehle durch.
Wenn du Fragen zu Controls hast (wie Scrollen) liest du dir diese Befehle durch. So erhält man schnell einen guten Einblick in das was AHK kann und es dauert weniger lang als übers Forum!
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Di Mai 23, 2006 10:28 am Titel: |
|
|
Korrekter Einwand. Auf jeder Hilfeseite gibt es unter dem Abschnitt/Stichwort Related Befehle welche auf die eine oder andere Weise mit dem aktuell angezeigten Befehl in Zusammenhang stehen bzw. ähnliche Anforderungen abdecken. Hier zum Beispiel Querverweise für den Befehl Control | Zitat: | Related
SetControlDelay, ControlGet, GuiControl, ControlGetText, ControlSetText, ControlMove, ControlGetPos, ControlClick, ControlFocus, ControlSend, WinSet |
|
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|