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. autoBert

Beiträge von autoBert

  • Favoriten und GUI in einer GUI schliessen.

    • autoBert
    • 14. März 2011 um 11:26

    Hallo DaisukeHideki,

    hier einmal die geänderte Version:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=Icon.ico
    #AutoIt3Wrapper_Outfile=Launcher_New.exe
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #Region
    #EndRegion
    ; ================================;
    ; Minecraft Launcher
    ; Made by Aldeos
    ; © 2011 Aldeos.de
    ; ================================;

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

    ;====Includes====;
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3> ;<================ zu Debugwecken nütlich

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

    If Not FileExists(@AppDataDir & "\.minecraft\Splash.jpg") Then FileInstall("Splash.jpg", @AppDataDir & "\.minecraft\Splash.jpg") ;- Fragt ab, ob Splash.bmp existiert, falls nicht installiert er diese Datei.
    If Not FileExists(@AppDataDir & "\.minecraft\Minecraft.exe") Then FileInstall("Minecraft.exe", @AppDataDir & "\.minecraft\Minecraft.exe") ;- Fragt ab, ob Minecraft.exe existiert, falls nicht installiert er diese Datei.

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

    ;<=========================
    if not FileExists(@AppDataDir & "\.minecraft") Then DirCreate(@AppDataDir & "\.minecraft\")
    Global $aFav
    ;<=========================

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

    ;====GUI====;
    $GUI = GUICreate("Minecraft Launcher by Aldeos.de", 401, 251, 273, 176) ;- Erstellt die GUI.
    $DATA = GUICtrlCreateMenu("Datei")
    $EXIT = GUICtrlCreateMenuItem("Beenden", $DATA)
    $SERVER = GUICtrlCreateMenu("Server")
    $ADD = GUICtrlCreateMenuItem("Server hinzufügen", $SERVER)
    $DELETE = GUICtrlCreateMenuItem("Server entfernen", $SERVER)
    $NAME = GUICtrlCreateLabel("Login:", 104, 42, 33, 17) ;- Erstellt den Label "Login:".
    $NAME_READ = IniRead(@AppDataDir & "\.minecraft\Launcher.ini", "Config", "NAME", "") ;- Liest aus der Launcher.ini die Wert NAME aus der Sektion Config.
    $NAME_INPUT = GUICtrlCreateInput($NAME_READ, 160, 40, 121, 21) ;- Erstellt ein Eingabefeld für den Namen.
    $PASSWORD = GUICtrlCreateLabel("Passwort:", 104, 70, 50, 17) ;- Erstellt den Label "Password:".
    $PASS_READ = IniRead(@AppDataDir & "\.minecraft\Launcher.ini", "Config", "PASS", "");- Liest aus der Launcher.ini die Wert PASS aus der Sektion Config.
    $PASSWORD_INPUT = GUICtrlCreateInput($PASS_READ, 160, 68, 121, 21, $ES_PASSWORD);- Erstellt ein Eingabefeld für das Password.
    $IP = GUICtrlCreateLabel("IP:", 104, 98, 17, 17) ;- Erstellt den Label "IP:".
    ;<============ hier eine Zeile gelöscht und nächste angepasst
    $IP_INPUT = GUICtrlCreateCombo("", 160, 96, 121, 25) ;-;- Erstellt ein Eingabefeld für die IP.
    $START = GUICtrlCreateButton("Start", 194, 128, 89, 25, $WS_GROUP) ;- Erstellt einen Button mit der Aufschrift "Start" zum starten des Spieles.
    $UPDATE = GUICtrlCreateButton("Update", 104, 128, 81, 25, $WS_GROUP) ;- Erstellt einen Button mit der Aufschrift "Update" zum überprüfen auf Updates.
    $IMG = GUICtrlCreatePic(@AppDataDir & "\.minecraft\Splash.jpg", 0, 0, 400, 230, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $DL_PROG = GUICtrlCreateProgress(16, 173, 369, 25)
    $DL_LAB = GUICtrlCreateLabel("", 24, 204, 4, 4)
    $UPDATE = GUICtrlCreateButton("Update", 104, 128, 81, 25, $WS_GROUP)
    $VERSION = GUICtrlCreateLabel("V. 1.0", 352, 200, 32, 17)
    GUISetState(@SW_SHOW)
    _IniRead();<======================

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

    ;====Variable====;
    $ServerINI = @TempDir & "\serverversion.ini"
    $LocalINI = @AppDataDir & "\.minecraft\Version.ini"
    $upd_url = IniRead($LocalINI, "File", "URL", "")
    $sString = BinaryToString(InetRead('http://46.4.146.40/serverversion.ini'))
    $hFile = FileOpen($ServerINI, 2)
    FileWrite($hFile, $sString)
    FileClose($hFile)
    FileDelete($hFile)
    $Ini1 = IniRead($ServerINI, "Update", "VERSION", "")
    $Ini2 = IniRead($LocalINI, "Update", "VERSION", "")
    $url = IniRead($ServerINI, "File", "URL", "")
    $NAME = IniRead($ServerINI, "File", "NAME", "")
    $size = InetGetSize($url & $NAME)

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

    ;====Funktionen====;
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $EXIT
    Exit
    Case $START
    _startcheck()
    Case $UPDATE
    _updatecheck()
    Case $ADD
    _favadd()
    _IniRead() ;<======================
    Case $DELETE
    _favdel()
    _IniRead();<======================
    EndSwitch
    WEnd

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

    Func _IniRead() ;<<================ ganze Func
    $aFav = IniReadSection(@AppDataDir & "\.minecraft\Launcher.ini", "Favoriten")
    ;- Liest aus der Launcher.ini die Favoriten
    if IsArray($aFav) Then
    GUICtrlSetData($IP_INPUT,"","")
    _ArrayDisplay($aFav,"Favoriten")
    for $i = 1 to $aFav[0][0]
    GUICtrlSetData($IP_INPUT,$aFav[$i][0])
    Next
    EndIf
    EndFunc

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

    Func _run()
    If Not @error Then
    $NAME = GUICtrlRead($NAME_INPUT)
    $PASS = GUICtrlRead($PASSWORD_INPUT)
    $IP = GUICtrlRead($IP_INPUT)
    $PASS_READ = IniRead(@AppDataDir & "\.minecraft\Launcher.ini", "Config", "PASS", "")
    ShellExecute(@AppDataDir & "\.minecraft\Minecraft.exe", $NAME & " " & $PASS_READ & " " & $IP) ;- Startet die Datei "Minecraft.exe" mit den folgenden Parametern, $NAME_READ, $PASS_READ und $IP_READ.
    If Not @error Then
    IniWriteSection(@AppDataDir & "\.minecraft\Launcher.ini", "Config", "NAME=" & GUICtrlRead($NAME_INPUT) & @LF & "PASS=" & GUICtrlRead($PASSWORD_INPUT) & @LF & "IP=" & GUICtrlRead($IP_INPUT)) ;- Schreit $NAME_INPUT, $PASSWORD_INPUT und $IP_INPUT in die INI.
    Exit
    EndIf
    EndIf
    EndFunc ;==>_run

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

    Func _updatecheck()
    If $Ini1 <> $Ini2 Then
    $iMsgBoxAnswer = MsgBox(52, "Aktualisierung gefunden!", "Es wurde eine Aktualisierung gefunden." & @CRLF & "Möchten Sie diese herunterladen?")
    Select
    Case $iMsgBoxAnswer = 6
    $download = InetGet($url & $NAME, $NAME, 1, 1)
    Do
    $info = InetGetInfo($download, 0)
    $percent = (100 / $size) * $info
    GUICtrlSetData($DL_PROG, $percent)
    $Old = GUICtrlRead($DL_LAB)
    $New = "Geladen:" & Round(($info / 1024) / 1024, 1) & " / " & Round(($size / 1024) / 1024, 1) & "MB"
    If $Old <> $New Then GUICtrlSetData($DL_LAB, $New)
    Until $percent >= 100
    IniWrite($LocalINI, "Update", "VERSION", $Ini1)
    _Update()
    Exit
    Case $iMsgBoxAnswer = 7
    Exit
    EndSelect
    EndIf
    EndFunc ;==>_updatecheck

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

    Func _startcheck()
    If $Ini1 <> $Ini2 Then
    MsgBox(48, "Version nicht aktuell!", "Ihre Version ist nicht aktuell." & @CRLF & "Bitte aktualisieren sie ihren Launcher.")
    ElseIf $Ini1 = $Ini2 Then
    _run()
    EndIf
    EndFunc ;==>_startcheck

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

    Func _Update($iDelay = 0)
    Local $sCmdFile
    FileDelete(@TempDir & "scratch.bat")
    $sCmdFile = 'ping -n ' & $iDelay & '127.0.0.1 > nul' & @CRLF _
    & ':loop' & @CRLF _
    & 'del "' & @ScriptFullPath & '" > nul' & @CRLF _
    & 'if exist "' & @ScriptFullPath & '" goto loop' & @CRLF _
    & 'ren ' & @ScriptDir & '\Launcher_New.exe Launcher.exe' & @CRLF _
    & 'start ' & @ScriptDir & '\Launcher.exe' & @CRLF _
    & 'del ' & @TempDir & 'scratch.bat'
    FileWrite(@TempDir & "scratch.bat", $sCmdFile)
    Run(@TempDir & "scratch.bat", @TempDir, @SW_HIDE)
    Exit
    EndFunc ;==>_Update

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

    Func _favadd()
    $FAV_ADD = GUICreate("Hinzufügen", 201, 122, 192, 124)
    $NAME = GUICtrlCreateInput("", 48, 24, 145, 21)
    $IP = GUICtrlCreateInput("", 48, 56, 145, 21)
    $LAB_NAME = GUICtrlCreateLabel("Name:", 8, 26, 35, 17)
    $LAB_IP = GUICtrlCreateLabel("IP:", 24, 58, 17, 17)
    $ADD_SERVER = GUICtrlCreateButton("Hinzufügen", 56, 88, 89, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $ADD_SERVER
    IniWrite(@AppDataDir & "\.minecraft\Launcher.ini", "Favoriten", GUICtrlRead($NAME), GUICtrlRead($IP))
    ExitLoop
    EndSwitch
    WEnd
    GUIDelete($FAV_ADD)
    EndFunc ;==>_favadd

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

    Func _favdel()
    $FAV_DEL = GUICreate("Entfernen", 194, 99, 192, 124)
    $FAV_READ = IniReadSection(@AppDataDir & "\.minecraft\Launcher.ini", "Favoriten")
    $SELECT = GUICtrlCreateCombo($FAV_READ, 16, 24, 161, 25)
    $DELETE = GUICtrlCreateButton("Entfernen", 56, 56, 81, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($FAV_DEL)
    Case $DELETE
    IniDelete (@AppDataDir & "\.minecraft\Launcher.ini", "Favoriten", GUICtrlRead($SELECT))
    EndSwitch
    WEnd
    EndFunc

    [/autoit]

    wobei du die Änderungen (;<================) bei dir einpflegen solltest,

    mfg autoBert

  • Dreifach Geburtstag lars_k (36), monkey (20), qixx(19)

    • autoBert
    • 14. März 2011 um 01:53

    Happy Birthday ihr 3: lars_k, monkey, qixx, alle guten Wünsche, besonders Gesundheit, das Glück der Tüchtigen und Freude am Leben. Einen schönen Tag und lasst euch so richtig :party: :party: :party: :party: :party:

    :party: autoBert :party:

  • Favoriten und GUI in einer GUI schliessen.

    • autoBert
    • 14. März 2011 um 01:03

    Hallo DaisukeHideki,

    normalerweise würde ich den OnEvent-Modus empfehlen beim arbeiten mit mehreren GUI 's. Es geht auch im MessageLoop-Modus da empfehle ich gerne den Advanced-Parameter von GuiGetMsg(1) und auch nur das Verwenden einer "Lebenserhaltensschleife".
    Wenn du dein Skript aber auf die Schnelle zum Laufen bringen willst setze einfach ein ExitLoop in den func's z.B.:

    Lebenserhaltensschleife von $FAV_ADD
    [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $ADD_SERVER
    IniWrite(@AppDataDir & "\.minecraft\Launcher.ini", "Favoriten", GUICtrlRead($NAME), GUICtrlRead($IP))
    ExitLoop
    EndSwitch
    WEnd
    GUIDelete($FAV_ADD)

    [/autoit]

    sonst wird diese Endlosschleife wirklich unendlich und blockiert das komplette Skript. Auch solltest du gerade in diesem Fall nach der Rückkehr die Combbox aktalisieren. Bei dir wird sonst erst nach dem nächsten Neustart der gerade hinzgefügte Server sichtbar,

    mfg autoBert

  • Array

    • autoBert
    • 13. März 2011 um 22:42

    Hallo anna,

    hier einmal ein Ansatz, den ich aber nicht testen kann:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #Include <Array.au3>

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

    Local $aIP, $aModell

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

    _FileReadToArray(@ScriptDir & "\ip.txt", $aIP)
    _FileReadToArray(@ScriptDir & "\modell.txt", $aModell)
    Local $aPrinter[$aIP[0]+1][4]
    For $x = 1 to $aIP[0]
    $aPrinter[$x][0] = $aIP[$x]
    $aPrinter[$x][1] = $aModell[$x]
    $aPrinter[$x][2] = FileRead(@ScriptDir & "\" & $aModell[$x] & ".txt") ;Pfad anpassen
    _checkPrinter($aPrinter[$x][0],$aPrinter[$x][2],$aPrinter[$x][3])
    Next
    _ArrayDisplay($aPrinter)

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

    Func _checkPrinter($sIP,$sMib,ByRef $sRet)
    Local $aMib = StringSplit(StringStripWS($sMib,3),@crlf,1)
    _ArrayDisplay($aMib)
    for $y = 1 to $aMib[0]
    $sRet &= _checkCounter($sIP,$aMib[$y]) ;Zählwerk-Rückgabe anhängen
    if $y < $aMib[0] Then $sRet &= "|" ;Trenneichen einfügen, damit wieder gesplittet werden kann
    Next
    EndFunc

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

    Func _checkCounter($sIP, $sMib)
    Local $sRet
    Return $sRet = _snmp(@ComSpec & " /c " & "snmpget -v1 -c public " & $sIP & chr(32) & $sMib)
    EndFunc

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

    Func _snmp($cmd)
    $pid = Run($cmd, @TempDir , "", 2)
    $ausfuehren = ""
    While 1
    $ausfuehren &= StdoutRead($pid)
    If @error Then ExitLoop
    Wend
    FileWrite(@ScriptDir & "\snmpget.txt", $ausfuehren)
    Return $ausfuehren
    EndFunc

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

    #cs Ursprung Anna
    #include <File.au3>
    #Include <Array.au3>

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

    Local $pid, $ausfuehren, $aIP, $aModell, $aMib

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

    _FileReadToArray(@ScriptDir & "\ip.txt", $aIP)
    _ArrayDisplay($aIP, "IP")
    For $x = 1 to $aIP[0]
    $ip = ($aIP[$x])
    Next
    _FileReadToArray(@ScriptDir & "\modell.txt", $aModell)
    _ArrayDisplay($aModell, "Modell")
    For $y = 1 to $aModell[0]
    $modell = ($aModell[$y])
    Next
    _FileReadToArray(@ScriptDir & "\" & $modell & ".txt", $aMib)
    _ArrayDisplay($aMib, "Modell.txt")
    For $z = 1 to $aMib[0]
    $mib = ($aMib[$z])

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

    $ausfuehren = _snmp(@ComSpec & " /c " & "snmpget -v1 -c public " & $ip & chr(32) & $mib)

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

    Next

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

    Func _snmp($cmd)
    $pid = Run($cmd, @TempDir , "", 2)
    $ausfuehren = ""
    While 1
    $ausfuehren &= StdoutRead($pid)
    If @error Then ExitLoop
    Wend
    FileWrite(@ScriptDir & "\snmpget.txt", $ausfuehren)
    Return $ausfuehren
    EndFunc
    #ce

    [/autoit]

    sollte aber laufen wenn deine func _snmp und der Aufruf dazu gestimmt haben,

    mfg autoBert

  • Fenster mit vertikaler Scrollbar

    • autoBert
    • 13. März 2011 um 21:56

    Hallo misterspeed,

    schau dir http://www.autoitscript.com/forum/topic/11…post__p__795504 von Melba23 an, ich glaube er hat in seiner UDF Scrollradunterstütung,

    mfg autoBert

  • Meldung Skype Hintergrundmodus automatisch bestätigen

    • autoBert
    • 13. März 2011 um 21:49

    Hallo matsahm,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee .

    Dein Problem ist meines Erachtens nach ja schnell und einfach zu lösen, siehe Tipp von MiluBarakus.
    Der Vollständigkeit halber hier noch weiterer Lesestoff, falls du einmal etwas anderes zu automatisieren hast dann lies in der Hilfe unter Allgemeines zu AutoIt

    • AutoIt Windows Info Tool (AU3Info)
    • Fenster-Titel und -text (Grundlagen)
    • Fenster-Titel und -text (erweitert)
    • Controls


    durch. In deinem Fall hätte es warscheins

    [autoit]

    ControlSend("Hintergrundmodus bestätigen","","","&A") ;Abbrechen bzw.
    ControlSend("Hintergrundmodus bestätigen","","","&O") ;OK

    [/autoit]

    getan

    mfg autoBert

  • IE Message Fenster beantworten

    • autoBert
    • 13. März 2011 um 21:26

    Hallo cobain86,

    du solltest Autoit-Anfänger Guide / Wie poste ich richtig? lesen, denn dass man einen Beitrag editieren kann und man für AutoIt-Code die AutoIt-Tag's setzt (bei längeren Skripten auch noch im Spoiler) solltest du doch nach fast einem Jahr hier wissen.

    Ich weiss dass PopUp's im embedded IE Probleme machen, im normalen sollte ein _IEAttach auf das PopUp-Fenster und danach _IEAction mit dem Parameter "quit" funktionieren,

    mfg autoBert

  • Winhttp und Lokalisten - Login

    • autoBert
    • 13. März 2011 um 20:48

    Hallo Firemann-HH,

    bist du dir sicher dass es die Lokalisten zulassen, dass du dort die Userprofile abgrassen willst, Sorry aber mir fält kein anderer Grund ein,

    mfg autoBert

  • Dateiversion - online?

    • autoBert
    • 13. März 2011 um 20:44

    Von welchem Hoster? Darfst du dort eigene Programme starten? Vielleicht ist es aber auch mit PHP möglich,

    mfg autoBert

  • Array

    • autoBert
    • 13. März 2011 um 20:40

    Hallo Anna,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deiner Frage, ich weiss dass ich genau diese Problembeschreibung schon gelesen habe und dass das Problem ach gelöst wurde (ob der Thread allerdings auch auf gelöst steht ist fraglich, da viele User sehr nachlässig damit umgehen).
    Aber stell bitte alle Textdateien ein, was man af den 1. Blick sieht ist es logisch dass d nr den 2. erhälst, da du ja $ip immer die nächste zuweist ohne dazwischen etwas aufzurfen. Sprich es wird immer der letzte Wert abgearbeeitet,

    mfg atoBert

  • PHP <--> AutoIt Verschlüsslung

    • autoBert
    • 13. März 2011 um 15:48

    @Aftereight,

    Seubo hat dies am Sonntag, 20. Juni 2010, 16:43 gepostet. Ich bin mir sicher dass er dieses Lizenzsystem mittlerweile fertiggestellt hat und auch seine PHP-Kenntnisse dürften mittlerweile auf einem aktellen Stand sein,

    mfg autoBert

  • ControlClick

    • autoBert
    • 13. März 2011 um 15:05

    Hallo dr. mo,

    lies dir dazu unter Allgemeines zu AutoIt

    • AutoIt Windows Info Tool (AU3Info)
    • Fenster-Titel und -text (Grundlagen)
    • Fenster-Titel und -text (erweitert)
    • Controls


    durch,

    mfg autoBert

  • Letztes Änderungsdatum

    • autoBert
    • 13. März 2011 um 13:40
    Zitat von AfterNight

    Außerdem sollte der Benutzer davon nichts mitbekommen.


    Meines Erachtens gehört es zum guten Ton den Benutzer über Updates und deren Fortschritt zu informieren, noch besser wäre es natürlich ihn vorher zu fragen,

    mfg autoBert

  • Ränder transparent machen?

    • autoBert
    • 13. März 2011 um 13:22

    Hallo DaisukeHideki,

    das kannst du leider nicht verhindern, siehe:

    Beispiel
    [autoit]

    ;#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <GuiImageList.au3>

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

    Opt("MustDeclareVars", 1)

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

    _Main()

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

    Func _Main()
    Local $sBMPNormal = @ScriptDIR & "\Icons\dsFirst_NORMAL.BMP"
    Local $sBMPHot = @ScriptDir & "\Icons\dsFirst_mouseover.bmp"
    Local $sBMPPress = @ScriptDir & "\Icons\dsFirst_mousedown.bmp"
    Local $sBMPImage = @WindowsDir & "\pchealth\helpctr\System\blurbs\watermark_300x.bmp"
    Local $btn1, $btn2, $btn3, $btn4, $msg
    Local $hImagebtn1, $hImagebtn2, $hImagebtn3 ,$hImagebtn4

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

    ;Caveat: Minimum Operating Systems: Windows XP.

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

    ;Image list with multiple images will only show the images
    ;other than the 1st image when Themes are used.

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

    Local $hGUI = GUICreate("Button Imagelists - Minimum OS: Windows XP",400,300)

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

    GUICtrlCreatePic(@WindowsDir & "\Web\Wallpaper\Windows XP.jpg", 0, 0, 400, 300)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    ;multi state image Bitmap
    $btn1 = GUICtrlCreateButton("This Way", 30, 30, 90, 32)
    GUICtrlSetTip(-1, "Multi state bitmap imagelist")
    $hImagebtn1 = _GUIImageList_Create(24, 24, 3, 3)
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);1 - Normal
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPHot) ;2 - Hot
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress) ;3 - Pressed
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress);4 - Disabled
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);5 - Defaulted
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);6 - Stylus Hot (tablet computers only)
    _GUICtrlButton_SetImageList($btn1, $hImagebtn1)
    ;#cs
    ;single state image Bitmap
    $btn2 = GUICtrlCreateButton("This Way", 30, 70, 90, 32)
    GUICtrlSetTip(-1, "Single bitmap imagelist")
    $hImagebtn2 = _GUIImageList_Create(24, 24, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn2, $sBMPNormal);1 - Normal
    _GUICtrlButton_SetImageList($btn2, $hImagebtn2)
    ;#ce
    ;single state image Icon
    $btn3 = GUICtrlCreateButton("Unlock", 30, 110, 90, 40)
    GUICtrlSetTip(-1, "Single icon imagelist")
    $hImagebtn3 = _GUIImageList_Create(32, 32, 5, 3)
    _GUIImageList_AddIcon($hImagebtn3, "msrating.dll", 10, True)
    _GUICtrlButton_SetImageList($btn3, $hImagebtn3)

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

    ;single state image Bitmap with overlayed text
    $btn4 = GUICtrlCreateButton("Help", 30, 160, 90, 90)
    GUICtrlSetTip(-1, "Single bitmap imagelist with overlayed text")
    GUICtrlSetFont(-1, 14, 800, -1, "Comic Sans MS")
    $hImagebtn4 = _GUIImageList_Create(80, 80, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn4, $sBMPImage)
    _GUICtrlButton_SetImageList($btn4, $hImagebtn4, 4)

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btn1
    Case $btn2
    GUICtrlSetState($btn1, $GUI_DISABLE)
    Case $btn3
    GUICtrlSetState($btn1, $GUI_ENABLE)
    Case $btn4
    EndSwitch
    WEnd
    EndFunc ;==>_Main

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

    du kannst es nur etwas abmildern:

    mit Hilfsgui je Button
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <WindowsConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <GuiImageList.au3>

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

    Opt("MustDeclareVars", 1)

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

    _Main()

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

    Func _Main()
    Local $sBMPNormal = @ScriptDIR & "\Icons\dsFirst_NORMAL.BMP"
    Local $sBMPHot = @ScriptDir & "\Icons\dsFirst_mouseover.bmp"
    Local $sBMPPress = @ScriptDir & "\Icons\dsFirst_mousedown.bmp"
    Local $sBMPImage = @WindowsDir & "\pchealth\helpctr\System\blurbs\watermark_300x.bmp"
    Local $btn1, $btn2, $btn3, $btn4, $msg
    Local $hImagebtn1, $hImagebtn2, $hImagebtn3 ,$hImagebtn4

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

    ;Caveat: Minimum Operating Systems: Windows XP.

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

    ;Image list with multiple images will only show the images
    ;other than the 1st image when Themes are used.

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

    Local $hGUI = GUICreate("Button Imagelists - Minimum OS: Windows XP",400,300)

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

    GUICtrlCreatePic(@WindowsDir & "\Web\Wallpaper\Windows XP.jpg", 0, 0, 400, 300)
    GUICtrlSetState(-1, $GUI_DISABLE)
    Local $hChild1 = GUICreate("Child",90,32,30,30, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_ACCEPTFILES), $hGUI)
    ;multi state image Bitmap
    $btn1 = GUICtrlCreateButton("This Way", 0, 0, 90, 32)
    GUICtrlSetTip(-1, "Multi state bitmap imagelist")
    $hImagebtn1 = _GUIImageList_Create(24, 24, 3, 3)
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);1 - Normal
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPHot) ;2 - Hot
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress) ;3 - Pressed
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress);4 - Disabled
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);5 - Defaulted
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);6 - Stylus Hot (tablet computers only)
    _GUICtrlButton_SetImageList($btn1, $hImagebtn1)
    ;#cs
    Local $hChild2 = GUICreate("Child",90,32,30,70, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_ACCEPTFILES), $hGUI)
    ;single state image Bitmap
    $btn2 = GUICtrlCreateButton("This Way", 0, 0, 90, 32)
    GUICtrlSetTip(-1, "Single bitmap imagelist")
    $hImagebtn2 = _GUIImageList_Create(24, 24, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn2, $sBMPNormal);1 - Normal
    _GUICtrlButton_SetImageList($btn2, $hImagebtn2)
    ;#ce
    Local $hChild3 = GUICreate("Child",90,40,30,110, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_ACCEPTFILES), $hGUI)
    ;single state image Icon
    $btn3 = GUICtrlCreateButton("Unlock", 0, 0, 90, 40)
    GUICtrlSetTip(-1, "Single icon imagelist")
    $hImagebtn3 = _GUIImageList_Create(32, 32, 5, 3)
    _GUIImageList_AddIcon($hImagebtn3, "msrating.dll", 10, True)
    _GUICtrlButton_SetImageList($btn3, $hImagebtn3)

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

    Local $hChild4 = GUICreate("Child",90,90,30,160, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_ACCEPTFILES), $hGUI)
    ;single state image Bitmap with overlayed text
    $btn4 = GUICtrlCreateButton("Help", 0, 0, 90, 90)
    GUICtrlSetTip(-1, "Single bitmap imagelist with overlayed text")
    GUICtrlSetFont(-1, 14, 800, -1, "Comic Sans MS")
    $hImagebtn4 = _GUIImageList_Create(80, 80, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn4, $sBMPImage)
    _GUICtrlButton_SetImageList($btn4, $hImagebtn4, 4)
    WinSetTrans($hChild1,"",135)
    WinSetTrans($hChild2,"",135)
    WinSetTrans($hChild3,"",135)
    WinSetTrans($hChild4,"",135)
    GUISetState(@SW_SHOW,$hGUI)
    GUISetState(@SW_SHOW,$hChild1)
    GUISetState(@SW_SHOW,$hChild2)
    GUISetState(@SW_SHOW,$hChild3)
    GUISetState(@SW_SHOW,$hChild4)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btn1
    Case $btn2
    GUICtrlSetState($btn1, $GUI_DISABLE)
    Case $btn3
    GUICtrlSetState($btn1, $GUI_ENABLE)
    Case $btn4
    EndSwitch
    WEnd
    EndFunc ;==>_Main

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

    oder so:

    mit 1 Hilfsgui
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <WindowsConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <GuiImageList.au3>

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

    Opt("MustDeclareVars", 1)

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

    _Main()

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

    Func _Main()
    Local $sBMPNormal = @ScriptDIR & "\Icons\dsFirst_NORMAL.BMP"
    Local $sBMPHot = @ScriptDir & "\Icons\dsFirst_mouseover.bmp"
    Local $sBMPPress = @ScriptDir & "\Icons\dsFirst_mousedown.bmp"
    Local $sBMPImage = @WindowsDir & "\pchealth\helpctr\System\blurbs\watermark_300x.bmp"
    Local $btn1, $btn2, $btn3, $btn4, $msg
    Local $hImagebtn1, $hImagebtn2, $hImagebtn3 ,$hImagebtn4

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

    ;Caveat: Minimum Operating Systems: Windows XP.

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

    ;Image list with multiple images will only show the images
    ;other than the 1st image when Themes are used.

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

    Local $hGUI = GUICreate("Button Imagelists - Minimum OS: Windows XP",400,300)

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

    GUICtrlCreatePic(@WindowsDir & "\Web\Wallpaper\Windows XP.jpg", 0, 0, 400, 300)
    GUICtrlSetState(-1, $GUI_DISABLE)
    Local $hChild = GUICreate("Child",400,300,0,0, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_ACCEPTFILES), $hGUI)
    ;multi state image Bitmap
    $btn1 = GUICtrlCreateButton("This Way", 30, 30, 90, 32)
    GUICtrlSetTip(-1, "Multi state bitmap imagelist")
    $hImagebtn1 = _GUIImageList_Create(24, 24, 3, 3)
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);1 - Normal
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPHot) ;2 - Hot
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress) ;3 - Pressed
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress);4 - Disabled
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);5 - Defaulted
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);6 - Stylus Hot (tablet computers only)
    _GUICtrlButton_SetImageList($btn1, $hImagebtn1)
    ;#cs
    ;single state image Bitmap
    $btn2 = GUICtrlCreateButton("This Way", 30, 70, 90, 32)
    GUICtrlSetTip(-1, "Single bitmap imagelist")
    $hImagebtn2 = _GUIImageList_Create(24, 24, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn2, $sBMPNormal);1 - Normal
    _GUICtrlButton_SetImageList($btn2, $hImagebtn2)
    ;#ce
    ;single state image Icon
    $btn3 = GUICtrlCreateButton("Unlock", 30, 110, 90, 40)
    GUICtrlSetTip(-1, "Single icon imagelist")
    $hImagebtn3 = _GUIImageList_Create(32, 32, 5, 3)
    _GUIImageList_AddIcon($hImagebtn3, "msrating.dll", 10, True)
    _GUICtrlButton_SetImageList($btn3, $hImagebtn3)

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

    ;single state image Bitmap with overlayed text
    $btn4 = GUICtrlCreateButton("Help", 30, 160, 90, 90)
    GUICtrlSetTip(-1, "Single bitmap imagelist with overlayed text")
    GUICtrlSetFont(-1, 14, 800, -1, "Comic Sans MS")
    $hImagebtn4 = _GUIImageList_Create(80, 80, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn4, $sBMPImage)
    _GUICtrlButton_SetImageList($btn4, $hImagebtn4, 4)
    WinSetTrans($hChild,"",135)
    GUISetState(@SW_SHOW,$hGUI)
    GUISetState(@SW_SHOW,$hChild)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btn1
    Case $btn2
    GUICtrlSetState($btn1, $GUI_DISABLE)
    Case $btn3
    GUICtrlSetState($btn1, $GUI_ENABLE)
    Case $btn4
    EndSwitch
    WEnd
    EndFunc ;==>_Main

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

    wenn du die 3 Beispiele nacheinander startest siehst du dass jedesmal ein Kompromiss eingegangen werden musste, du könntest dich höchstens einmal bei UEZ, Grossvater, Marsi & Co. umschauen ob es mit GDI+ bessere Möglichkeiten gibt,

    mfg autoBert

  • Äquivalente Funktion in AutoIt zu der PHP-Funktion: crypt

    • autoBert
    • 12. März 2011 um 17:10

    Hallo Blume,

    schau dir [ offen ] Gleiche Verschlüsselung in PHP und AuotIt sollte hilfreich sein,

    mfg autoBert

  • Rückgabewert bei Funktion?!

    • autoBert
    • 12. März 2011 um 16:53

    Hallo afternight,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deiner Frage: am besten schaust du dir dazu

    [autoit]

    Func...Return...EndFunc

    [/autoit]

    in der Schlüsselwortreferenz an. Selbstverständlich kann die Rückgabe auch aus einem String bzw. einem Array bestehen.
    Falls du eine Antwort auf dein spezielles Problem möchtest poste bitte dein Skript,

    mfg autoBert

  • In Datei Werte suchen und ändern ( Hex Datei )

    • autoBert
    • 12. März 2011 um 16:13

    Hallo oh-ha,

    stelle doch mal eine Testdatei und auch Infos über das Dateiformat bereit, vielleicht schaffst ja doch jemand,

    zu abs finde ich 3 Möglichkeiten:
    .abs abstract Zusammenfassung eines (wissenschaftlichen) Dokuments
    .abs – Standard GNU-Compiler-Ausgabe für die PC-Plattform
    .abs Absolute Database BDE-Datenbanksystem der Fa. ComponentAce

    bei 2+3 hast du meines Erachtens wirklich keine Chance einfach so etwas herauszuschneiden,

    mfg autoBert

  • FileOpen im bestimmten zeile ein text eintragen!

    • autoBert
    • 12. März 2011 um 10:34

    Hallo Baron1977,

    wenn nichts zur Kontrolle angezeigt werden soll ist es so etwas kürzer:

    [autoit]

    #include <File.au3>
    #include <Array.au3>
    $sFileName = @ScriptDir & "\Baron.txt"
    $aLines = ""

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

    _FileReadToArray($sFileName, $aLines) ;in Array einlesen
    _ArrayDelete($aLines, 0) ;störendes Element löschen
    ;jetzt im Array die Daten manipulieren
    $aLines[2] = $aLines[2] & " das ist angehängt"
    $aLines[4] = $aLines[4] & " das ist angehängt"
    _ArrayInsert($aLines, 5, "Diese Zeile ist ganz neu")
    _FileWriteFromArray($sFileName, $aLines) ;Array zurückschreiben

    [/autoit]

    mfg autoBert

  • Dateinamen aus ordner auslesen und in dropdownlist als auswahl anzeigen

    • autoBert
    • 11. März 2011 um 18:47

    Hallo stefanffm76,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deiner Frage, hiermit kannst du deine INIs verwalten:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ComboConstants.au3>
    #include <GuiComboBox.au3>
    #include <File.au3>
    #include <array.au3>

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

    $idGUI = GUICreate("Ini-Verwaltung", 300, 115)
    $idcbo = GUICtrlCreateCombo("", 10, 10, 180, 80, BitOR($CBS_SORT, $GUI_SS_DEFAULT_COMBO))
    ;$idInfo = GUICtrlCreateButton("&alle auslesem", 10, 90, 180, 25)
    $aInis = _FileListToArray(@ScriptDir & "\Daten","*.ini",1)
    if IsArray($aInis) Then
    for $i = 0 to $aInis[0]
    GUICtrlSetData($idcbo,StringTrimRight($aInis[$i],4))
    Next
    EndIf
    $idZeigen = GUICtrlCreateButton("&Zeigen", 10, 80, 180, 25)
    GUICtrlSetTip(-1,"Ini-Datei für ausgewählten Benutzer anzeigen")
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $idZeigen
    ShellExecute(@ScriptDir & "\Daten\" & GUICtrlRead($idcbo)&".ini");zeigt die INI-Datei an
    EndSwitch
    WEnd

    [/autoit]

    viel Spass damit. Zum besseren Verständnis solltest du die verwendeten Funktionen in der Hilfe nachschlagen,

    mfg autoBert

  • FileOpen im bestimmten zeile ein text eintragen!

    • autoBert
    • 11. März 2011 um 16:35

    Hallo Baron1977,

    das kannst du so lösen:

    [autoit]

    #include <File.au3>
    #include <Array.au3>
    $sFileName =@ScriptDir & "\Baron.txt"
    $aTest = ""

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

    _showLines($aTest, "Vorher")
    $aTest[2] = $aTest[2] & " das ist angehängt"
    $aTest[4] = $aTest[4] & " das ist angehängt"
    _ArrayInsert($aTest,5,"Diese Zeile ist ganz neu")
    _FileWriteFromArray($sFileName,$aTest)
    _showLines($aTest,"Nachher")

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

    Func _showLines(ByRef $aLines,$sADText)
    _FileReadToArray($sFileName,$aLines)
    _ArrayDelete($aLines,0)
    _ArrayDisplay($aLines,$sADText)
    EndFunc

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

    Wenn du das Skript laufen lässt wird aus dieser Textdatei:

    Code
    zeile 1 belassen
    zeile 2 belassen
    zeile 3 hier was eintragen
    zeile 4 belassen
    zeile 5 hier was eintragen
    zeile 6 belassen


    diese:

    Code
    zeile 1 belassen
    zeile 2 belassen
    zeile 3 hier was eintragen das ist angehängt
    zeile 4 belassen
    zeile 5 hier was eintragen das ist angehängt
    Diese Zeile ist ganz neu
    zeile 6 belassen

    mfg autoBert

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™