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. SOLVE-SMART

Beiträge von SOLVE-SMART

  • Buttons klickbar machen

    • SOLVE-SMART
    • 21. Januar 2022 um 17:13

    Hi nochmal,

    Zitat

    Hätte jetzt nicht gedacht dass es solche Schwierigkeiten macht da ein paar Cases reinzubekommen.

    Nein natürlich ist das kein großes Problem. Hier mal eine klein wenig abgewandelte Variante deines bisherigen Skriptes, die "funktioniert":

    Mit klickbaren Buttons und Schließen-X
    AutoIt
    #include-once
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <String.au3>
    #include <WindowsConstants.au3>
    
    Opt("MustDeclareVars", 1)
    
    FileInstall("C:\Users\Riegert\Pictures\DSC04006.JPG", "C:\Windows\Temp\hg.jpg", 1)
    
    Global $ROUNDES = 20, $LastHwnd = 0
    Global $GUIBKCOLOR = 0x3D96F6
    Global $ARRAY_COLOR_TOP_MIN[3] = [36, 65, 142], $ARRAY_COLOR_TOP_MAX[3] = [11, 42, 122]
    Global $RBOX_EVENT_CLOSE
    Global $GUI
    
    _SQL()
    
    RBoxCreate("PC  INTEGRATOR Version 4.0", 800, 600)
    
    Global $idButton_1 = GUICtrlCreateButton("Customize PC", 10, 55, 100, 20)
    Global $idButton_2 = GUICtrlCreateButton("Image-Prepare", 130, 55, 100, 20)
    Global $idButton_3 = GUICtrlCreateButton("DL aktualisieren", 250, 55, 100, 20)
    Global $idButton_4 = GUICtrlCreateButton("RegSettings", 370, 55, 100, 20)
    Global $idButton_5 = GUICtrlCreateButton("Customize PC", 490, 55, 85, 20)
    
    Local $iPID = 0
    
    While True
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE, $RBOX_EVENT_CLOSE
                GUIDelete($GUI)
                Exit
    
            Case $idButton_1
                MsgBox(0, "", 1)
                ;  Run Notepad with the window maximized.
                ;~ $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
    
            Case $idButton_2
                MsgBox(0, "", 2)
                ;~ $iPID = SoundPlay("C:\Users\xyz\Music\AUDIO\sampler\abc.wav")
    
            Case $idButton_3
                MsgBox(0, "", 3)
    
            Case $idButton_4
                MsgBox(0, "", 4)
    
            Case $idButton_5
                MsgBox(0, "", 5)
        EndSwitch
    WEnd
    
    Func RBoxCreate($Title, $width, $height, $left = -1, $top = -1, $show = 1)
        $GUI = GUICreate($Title, $width, $height, $left, $top, $WS_POPUP)
        GUISetBkColor($GUIBKCOLOR, $GUI)
        ;GUISetFont(9,  100, italic)
        GUISetFont(-1, 9, 900) ; bold
        GUICtrlCreatePic('C:\Windows\Temp\hg.jpg', 0, 25, 920, 660)
        ;GUICtrlCreatePic('C:\Users\Riegert\Pictures\DSC04006.JPG', 0, 25, 920, 660)
        $RBOX_EVENT_CLOSE = GUICtrlCreateLabel('X', $width - 20, 3, 25, 25)
        GUICtrlSetCursor($RBOX_EVENT_CLOSE, 0)
        GUICtrlSetBkColor($RBOX_EVENT_CLOSE, -2)
        GUICtrlSetFont($RBOX_EVENT_CLOSE, 15, 800)
        GUICtrlSetColor($RBOX_EVENT_CLOSE, 0xFFFFFF)
        $Title &= " "
    
        ;LABELS
        GUICtrlCreateLabel("CUSTOMIZING" & _StringRepeat(" ", 185) & "Local DB-Server: &$st", 10, 35, 980, 20)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlSetFont(-1, 9, 800) ; bold
    
        GUICtrlCreateLabel("Einzelmodule", 10, 120, 780, 20)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlSetFont(-1, 9, 900) ; bold
    
        GUICtrlCreateLabel("System-Wartung und Checks", 10, 220, 780, 20)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlSetFont(-1, 9, 900) ; bold
    
        GUICtrlCreateLabel("Datenbank", 10, 420, 780, 20)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlSetFont(-1, 9, 900) ; bold
    
        GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 95, 900)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 200, 900)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
        GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 400, 900)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
        GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________", 0, 530, 900)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________", 0, 555, 900)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        ;guictrlcreatelabel("You've completed " & $st & "runs.",100,25,100,25,$SS_CENTER)
    
        Local $hTitle = GUICtrlCreateLabel($Title, 0, 0, $width - 20, 26, $SS_CENTER, $GUI_WS_EX_PARENTDRAG)
        GUICtrlSetFont($hTitle, 17, 400, 0, "Consolas")
        GUICtrlSetBkColor($hTitle, -2)
    
        Local $Graphic = GUICtrlCreateGraphic(0, 0, $width, 25)
        GUICtrlSetState($Graphic, $Gui_DISABLE)
    
        If $show = 1 Then GUISetState(@SW_SHOW, $GUI)
    EndFunc   ;==>RBoxCreate
    
    Func _SQL()
        Local $SeviceName = "SQL Server (AUGIAS)" ;name of the service to test
    
        RunWait(@ComSpec & " /c net start > c:\temp\services.txt", "", @SW_HIDE) ;send a list of the services that are running to a file
    
        Local $FileText = FileRead("c:\temp\services.txt", FileGetSize("c:\temp\services.txt")) ;read that file
        Local $st = null
    
        If StringInStr($FileText, $SeviceName) Then ;check for the service name
            $st = "RUNNING"
        Else
            $st = "OFF"
        EndIf
    EndFunc   ;==>_SQL
    Alles anzeigen


    Du schreibst außerdem noch:

    Zitat

    Ich entnehme Deiner Aussage dass das mit der CheckX Funktion durcheiander gerät.

    Ja, die habe ich komplett rausgenommen da sie nicht benötigt wird. Zudem gibt es jedoch aus meiner Sicht zwei weitere Probleme mit dem Skript so in dieser "Quick & Dirty" abgeänderten Variante.

    • Zum Einen solltest du einige Dinge trennen/neustrukturieren und dir eine Übersicht verschaffen wo was im Skript hingehört. So wie es jetzt ist sollte man es nicht lassen.
    • Zum Anderen ist es sehr wahrscheinlich, dass du bald mit dem nächsten Problem diesbzgl. auf uns zukommen wirst, da sich andere Codestellen nicht wie erwartet verhalten oder ähnliches (so meine Einschätzung dazu).

    Daher auch die gut gemeinten Vorschläge von Moombas und mir 😀 .

    Viele Grüße

    Sven

  • Buttons klickbar machen

    • SOLVE-SMART
    • 21. Januar 2022 um 16:19

    Hi casi4712,


    ich denke auch du solltest dir nicht zu viel auf einmal vornehmen und die Schritte wie von Moombas beschrieben erstmal Stück für Stück umsetzen und dazulernen 😀 .
    Dann fällt es sicherlich auch einfacher den Überblick zu bewahren und eine Struktur für dein Skript/Programm aufzubauen.

    Mal eine Frage zum Ziel:
    Sind die Aktionen die auf den Button-Klicks stattfinden sollen (deine Aufrufe diverser Skripte), bspw.:

    Zitat

    [...] PC-Einrichtung\PCSETTING_listv2.cmd [...]

    evtl. sogar in AutoIt umsetzbar und es ist gar nicht nötig das du andere Skripte aufrufst 🧐 ?
    Ich meine, wenn du dir nochmal überlegst was genau dein Ziel ist und es neu formulierst (falls es neu sein wird/sollte), dann können wir hier wahrscheinlich konkretere Vorschläge und Hilfestellungen leisten.


    Viele Grüße

    Sven

  • Webdriver Button drücken

    • SOLVE-SMART
    • 21. Januar 2022 um 00:56

    Hi Werner,

    wenn du mit "im Hintergrund arbeiten lassen" meinst, dass der Browser nicht zu sehen ist, dann nennt man dies "headless" bzw. headless mode.
    Hier nochmal dein Skript mit minimalen Anpassungen damit es ein klein wenig besser lesbar ist:

    Code aus #41
    AutoIt
    #include-once
    #include "wd_core.au3"
    #include "wd_helper.au3"
    
    ;~ $_WD_DEBUG = ""  ; ==> Dos Fehlerconsole aus
    $_WD_DEBUG_INFO     ; ==> Dos Fehlerconsole an
    
    Local $sDesiredCapabilities, $sSession
    
    SetupGecko()
    _WD_Startup()
    
    Local $sSession = _WD_CreateSession($sDesiredCapabilities)
    
    _WD_Navigate($sSession, "https://google.de")
    
    MsgBox(0,"","") ; ==> hält Browser an
    
    _WD_DeleteSession($sSession)
    _WD_Shutdown()
    
    Func SetupGecko()
       _WD_Option("Driver", "C:\Users\xx2\Desktop\WebDr Fire\WebDriver Test\WebDriver-0.5.0.1\geckodriver.exe")
       _WD_Option('DriverParams' ,  '--log trace --marionette-port 2828')
       _WD_Option('Port', 4444)
    
        ;~ ==> neues Profil anlegen funktioniert
        ;~ $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"browserName": "firefox", "acceptInsecureCerts":true}}}'
    
        ;~ ==> neues Profil anlegen funktioniert
        ;~ $sDesiredCapabilities  =  '{"desiredCapabilities":{"javascriptEnabled":true,"nativeEvents":true,"acceptInsecureCerts":true}}'
    
        ;~ ==> Benutzerprofil einlesen funktioniert
        $sDesiredCapabilities = '{"capabilities":{"alwaysMatch": {"moz:firefoxOptions": {"args": ["-profile", "' & GetBenutzerFFProfil() & '"],"log": {"level": "trace"}}}}}'
        
        ;~ MsgBox(0, "DesiredCapabilities", $sDesiredCapabilities) ; Kontrolle
    EndFunc
    
    Func GetBenutzerFFProfil()
        Local $sDefault, $sProfilePath = ''
    
        Local $sProfilesPath = StringReplace(@AppDataDir, '\', '/') & "/Mozilla/Firefox/"
        Local $sFilename = $sProfilesPath & "profiles.ini"
        Local $aSections = IniReadSectionNames ($sFilename)
    
        If Not @error Then
            For $i = 1 To $aSections[0]
                $sDefault = IniRead($sFilename, $aSections[$i], 'Default', '0')
    
                If $sDefault = '1' Then
                    $sProfilePath = $sProfilesPath & IniRead($sFilename, $aSections[$i], "Path", "")
                    ExitLoop
                EndIf
            Next
        EndIf
    
        Return $sProfilePath
    EndFunc
    Alles anzeigen

    Falls dein Skript also soweit funktioniert, musst du nur in Zeile 34 aus "-profile" dies "-headless", "-profile" machen.
    M
    ehr sollte nicht nötig sein :) .

    Viele Grüße
    Sven

  • Webdriver Button drücken

    • SOLVE-SMART
    • 20. Januar 2022 um 21:35

    Hi Windi,

    ich bin durch deine Posts und deren Antworten durchgegangen. Mir ist allerdings noch nicht klar ob dein Problem komplett gelöst ist oder ob da noch was kommt?

    Zitat

    Ich würde gern mein komplettes Tread zur Verfügung stellen.

    Vom Anfänger für Anfänger!

    Tipp:

    Mit diesem zusammenfassenden Code snippet (siehe Thread #41), wirst du leider nur den Wenigsten helfen können, da der Kontext fehlt. Vielleicht beschreibst du dein Vorhaben in diesem Post nochmal kurz ;) .

    Allgemein:

    Mit dem durch Danp2 und @mLipok auf GitHub gehosteten Projekt WebDriver bin ich recht gut vertraut (nutze ich für einige meiner eigenen kleinen Projekte). Falls du also weitere Fragen haben solltest, hoffe ich das ich ggf. ein paar Tipps geben kann :) .

    Viele Grüße

    Sven

  • Hallo zusammen, ich bin Sven

    • SOLVE-SMART
    • 20. Januar 2022 um 18:04

    Dann "Danke" und "thank you" @Musashi ;) .

  • Hallo zusammen, ich bin Sven

    • SOLVE-SMART
    • 20. Januar 2022 um 16:00

    Hi Leute,

    ich bin Sven (SOLVE SMART), Software Test Engineer mit Fokus auf Testautomation und seit etlichen Jahren begeisterter AutoIt Nutzer :) .

    Privat bin ich Ehemann, Vater, Freund, Sohn, IT Geek und sehr engagiert.

    Ich freue mich hier im Forum auf einen angenehmen und konstruktiven Austausch.
    Fragen, Kritik, Anmerkungen oder Verbesserungsvorschlägen stehe ich immer gern offen gegenüber, also scheut euch nicht, ich tue es auch nicht :D .

    Viele Grüße
    Sven

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™