Statusfenster...

  • Hallo @,

    ich möchte mit meinem AutoIT Skript per "run" Befehl ein DOS Befehl
    laufen lassen, möchte aber das dieser DOS Befehl in einem versteckten Fenster ausgeführt werden und während dessen ein StatusFenster auftaucht wie z.B. "Bitte warten xxx wird gerade durchgeführt..." und wenn der
    DOS Befehl ausgeführt ist, soll das Statusfenster verschwinden und ein
    neues Fenster auftauchen mit z.B. "Auftrag erledigt".

    Gebt mir mal einen Tipp wie ich das am einfachsten per AutoIT
    Skript umsetzen kann, ich stehe grad voll auf dem Schlauch.

    Ich hab schon ein bisschen rumprobiert mit Runwait und @SW_HIDE
    aber ich bekomme die Sache mit der Statusmeldung nicht gebacken.

    Vielleicht kann mich jemand von Euch inspirieren....??

    Danke schonmal im voraus, für eine kleine Hilfe...

    Grüße
    Christian

  • Hallo peethebee,

    vielen Dank, hat erstmal super geklappt.

    Schön wäre, wenn man das mit dem Fortschrittsbalken etwas realistischer
    gestalten könnte.

    Mit den Progress Funktionen muß man die Dauer des laufenden Prozesses
    abschätzen und dann den Fortschritt des Balkens per Sekunden fest definieren, das kann aber in die Hose gehen, je nach aufgerufenem Prozess.

    Schön wäre, wenn´s die Möglichkeit gäbe, das ganze realistisch zu gestalten,
    also dass man quasi den "echten" Fortschritt des Prozesses anzeigen lassen könnte.

    Geht das vielleicht und ich war nur zu blöd es herauszufinden ?

    Grüße
    Christian

  • Hi peethebee,

    danke nochmal, Du hast natürlich recht, einigermassen realistisch gehts eben
    nur wenn man mehrere DOS Befehle laufen lassen würde und dann
    entsprechend zwischen den Befehlen den % Wert für den Skrollbalken
    anpasst. Bei einem einzigen DOS Befehl natürlich unmöglich...

    Aber mit Splash ist es wohl am besten.

    Danke nochmal für Deine Tipps, sie waren sehr hilfreich.

    Grüße
    Christian

  • Hallo zusammen,

    könnte man das Problem nicht so lösen, das im DOS-Fenster per SET-Befehl eine Information über den Status gesetzt wird und diese dann mit AutoIt gelesen werden?

    Ist nur eine Idee - keine Ahnung, ob das realisierbar ist.

    Gruß
    s.koni

  • Hi peethebee,

    ich habe es im Moment noch mit Deinem Ursprungsvorschlag
    (Starten mit Run und Parameter @SW_HIDE, dann WinWait, dann ProgressOn, ProgressSet, dann WinWaitClose, (ProgressSet,) ProgressOff.) am laufen.

    Bin leider noch nicht dazu gekommen mit dem Splash rumzuspielen, hab mir aber die Synthax bzw. die Funktion mal angeschaut und sie scheint mir sehr gut zu sein.

    Mit dem Posten des Skripts würde ich Euch gerne einen Gefallen tun,
    da ich es aber für ein grosses IT Unternehmen gebastelt habe und die
    da etwas empfindlich sind muß ich das Skript erst mal anpassen und die
    Company-eigenen Infos rausnehmen.

    Aber dann Poste ich das ganze gerne..... (Wie geht das eigentlich so schön wie Ihr das immer macht, mit dem Button, wo dann das Skript dahinter liegt...?)

    Gruß
    Christian

  • Hi peethebee,

    hier mal Ausschnitte aus meinen Skripts einmal mit den "Progress" Funktionen und einmal mit den "Splash" Funktionen

    Hier mit Progress...

    Spoiler anzeigen


    Hier mit Splash...

    Spoiler anzeigen
    Code
    Run("getPeriod.exe" & $antwort & " " & $start_date & " " & $end_date, "", @SW_HIDE)
    WinWait ("F:\getPeriod.exe")
    SplashTextOn("Bitte warten...", @CRLF & "Report wird erstellt..." & @CRLF & @CRLF & "Dies kann einige Minuten in Anspruch nehmen !", 350, 100, -1, -1, 4, "Arial", 12)
    WinWaitClose ("F:\getPeriod.exe")
    SplashOff()
    
    
    Exit

    Ich hoffe ich habs richtig gepostet, naja mal schauen...

    Bitte seht mir meine Unerfahrenheit mit AutoIT nach, aber so funktionierts
    bei mir zumindest mal... :-))

    Grüße
    Christian

    Edit peethebe: Code-Tags machen es schöner und besser zu lesen.

    2 Mal editiert, zuletzt von peethebee (8. Mai 2006 um 14:47)

    • Offizieller Beitrag

    Hallo,

    die Splash-Version kann man auch so schreiben:

    Code
    SplashTextOn("Bitte warten...", @CRLF & "Report wird erstellt..." & @CRLF & @CRLF & "Dies kann einige Minuten in Anspruch nehmen !", 350, 100, -1, -1, 4, "Arial", 12)
    RunWait("getPeriod.exe" & $antwort & " " & $start_date & " " & $end_date, "", @SW_HIDE)
    SplashOff()
    
    
    Exit
  • hallo,die Splash-Versionen finde ich eine sehr gute anregung,kann ich auch gut gebrauchen.
    ist es möglich den Text auch Farbig darstellen zu lassen?

  • Hallo weedhead,
    (Wo habe ich den Namen denn nur schon mal gelesen :rofl: )
    Probiers aus, ich wünsch dir mehr Glück, als ich hatte, denn ich habe es nicht geschafft..
    In der Hilfe steht allerdings auch nix dazu und GUICtrlSetColor() hatter einfach ignoriert.
    Kann ja sein, daß ich auf dem Holzweg bin..
    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..

    Einmal editiert, zuletzt von ytwinky (27. Mai 2006 um 16:41)

  • hallo ytwinky

    Wo du den Namen schon gelesen hast weiss ich nicht.

    aber ich denke schon das jemand hir eine lösung hat,sind einige Experten
    hir,sicher versuche ich es auch selber.

  • hab es selber hin bekommen.

    ;$font="Comic Sans MS"

    $font="Comic Sans MS Fett"
    GUICreate("Das ist ein Color text", 450, 312, 100, 100, 0)
    GUISetFont (16, 400, 6, $font)
    GUICtrlCreateLabel ("Hir kannst du dein Text schreiben", 30,20,)
    GUICtrlSetColor(-1,0xff4500) ; orangered
    GUISetFont (16, 400, 6, $font)
    GUICtrlCreateLabel ("such dir eine zeile aus", 60,80)
    GUICtrlSetColor(-1,0x191970) ; midnightblue
    GUISetFont (16, 400, 6, $font)
    GUICtrlCreateLabel ("in welcher farbe auch immer",50,190)
    GUICtrlSetColor(-1,0xff00ff) ; fuchsia
    GUISetState ()
    Sleep(10000)

  • Hi weedhead,
    na das ist ja prima..
    ..ich hatte dich mißverstanden, weil ich geglaubt habe, du wolltest den Splashtext einfärben.
    Und das hatte ich probiert..
    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..

  • Schönen Sonntag an alle,ist das den nicht richtig der text wirt doch fabig dargestelt.drei zeilen in drei verschiedenen farben.
    oder wie meinst du das?

    mfg. weedhead

  • Neenee, du hast das schon richtig gemacht..
    Wenn du die Funktion SplashTextOn(..) verwendest, geht ein Fenster mit deinem Text auf..
    ..ich dachte, der sollte farbig werden.
    Schönen Sonntag noch
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..