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

  • Themida stürtzt immer ab.

    • autoBert
    • 2. April 2013 um 15:54
    Zitat von derBrot

    Hat jemand eine Lösung ?

    • nach Software Updaes suchen
    • den Hersteller der Software kontaktieren
    • Rechner neu aufsetzen

    @Mod's/Admins: bitte nach Offtopic verschieben da kein AutoIt spezifisches Problem

  • Zeichenkonvertierung --> Welche ist das?

    • autoBert
    • 2. April 2013 um 12:47
    Zitat von basementmedia

    Perfect! You made my day!!!Das war das schönste Osterei, dass ich bekommen hab ;-)Beste GrüßeDaniel

    Da hast du dir aber Zeit beim Suchen gelassen aber Hauptsache dein Problem ist gelöst. Schön wäre es allerdings auch wenn du das Thema auf gelöst setzt.
    Dazu einfach den Eröffnungsbeitrag bearbeiten und den Präfix (nähe) Überschrift auf gelöst setzen und absenden.

    PS.: da dies warscheins deinem Broterwerb dient solltest du Ohforf einen Geschenkgutschein zukommen lassen.

    mfg autoBert

  • Problem mit Kollisionen

    • autoBert
    • 2. April 2013 um 12:36

    Hier einmal das lauffähige Skript:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GdiPlus.au3>
    #include <Misc.au3>
    #include <file.au3>

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

    OnAutoItExitRegister("_end")

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

    Global $Baum, $Eisen, $Laden, $weg, $x, $y

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

    $x = 0
    $y = 0
    $f1x = 0
    $f1y = 40

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

    $Ep = IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "EP", "Not Found")
    $Leben = IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Leben", "Not Found")
    $Geld = IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Geld", "Not Found")
    $Arbeit = IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Arbeit", "Not Found")

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

    $Form1 = GUICreate("X-The Game", 1123, 633, 185, 123, $WS_POPUP)
    $Progress1 = GUICtrlCreateProgress(904, 60, 209, 17)
    GUICtrlSetData($Progress1, $Leben)
    $Leben_l = GUICtrlCreateLabel("Leben", 976, 80, 34, 17)
    $Ep_l = GUICtrlCreateLabel("EP:", 976, 120, 34, 17)
    $Ep_erg = GUICtrlCreateLabel("", 1020, 120, 34, 17)
    GUICtrlSetData($Ep_erg, $Ep)
    $Geld_l = GUICtrlCreateLabel("Geld:", 976, 180, 34, 17)
    $Geld_erg = GUICtrlCreateLabel("", 1020, 180, 34, 17)
    GUICtrlSetData($Geld_erg, $Geld)
    $arbeit_l = GUICtrlCreateLabel("Arbeit:", 976, 240, 34, 17)
    $Arbeit_erg = GUICtrlCreateLabel("", 1020, 240, 120, 17)
    GUICtrlSetData($Arbeit_erg, $Arbeit)
    $Button1 = GUICtrlCreateButton("Speichern", 920, 512, 185, 33)
    GUISetState(@SW_SHOW)

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

    Func _Save()
    IniWrite(@ScriptDir & "\INI\Data.Ini", "DATA", "Leben", "" & GUICtrlRead($Progress1) & "")
    IniWrite(@ScriptDir & "\INI\Data.Ini", "DATA", "EP", "" & GUICtrlRead($Ep_erg) & "")
    IniWrite(@ScriptDir & "\INI\Data.Ini", "DATA", "Geld", "" & GUICtrlRead($Geld_erg) & "")
    IniWrite(@ScriptDir & "\INI\Data.Ini", "DATA", "Arbeit", "" & GUICtrlRead($Arbeit_erg) & "")
    EndFunc ;==>_Save
    ;=====================GDIPlus===========================================;

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

    _GDIPlus_Startup()

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

    If _GDIPlus_Startup() = 1 Then
    _LoadMap()
    EndIf

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

    $Player = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\NPC\Skin.gif")
    $bk = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Map\Map.gif")
    $height = _GDIPlus_ImageGetHeight($Player)
    $widht = _GDIPlus_ImageGetWidth($Player)
    $verhaelnis = $height / $widht
    $btn_exit = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Buttons\Schließen.gif")
    $btn_arbeit = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Buttons\Arbeit.gif")
    $btn_world = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Buttons\Erde.gif")
    $btn_bk = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Buttons\Feld.gif")

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

    $graphic = _GDIPlus_GraphicsCreateFromHWND($Form1)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(900, 633, $graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)

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

    ;Map Load Bar anfang

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

    Func _LoadMap()

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

    Dim $Feld[10] = ["Eisen", "Laden", "Laden", "Eisen", "Eisen", "Eisen", "Bauer", "Ritter", "Holzfäller", "Eindringling"]
    IniWrite(@ScriptDir & "\INI\Data.ini", "DATA", "Map", $Feld[Random(0, 9, 1)])

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

    If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Baum") = "Baum" Then
    _Baum()
    EndIf

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

    If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Laden") = "Laden" Then
    _Laden()
    EndIf

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

    If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Laden") = "Laden" Then
    _Baum()
    EndIf

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

    If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Weg") = "Weg" Then
    _Weg()
    EndIf

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

    If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Weg") = "Weg" Then
    _Baum()
    EndIf

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

    If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Eisen") = "Eisen" Then
    _Eisen()
    EndIf

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

    If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Eisen") = "Eisen" Then
    _Baum()
    EndIf
    EndFunc ;==>_LoadMap

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

    Func _Baum()
    _Weg()
    $Baum = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Terrain\Baum.gif")
    EndFunc ;==>_Baum
    Func _Laden()
    $Laden = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Terrain\Haus3.gif")
    EndFunc ;==>_Laden
    Func _Weg()
    $weg = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Terrain\Stein3.gif")
    EndFunc ;==>_Weg
    Func _Eisen()
    $Eisen = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Pics\Terrain\Eisen.gif")
    EndFunc ;==>_Eisen

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

    ;Map Load Bar ende

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

    ;Arbeit Funktion Anfang
    Func _Arbeit()

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

    EndFunc ;==>_Arbeit
    ;Arbeit Funktion ende

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

    While 1
    $mouse = GUIGetCursorInfo()
    ;=================Button1=================================
    If IsArray($mouse) Then
    If $mouse[0] > 840 And $mouse[1] < 20 And _IsPressed(01) Then
    Exit
    EndIf
    EndIf
    ;=======================Button2==============================
    If IsArray($mouse) Then
    If $mouse[0] > 780 And $mouse[1] < 20 And _IsPressed(01) Then
    _Arbeit()
    EndIf
    EndIf
    ;========================Button3=============================
    If IsArray($mouse) Then
    If $mouse[0] > 720 And $mouse[1] < 20 And _IsPressed(01) Then
    _LoadMap()
    EndIf
    EndIf
    ;=======================Ende Buttons=========================
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _Save()
    EndSwitch
    Select
    Case _IsPressed(25) And Not $x <= 0
    $x -= 40

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

    ;Anfang Kolisionen
    If $x = 40 And $y = 40 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 40 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 120 Then
    $x = -40 + 80
    EndIf

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

    If $x = 40 And $y = 120 Then
    $y = -40 + 80
    EndIf

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

    If $x = 40 And $y = 480 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 480 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 160 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 160 Then
    $y = -40 + 40
    EndIf

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

    If $x = 120 And $y = 240 Then
    $y = -40 + 40
    EndIf

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

    If $x = 120 And $y = 240 Then
    $x = -40 + 40
    EndIf

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

    If $x = 440 And $y = 280 Then
    $x = -40 + 40
    EndIf

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

    If $x = 440 And $y = 280 Then
    $y = -40 + 40
    EndIf

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

    If $x = 240 And $y = 320 Then
    $y = -40 + 40
    EndIf
    ;Ende Colisionen

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

    Case _IsPressed(26) And Not $y <= 0
    $y -= 40

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

    ;Anfang Kolisionen
    If $x = 40 And $y = 40 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 40 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 120 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 120 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 480 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 480 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 160 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 160 Then
    $y = -40 + 40
    EndIf

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

    If $x = 120 And $y = 240 Then
    $y = -40 + 40
    EndIf

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

    If $x = 120 And $y = 240 Then
    $x = -40 + 40
    EndIf

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

    If $x = 440 And $y = 280 Then
    $x = -40 + 40
    EndIf

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

    If $x = 440 And $y = 280 Then
    $y = -40 + 40
    EndIf

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

    If $x = 240 And $y = 320 Then
    $y = -40 + 40
    EndIf
    ;Ende Colisionen

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

    Case _IsPressed(27) And $x <= 833
    $x += 40

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

    ;Anfang Kolisionen
    If $x = 40 And $y = 40 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 40 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 120 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 120 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 480 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 480 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 160 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 160 Then
    $y = -40 + 40
    EndIf

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

    If $x = 120 And $y = 240 Then
    $y = -40 + 40
    EndIf

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

    If $x = 120 And $y = 240 Then
    $x = -40 + 40
    EndIf

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

    If $x = 440 And $y = 280 Then
    $x = -40 + 40
    EndIf

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

    If $x = 440 And $y = 280 Then
    $y = -40 + 40
    EndIf

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

    If $x = 240 And $y = 320 Then
    $y = -40 + 40
    EndIf
    ;Ende Colisionen

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

    Case _IsPressed(28) And $y <= 540
    $y += 40

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

    ;Anfang Kolisionen
    If $x = 40 And $y = 40 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 40 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 120 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 120 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 480 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 480 Then
    $y = -40 + 40
    EndIf

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

    If $x = 40 And $y = 160 Then
    $x = -40 + 40
    EndIf

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

    If $x = 40 And $y = 160 Then
    $y = -40 + 40
    EndIf

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

    If $x = 120 And $y = 240 Then
    $y = -40 + 40
    EndIf

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

    If $x = 120 And $y = 240 Then
    $x = -40 + 40
    EndIf

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

    If $x = 440 And $y = 280 Then
    $x = -40 + 40
    EndIf

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

    If $x = 440 And $y = 280 Then
    $y = -40 + 40
    EndIf

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

    If $x = 240 And $y = 320 Then
    $y = -40 + 40
    EndIf
    ;Ende Colisionen

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

    EndSelect

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

    _GDIPlus_GraphicsDrawImageRect($buffer, $bk, 0, 0, 900, 633)
    _GDIPlus_GraphicsDrawImageRect($buffer, $btn_exit, 860, 0, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $btn_arbeit, 800, 0, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $btn_bk, 740, 0, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $btn_world, 740, 0, 40, 40)
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 0, 0, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 40, 0, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 0, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 40, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 80, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 120, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 200, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 240, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 280, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 320, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 360, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 400, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 440, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 480, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 520, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 560, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 80, 600, 40, 40)
    ;Rects Anfang
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 120, 80, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 160, 80, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 200, 80, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 240, 80, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 280, 80, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 280, 120, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 280, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 280, 200, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 320, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 360, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 400, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 440, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 480, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 520, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 560, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 600, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 640, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 680, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 720, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 760, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 800, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 840, 160, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $weg, 880, 160, 40, 40)
    ;Rechts Ende
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    _GDIPlus_GraphicsDrawImageRect($buffer, $Player, $x, $y, 35, 35 * $verhaelnis)
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    _GDIPlus_GraphicsDrawImageRect($buffer, $Baum, 40, 40, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $Baum, 40, 120, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $Baum, 40, 480, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $Baum, 40, 160, 40, 40);5
    _GDIPlus_GraphicsDrawImageRect($buffer, $Baum, 120, 240, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $Baum, 440, 280, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $Baum, 240, 320, 40, 40);
    ;_GDIPLus_GraphicsDrawImageRect($buffer, $Baum,160,360,40,40);10
    ;_GDIPLus_GraphicsDrawImageRect($buffer, $Baum,200,400,40,40)
    ;_GDIPLus_GraphicsDrawImageRect($buffer, $Baum,280,440,40,40)
    ;_GDIPLus_GraphicsDrawImageRect($buffer, $Baum,400,40,40,40)
    ;_GDIPLus_GraphicsDrawImageRect($buffer, $Baum,320,80,40,40)
    ;_GDIPLus_GraphicsDrawImageRect($buffer, $Baum,360,40,40,40);15
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    _GDIPlus_GraphicsDrawImageRect($buffer, $Eisen, 40, 260, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $Eisen, 400, 260, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $Eisen, 40, 360, 40, 40)
    _GDIPlus_GraphicsDrawImageRect($buffer, $Eisen, 160, 360, 40, 40)
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    _GDIPlus_GraphicsDrawImageRect($buffer, $Laden, 260, 230, 80, 80)
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    _GDIPlus_GraphicsDrawImage($graphic, $bitmap, 0, 0)
    WEnd

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

    Func _end()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_GraphicsDispose($buffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_ImageDispose($Player)
    _GDIPlus_ImageDispose($Baum)
    _GDIPlus_ImageDispose($weg)
    _GDIPlus_ImageDispose($Eisen)
    _GDIPlus_ImageDispose($Laden)
    _GDIPlus_ImageDispose($btn_exit)
    _GDIPlus_ImageDispose($btn_arbeit)
    _GDIPlus_ImageDispose($btn_world)
    _GDIPlus_ImageDispose($btn_bk)
    _GDIPlus_ImageDispose($bk)
    _GDIPlus_Shutdown()
    EndFunc ;==>_end

    [/autoit]

    Um das eigentliche Problem kann ich mich nicht kümmern da mein Display nicht alle Inalte darstellen kann. Im Anhang Skript und Bilder zusammen.

    mfg autoBert

  • IE Fenster "Seiten Ladestatus" abfragen

    • autoBert
    • 1. April 2013 um 21:41

    Das kann die Hilfe zu

    [autoit]

    ObjEvent

    [/autoit]

    besser. Ich habe damals auch nur die benötigten Zeilen aus der Hilfe herauskopiert und bei mir angepasst auf eine Progressbar eingesetzt.

    mfg autoBert

  • IE Fenster "Seiten Ladestatus" abfragen

    • autoBert
    • 1. April 2013 um 16:59

    Hallo Norman Bates,

    ich habe mein "Embedded Web control Test" Beispiel darauf angepasst:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?page…4679#post164679

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

    Skriptbeispiel für den Umgang mit _IECreateEmbedded, _IEErrorHandlerRegister, _IENavigate, _IEAction GuiCtrlCreateProgress, _IEPropertyGet
    #ce ----------------------------------------------------------------------------
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

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

    _IEErrorHandlerRegister()

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

    $oIE = _IECreateEmbedded()
    $SinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents2") ; Ereignisse den UDFs zuweisen, beginnend mit IEEvent_
    GUICreate("Embedded Web control Test", 640, 600, _
    (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
    $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
    $hInput = GUICtrlCreateInput("Hier URL eingeben: ", 10, 10, 500)
    $hGo = GUICtrlCreateButton("&Go", 520, 10, 50)
    $GUIActiveX = GUICtrlCreateObj($oIE, 0, 40, 640, 480)
    ;$GUIActiveX = GUICtrlCreateObj($oIE, 0, 40, 683, 480) ;wenn der vertikale Skrollbalken nicht zu sehen sein soll
    GUICtrlSetResizing($GUIActiveX, $GUI_DOCKAUTO)
    $GUI_Button_Back = GUICtrlCreateButton("Back", 10, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $GUI_Button_Home = GUICtrlCreateButton("Home", 230, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $GUI_Button_Stop = GUICtrlCreateButton("Stop", 340, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $GUI_Button_Print = GUICtrlCreateButton("PRINT", 450, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $idProgress = GUICtrlCreateProgress(0, 555, 640, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)

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

    GUISetState() ;Show GUI
    $iTime=TimerInit()
    _IENavigate($oIE, "http://www.autoit.de/index.php?page=Thread&postID=164679#post164679")

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

    ; Waiting for user to close the window
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $hGo
    _IENavigate($oIE, GUICtrlRead($hInput))
    Case $msg = $GUI_Button_Home
    _IENavigate($oIE, "http://www.autoitscript.com")
    Case $msg = $GUI_Button_Back
    _IEAction($oIE, "back")
    Case $msg = $GUI_Button_Forward
    _IEAction($oIE, "forward")
    Case $msg = $GUI_Button_Stop
    _IEAction($oIE, "stop")
    Case $msg = $GUI_Button_Print
    _IEAction($oIE, "print")
    EndSelect
    $surl1 = _IEPropertyGet($oIE, "locationurl")
    $surl2 = GUICtrlRead($hInput)
    ; ConsoleWrite($surl1 & " " & $surl2 & " " & GUICtrlRead($idProgress) & @CRLF)
    If $surl1 <> $surl2 And GUICtrlRead($idProgress) > 90 Then GUICtrlSetData($hInput, $surl1)
    WEnd

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

    $SinkObject = 0 ; IE Eventzuweisung aufheben
    _IEQuit($oIE)
    GUIDelete()
    Exit

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

    Func IEEvent_ProgressChange($Progress, $ProgressMax)
    if TimerDiff($iTime)>5000 Then
    _IEAction($oIE,"stop")
    ;Exit
    EndIf
    $percent = Int(($Progress * 100) / $ProgressMax)
    If $percent >= 0 And $percent <= 100 Then GUICtrlSetData($idProgress, $percent)
    EndFunc ;==>IEEvent_ProgressChange

    [/autoit]

    wichtig ist Zeile 15 und die damit aufgerufene Func: IEEvent_ProgressChange

    mfg autoBert

  • Sortierung

    • autoBert
    • 1. April 2013 um 16:31

    Wenn schon unbedingt INI dann lies vor dem evtl. Schreibvorgang IniReadSection und 2 * _ArraySearch zum kontrollieren ob der Key bzw. der Wert gefunden wird.

    mfg autoBert

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • autoBert
    • 1. April 2013 um 00:24

    So sollte es funktionieren:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    ;-----GUI Elemente-----
    $GUI = GUICreate("Photoshop Thumbail Tool", 460, 183, 192, 148)
    $in_start = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "START", ""), 112, 13, 121, 21)
    $lbl_start = GUICtrlCreateLabel("Startnummer:", 13, 16, 85, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $in_end = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", ""), 112, 37, 121, 21)
    $lbl_end = GUICtrlCreateLabel("Endnummer:", 20, 40, 78, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $lbl_path = GUICtrlCreateLabel("Speicherpfad:", 14, 120, 84, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $lbl_path_2 = GUICtrlCreateLabel(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "PFAD", ""), 112, 120, 300, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $btn_path = GUICtrlCreateButton("Durchsuchen", 112, 146, 75, 25)
    $in_vText = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", ""), 328, 13, 121, 21)
    $lbl_vText = GUICtrlCreateLabel("Vortext:", 264, 16, 50, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $in_nText = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", ""), 328, 37, 121, 21)
    $lbl_nText = GUICtrlCreateLabel("Nachtext:", 256, 40, 58, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $in_layer = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", ""), 112, 61, 121, 21)
    $lbl_layer = GUICtrlCreateLabel("Textebene:", 29, 64, 69, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $in_quality = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", ""), 112, 88, 121, 21)
    $lbl_quality = GUICtrlCreateLabel("Qualität:", 45, 88, 53, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $btn_save = GUICtrlCreateButton("Speichern", 288, 144, 81, 25)
    $btn_start = GUICtrlCreateButton("Starten", 376, 144, 75, 25)
    GUISetState(@SW_SHOW)

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

    $iStart = GUICtrlRead($in_start)
    $iEnde = GUICtrlRead($in_end)
    $sVortext = GUICtrlRead($in_vText)
    $sNachtext = GUICtrlRead($in_nText)
    $iTextebene = GUICtrlRead($in_layer)
    $sSpeicherpfad = GUICtrlRead($lbl_path_2)
    Global $oAppref = ObjCreate("Photoshop.Application")
    If $oAppref.documents.count <> 0 Then
    Global $oDocref = $oAppref.ActiveDocument
    Else
    MsgBox(0, "", "Erst die Datei öffnen!")
    EndIf

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

    Global $oJpgSaveOptions = ObjCreate("Photoshop.JPEGSaveOptions")
    $oJpgSaveOptions.EmbedColorProfile = True
    $oJpgSaveOptions.FormatOptions = 1 ; psStandardBaseline
    $oJpgSaveOptions.Matte = 1 ; psNoMatte
    $oJpgSaveOptions.Quality = GUICtrlRead($in_quality)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btn_path
    Search()
    Case $btn_save
    Save()
    Case $btn_start
    Start()

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

    EndSwitch
    WEnd

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

    ;-----Funktionen-----
    Func Search()
    $s_path = FileSelectFolder("Wähle bitte deinen Speicherort aus", "C:/")
    $in_path = GUICtrlSetData($lbl_path_2, $s_path)
    EndFunc ;==>Search

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

    Func Save()
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "START", GUICtrlRead($in_start))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", GUICtrlRead($in_end))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "PFAD", GUICtrlRead($lbl_path_2))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", GUICtrlRead($in_vText))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", GUICtrlRead($in_nText))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", GUICtrlRead($in_layer))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", GUICtrlRead($in_quality))
    EndFunc ;==>Save

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

    Func Start()
    Global $sOutFileName
    For $i = $iStart To $iEnde
    $oDocref.ArtLayers($iTextebene).TextItem.Contents = $sVortext & $i & $sNachtext
    $sOutFileName = $sSpeicherpfad & "\" & $i & ".jpg"
    $oDocref.SaveAs($sOutFileName, $oJpgSaveOptions, True)
    Next
    EndFunc ;==>Start

    [/autoit]

    mfg autoBert

  • MiniFTP

    • autoBert
    • 30. März 2013 um 19:16

    Hallo Friedhelm39,

    ich habe auf die Schnelle (C&P) die miniFTP aktualisiert:

    Spoiler anzeigen
    [autoit]

    ;Copyright Alexander Imka ©
    #RequireAdmin
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <FTPEx.au3>

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

    $serveradresse = "ftp.csx.cam.ac.uk"
    $username = ""
    $passwort = ""

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

    $open = _FTP_Open("Homeworker by Alex")
    $connection = _FTP_Connect($open, 'ftp.csx.cam.ac.uk', '', '', 0)
    $filelist = _Ftp_ListToArray($connection)

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

    ;GUI CODE STARTET HIER;
    $Gui = GUICreate("mini FTP Client",310,500)
    $header = GUICtrlCreateLabel("Datei auswählen",65,10)
    $liste = GUICtrlCreateList("",20,30,200,450)
    $downloadbutton = GUICtrlCreateButton("Download",235,30,55,50)
    $uploadbutton = GUICtrlCreateButton("Upload",235,100,55,50)
    $filedel = GUICtrlCreateButton("Delete",235,170,55,50)
    $refresh = GUICtrlCreateButton("Refresh",235,240,55,50)
    $rename = GUICtrlCreateButton("Rename",235,310,55,50)

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

    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i]&"|")
    Next

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

    GUISetState(@SW_SHOW)
    ;GUI CODE ENDET HIER;

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

    while 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    _FTP_Close($connection)
    Exit
    Case $DownloadButton
    $DownFile = GUICtrlRead ($liste)
    If $DownFile = "" Then
    MsgBox (16, "STOP", "Du musst erst eine Datei auswählen")
    Else
    DirCreate (@ScriptDir&"\Download")
    _FTP_ProgressDownload($connection, @ScriptDir&"\Download\"&$DownFile, "/"&$DownFile)
    EndIf
    Case $uploadbutton
    $UploadPfad = FileOpenDialog("Auswählen",@ScriptDir,"Alle (*.*)")
    If $UploadPfad = "" Then
    MsgBox (0, "Achtung!", "Erst eine Datei auswählen!")
    Else
    $dateinamensplit = StringSplit($UploadPfad,"\")
    $teile = $dateinamensplit[0]
    Global $UploadVorgang = _FTP_ProgressUpload($connection, $UploadPfad, "/"&$dateinamensplit[$teile])
    If $UploadVorgang = 1 Then
    MsgBox (64, "Okay", "hochladen erfolgreich")
    GUICtrlDelete($liste)
    $open = _FTP_Open("Homeworker by Alex")
    $connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
    $filelist = _Ftp_ListToArray ($connection,0,0x80000000)
    $liste = GUICtrlCreateList("",20,30,200,450)
    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i]&"|")
    Next
    Else
    MsgBox (16, "Error", "Aufgrund eines Fehlers wird das Programm beendet!")
    Exit
    EndIf
    EndIf

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

    Case $filedel
    $del = MsgBox(52,"Aktion bestätigen","Die datei " & GUICtrlRead($liste) & " wirklich löschen?")
    if $del = 6 Then
    $s_RemoteFile = GUICtrlRead($liste)
    _FTP_FileDelete($connection, $s_RemoteFile)
    MsgBox(64,"ok","Ok, Die Datei wurde erfolgreich gelöscht")
    GUICtrlDelete($liste)
    $open = _FTP_Open("Homeworker by Alex")
    $connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
    $filelist = _Ftp_ListToArray ($connection,0,0x80000000)
    $liste = GUICtrlCreateList("",20,30,200,450)
    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i]&"|")
    Next
    Else
    MsgBox(16,"abbruch","Aktion abgebrochen")
    EndIf

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

    Case $refresh
    GUICtrlDelete($liste)
    $open = _FTP_Open("Homeworker by Alex")
    $connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
    $filelist = _Ftp_ListToArray ($connection,0,0x80000000)
    $liste = GUICtrlCreateList("",20,30,200,450)
    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i]&"|")
    Next
    MsgBox(0,"ok","Erfolgreich aktualisiert")
    ;~ MsgBox(64,"nönö","schon vergessen? das geht noch nit!")

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

    Case $rename
    $s_Existing = GUICtrlRead($liste)
    $s_New = InputBox("Rename","in welchen Namen soll die Datei umbenannt werden?",$s_Existing)
    if Not @error then
    _FTP_FileRename($connection, $s_Existing, $s_New)
    MsgBox(0,"ok","Die Datei wurde umbeannt")
    GUICtrlDelete($liste)
    $open = _FTP_Open("Homeworker by Alex")
    $connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
    $filelist = _Ftp_ListToArray ($connection,0,0x80000000)
    $liste = GUICtrlCreateList("",20,30,200,450)
    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i]&"|")
    Next
    Else
    MsgBox(64,"oioi","Aktion abgebrochen!")
    EndIf

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

    EndSwitch
    WEnd

    [/autoit]

    Zumindest unter 3.3.6.1 startet das Skript jetzt. Da ich von einem Bug in der aktuellen Stable bei _Ftp_ListToArray2D weis habe ich diese Funktion mit der weiterhin funktionierenden _Ftp_ListToArray getauscht. Da Jonathan eh nur die Dateinamen ausgewertet hat ist es für dieses Skript ein vollwertiger Ersatz. Den Download habe ich von einem öffentlichen Server getestet, er funktioniert. Die anderen Funktionen musst du noch testen, da ich derzeit keinen FTP zur Verfügung habe.

    Edit: MisterSpeed hat seinem Namen Ehre gemacht.
    mfg autoBert

  • InetGet sehr unzuverlässig

    • autoBert
    • 30. März 2013 um 13:39

    Ich verwende dazu wget und werte dies aus:

    Spoiler anzeigen
    [autoit]

    Func _GetHTMLSource(ByRef $sHTMLSource, $sDownloadLink, $sLocalPath)
    ;ConsoleWrite($sDownloadLink & ' ==> ' & $sLocalPath & @CRLF)
    $sDownloadLink = StringReplace($sDownloadLink, ' ', '_')
    Local $sLine, $aTmp, $iPercent, $bSuccess, $iKBs
    If Not FileExists($sLocalPath) Then
    $iPid = Run(@ScriptDir & '\wget -O "' & $sLocalPath & '" ' & $sDownloadLink & '"', @ScriptDir, @SW_HIDE, $STDERR_CHILD)
    While ProcessExists($iPid)
    _EventHandler()
    $sLine = StderrRead($iPid)
    $aTmp = _StringBetween($sLine, "saved [", "]")
    If Not IsArray($aTmp) Then
    $aTmp = _StringBetween($sLine, ".", "%")
    If IsArray($aTmp) Then
    $iPercent = StringStripWS(StringReplace($aTmp[0], ".", ""), 7)
    If Int($iPercent) < 1 Then
    $iPercent = "0 %"
    Else
    $iPercent &= " %"
    EndIf
    GUICtrlSetData($idPrgGesamt, $iPercent)
    EndIf
    $aTmp = _StringBetween($sLine, "%", " KB/s")
    If IsArray($aTmp) Then
    $iKBs = StringReplace(StringStripWS($aTmp[0], 7), ".", ",") & " KB/s"
    GUICtrlSetData($idLblKBSEC, $iKBs)
    EndIf
    Else
    $aTmp = StringSplit($aTmp[0], "/")
    If $aTmp[0] = 2 And $aTmp[1] = $aTmp[2] Then $bSuccess = True
    EndIf
    ;ConsoleWrite($sLine)
    WEnd
    EndIf
    $sHTMLSource = StringReplace(StringReplace(FileRead($sLocalPath), @LF, @CRLF), @CRLF & @LF, @CRLF)
    ;FileWrite(StringReplace($sLocalPath, '.html', '.txt'), $sHTMLSource)
    EndFunc ;==>_GetHTMLSource

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

    Func _EventHandler()
    $iMsg = GUIGetMsg()
    Switch $iMsg
    Case $GUI_EVENT_CLOSE
    _exitMain()
    EndSwitch
    EndFunc ;==>_EventHandler

    [/autoit]

    Bei der angehängten Datei musst du nur die '.txt'-Endung entfernen. WGet ist sehr tolerant und bricht deshalb sehr selten ab. Deshalb muss ich noch eine Funktion einbauen welche nach einer gewissen Zeit die kb/s leert.

    mfg autoBert

    Dateien

    wget.exe.txt 76,8 kB – 309 Downloads
  • InetGet sehr unzuverlässig

    • autoBert
    • 30. März 2013 um 12:28
    Zitat von Fliwatt

    Aber anscheinend hat es so seine Macken, wie könnte ich das mit dem Download Progress denn umsetzen ohne den letzten Parameter auf 1 zu setzen?


    Gar nicht da du dann ja nicht mitbekommst wieviel tatsächlich heruntergeladen wurde.

    mfg autoBert

  • Tool für Serverstatus

    • autoBert
    • 30. März 2013 um 00:03
    Zitat von Requion

    Zu dem Thema Erreichbarkeit: Kann man mit der Ping Variante auch auf gewisse Ports hin überprüfen? z.B. speziell einen IRC-Server der über Port 6667 läuft.

    Die Pingfunktion prüft nicht ob ein bestimmter Port offen und erreichbar ist. Auch antworten nicht alle Server auf einen Ping.

    mfg autoBert

  • Tool für Serverstatus

    • autoBert
    • 29. März 2013 um 17:13
    Zitat von Requion

    Update: Also das Beispiel ist Super aber ich hab Probleme das
    umzuschreiben.

    Dann zeige mal was du bisher hast.

    Edit: Ich habe in dein Skript, die Färbung der Items eingefügt:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <ListviewConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <GuiListView.au3>

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

    ;TCPStartup()

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

    Global $aServers[1][3]
    Global $iPing, $iAct
    #Region Gui
    $hGuiMain = GUICreate("Serverstatus", 248, 318, 192, 142)
    $idMnu_file = GUICtrlCreateMenu("File")
    $idMnu_file_test = GUICtrlCreateMenuItem("test", $idMnu_file)
    $idMnu_file_close = GUICtrlCreateMenuItem("Close", $idMnu_file)
    $idMnu_edit = GUICtrlCreateMenu("Edit")
    $idMnu_edit_conf = GUICtrlCreateMenuItem("Preferences", $idMnu_edit)
    $idMnu_help = GUICtrlCreateMenu("?")
    $idLV_Server = GUICtrlCreateListView("Name|Adresse|Port|Ping", 5, 5, 238, 288, $LVS_SORTASCENDING)
    _GUICtrlListView_SetColumnWidth($idLV_Server, 0, 80)
    _GUICtrlListView_SetColumnWidth($idLV_Server, 1, 100)
    _GUICtrlListView_SetColumnWidth($idLV_Server, 2, 0) ;unsichtbar
    _GUICtrlListView_SetColumnWidth($idLV_Server, 3, $LVSCW_AUTOSIZE_USEHEADER)

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

    GUISetState(@SW_SHOW, $hGuiMain)

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

    $hGuiConf = GUICreate("Preferences", 500, 425)
    $idTab_conf = GUICtrlCreateTab(10, 10, 480, 405)
    $idTab_conf_servers = GUICtrlCreateTabItem("Servers")
    GUICtrlCreateGroup("Server Hinzufügen", 30, 35, 135, 185)
    $idLbl_name = GUICtrlCreateLabel("Name:", 40, 60)
    $idInp_name = GUICtrlCreateInput("", 50, 75, 100, 20)
    $idLbl_adresse = GUICtrlCreateLabel("Adresse:", 40, 105)
    $idInp_adresse = GUICtrlCreateInput("", 50, 120, 100, 20)
    GUICtrlCreateLabel("Port:", 40, 145)
    $idInp_port = GUICtrlCreateInput("", 50, 160, 100, 20)
    $idBtn_addserver = GUICtrlCreateButton("Add", 70, 185, 50)
    $idLstServer = GUICtrlCreateList("", 180, 40, 150, 190)
    $idBtn_delete = GUICtrlCreateButton("Löschen", 205, 240)
    GUICtrlCreateTabItem("")
    #EndRegion Gui

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

    _getServers()
    _GUICtrlListView_RegisterSortCallBack($idLV_Server)

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

    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[1]
    Case $hGuiMain
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE, $idMnu_file_close
    _GUICtrlListView_UnRegisterSortCallBack($idLV_Server)
    Exit
    Case $idMnu_edit_conf
    GUISetState(@SW_SHOW, $hGuiConf)
    Case $idMnu_file_test
    $iAct = -1
    _PingIt()
    Case $idLV_Server
    _GUICtrlListView_SortItems($idLV_Server, GUICtrlGetState($idLV_Server))
    $iAct = -1
    EndSwitch
    Case $hGuiConf
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $hGuiConf)
    _getServers()
    $iAct = -1
    Case $idBtn_addserver
    $name = GUICtrlRead($idInp_name)
    $adresse = GUICtrlRead($idInp_adresse)
    $port = GUICtrlRead($idInp_port)
    $read2 = IniReadSectionNames("conf.ini")
    $count = UBound($read2) - 1
    IniWrite("conf.ini", $name, "adresse", $adresse)
    IniWrite("conf.ini", $name, "port", $port)
    GUICtrlSetData($idInp_name, "")
    GUICtrlSetData($idInp_adresse, "")
    GUICtrlSetData($idInp_port, "")
    Case $idBtn_delete
    $read3 = GUICtrlRead($idLstServer)
    IniDelete("conf.ini", $read3)
    EndSwitch
    EndSwitch
    WEnd

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

    Func _getServers()
    Local $aTmp = IniReadSectionNames("conf.ini")
    _ArraySort($aTmp, 0, 1)
    Local $aData
    _GUICtrlListView_DeleteAllItems($idLV_Server)
    ReDim $aServers[$aTmp[0] + 1][2]
    For $i = 1 To $aTmp[0]
    $aData = IniReadSection("conf.ini", $aTmp[$i])
    $aServers[$i][0] = GUICtrlCreateListViewItem($aTmp[$i] & '|' & $aData[1][1] & '|' & $aData[2][1], $idLV_Server)
    $aServers[$i][1] = $aTmp[$i]
    ; $aServers[$i][2]=$aData[1]
    ; $aServers[$i][3]=$aData[2]
    Next
    EndFunc ;==>_getServers

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

    Func _PingIt()
    AdlibUnRegister('_PingIt')
    $iAct += 1
    Local $aItem = _GUICtrlListView_GetItemTextArray($idLV_Server, $iAct)
    Local $iItem = _ArraySearch($aServers, $aItem[1]) ;Server aus Listview im Array suchen
    ;ConsoleWrite($iAct & @TAB & $aItem[1] & @TAB)
    $iPing = Ping($aItem[2])
    If @error Then $iPing = 99999 ;für nicht erreichbar nötig wegen Sortiermöglichkeit
    ;ConsoleWrite($iPing & @CRLF)
    GUICtrlSetData($aServers[$iItem][0], '|||' & StringFormat('%5s', $iPing))
    Switch $iPing ;Farben je nach Ping
    Case 0 to 99
    GUICtrlSetBkColor($aServers[$iItem][0], 0x22C21F)
    GUICtrlSetColor($aServers[$iItem][0], 0x0)
    case 100 to 499
    GUICtrlSetBkColor($aServers[$iItem][0], 0x00FF1F)
    GUICtrlSetColor($aServers[$iItem][0], 0x0)
    Case 500 to 999
    GUICtrlSetBkColor($aServers[$iItem][0], 0x772200)
    GUICtrlSetColor($aServers[$iItem][0], 0xFFFFFF)
    Case Else
    GUICtrlSetBkColor($aServers[$iItem][0], 0xFF0000)
    GUICtrlSetColor($aServers[$iItem][0], 0xFFFFFF)
    EndSwitch
    If $iAct < _GUICtrlListView_GetItemCount($idLV_Server) - 1 Then AdlibRegister('_PingIt')
    EndFunc ;==>_PingIt

    [/autoit]

    Ich verwende zum Feststellen der Erreichbarkeit

    [autoit]

    Ping

    [/autoit]

    Da ich 4 Farbabstuffungen vorgesehen habe wirst du diese sicher noch anpassen.
    Die LV ist nach den Spaltenüberschriften sortierbar. Wenn während die Ping-Tests noch laufen sortiert wird fangen die Tests wieder mit dem 1. Item an.

    mfg autoBert

  • Tool für Serverstatus

    • autoBert
    • 29. März 2013 um 14:18

    Hier ein Beispiel dazu:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListviewConstants.au3>
    #include <array.au3>

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

    Dim $aNames[20][2]
    $aNames[0][0] = "Jürgen"
    $aNames[1][0] = "Peter"
    $aNames[2][0] = "Bert"
    $aNames[3][0] = "Christina"
    $aNames[4][0] = "Alex"
    $aNames[5][0] = "Astrid"
    $aNames[6][0] = "Roberto"
    $aNames[7][0] = "Heinz"
    $aNames[8][0] = "Iwan"
    $aNames[9][0] = "Robertina"
    $aNames[10][0] = "Hans"
    $aNames[11][0] = "Peter II."
    $aNames[12][0] = "Tina"
    $aNames[13][0] = "Michael"
    $aNames[14][0] = "Gunnar"
    $aNames[15][0] = "Kurt"
    $aNames[16][0] = "Gerald"
    $aNames[17][0] = "Alfred"
    $aNames[18][0] = "Stefanie"
    $aNames[19][0] = "Nicole"
    Dim $aItems[20]

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

    GUICreate("", 200, 400)
    $listview = GUICtrlCreateListView("Name|Status", 10, 10, 180, 350)
    For $i = 0 To 19
    $aItems[$i] = GUICtrlCreateListViewItem($aNames[$i][0] & "|Offline", $listview)
    Next
    _GUICtrlListView_SetColumnWidth($listview, 0, 140)
    _GUICtrlListView_SetColumnWidth($listview, 1, 40) ;0 = unsichtbar
    _GUICtrlListView_RegisterSortCallBack($listview)

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

    _RandomOnOff()

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

    GUISetState(@SW_SHOW)

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

    ;GUICtrlSetColor(-1, 0x22C21F)
    ;GUICtrlSetColor(-1, 0xAA0000)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    _GUICtrlListView_UnRegisterSortCallBack($listview)
    Exit
    Case $listview
    _GUICtrlListView_SortItems($ListView, GUICtrlGetState($ListView))
    EndSwitch
    WEnd

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

    Func _RandomOnOff()
    _GUICtrlListView_BeginUpdate($listview)
    For $i = 0 To 19
    If Random(1, 3, 1) = 1 Then
    $aNames[$i][1] = "Off"
    Else
    $aNames[$i][1] = "On"
    EndIf
    Next
    For $i = 0 To 19
    $iItem = _GUICtrlListView_FindText($listview, $aNames[$i][0], -1, False, True)
    If $aNames[$i][1] = "Off" Then
    GUICtrlSetData($aItems[$iItem], "|Off")
    GUICtrlSetBkColor($aItems[$iItem], 0xAA0000)
    Else
    GUICtrlSetData($aItems[$iItem], "|On")
    GUICtrlSetBkColor($aItems[$iItem], 0x22C21F)
    EndIf
    Next
    If GUICtrlGetState($ListView) = 1 Then
    _GUICtrlListView_SortItems($listview, 0)
    _GUICtrlListView_SortItems($listview, 1)
    EndIf
    _GUICtrlListView_EndUpdate($listview)
    AdlibRegister("_RandomOnOff", Random(5000, 10000, 1))
    EndFunc ;==>_RandomOnOff

    [/autoit]

    mfg autoBert

  • Generelle Frage bzgl Foren und Autoit

    • autoBert
    • 29. März 2013 um 14:13
    Zitat von saban.becker

    ich möchte nicht irgendwelche sat boards via script zumüllen, sondern geziehlt auf ein topic antworten

    ein Automat kann keine gezielten Antworten geben.

    Zitat von saban.becker

    dann den ein oder anderen standardspruch plazieren

    Dafür verwende ich die Zwischenablage und ein Skript das diese zuvor entsprechend fült.

    mfg autoBert

  • Eigene GUI basteln

    • autoBert
    • 28. März 2013 um 19:57

    Auch da könnte evtl. eine UDF von Großvater helfen: [UDF] (Teil)transparente Bilder-GUIs nach einem Rezept von Meister UEZ
    Das Beispiel von vorhin darauf abgeändert:

    Spoiler anzeigen
    [autoit]

    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include "GUICreateTransparent.au3"
    #include "GUICtrlPic.au3"

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

    Global Const $SC_DRAGMOVE = 0xF012
    Global $sBilddatei = @ScriptDir & "\bg3.png", $sBilddatei2
    $sBilddatei="D:\Dokumente und Einstellungen\Bert\Eigene Dateien\Beetle3.png"

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

    ; Transparentes GUI erzeugen
    $hGUI = _GUICreate_Transparent($sBilddatei)
    ; Child-GUI mit Controls erzeugen
    $hChild = GUICreate("MDIChild", 575, 300, -1, -1, $WS_POPUP, $WS_EX_MDICHILD + $WS_EX_LAYERED, $hGUI)
    GUISetBkColor(0xffffff)
    $Pic1 = @ProgramFilesDir & "\AutoIt3\Examples\GUI\Torus.png"
    $a8 = _GUICtrlPic_Create($Pic1 , 448, 196, 72, 72, BitOR($SS_CENTERIMAGE, $SS_NOTIFY) , Default)
    ; Hintergrundfarbe des Child-GUI transparent setzen
    _WinAPI_SetLayeredWindowAttributes($hChild, 0xffffff, 0xff)
    GUISetState(@SW_SHOW, $hGUI)
    GUISetState(@SW_SHOW, $hChild)

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

    ; Wenn man das GUI bewegen will
    GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")

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

    While 1
    $Msg = GUIGetMsg() ;
    Switch $Msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $a8
    MsgBox(0,'','')
    EndSwitch
    WEnd
    Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
    _SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
    EndFunc ;==>_WM_LBUTTONDOWN

    [/autoit]

    Falls dies nicht hilft dann hänge mal dein Originalbild des Hintergrundes mit an und wenn möglich wie es aussehen soll. Wenn du dann noch das Wort GDI in die Überschrift editierst wird sich wohl GDI-Meister UEZ persönlich melden.

    PS.: Zwischen den beiden Skripten wurde Beetle.png überarbeitet, daher jetzt etwas bessere Qualität.
    mfg autoBert

  • Schnelleres als MouseClicks ?

    • autoBert
    • 28. März 2013 um 19:25
    Zitat von x0r

    sorry für die Mutmaßung, aber das schreit nach Online-(Game/Seite)-Automatisierung...

    Genauso das Script mit der Start-/Pause-Funktion, welches er immernoch nicht gepostet hat!


    solange er die Seite nicht nennt gilt die Unschuldsvermutung. Allerdings ist bis dahin kein sinnvoller Support möglich, nur [Blockierte Grafik: http://i079.radikal.ru/0912/d2/5e1f601a025f.gif]
    Irgendwann wird das Thema dann wegen mangelder Mithilfe des TE's geschlossen.

    mfg autoBert

  • Youtube Klicks auslesen lassen

    • autoBert
    • 28. März 2013 um 18:25
    Zitat von chesstiger

    Und wo liegt hier das Problem?


    Das Problem war der Ansatz es über den Webseitenquelltext zu versuchen.

    mfg autoBert

  • Eigene GUI basteln

    • autoBert
    • 28. März 2013 um 17:38

    Dann stell komplett auf die GUICtrlPic.au3 um, dann klappt es:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>
    #include <WinAPI.au3>
    #include "GUICtrlPic.au3"

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

    Global $pic_background = "D:\Dokumente und Einstellungen\Bert\Eigene Dateien\Beetle3.png"

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

    ; Hauptfenster für den Hintergrund
    $GUI = GUICreate("", 575, 300, -1, -1, $WS_POPUP, BitOR($WS_EX_CONTROLPARENT, $WS_EX_LAYERED))
    Global $hImageGUIBK = _GUICtrlPic_Create($pic_background , 0, 0, 575, 300, BitOR($SS_CENTERIMAGE,$SS_SUNKEN, $SS_NOTIFY), Default)
    GuiCtrlSetState(-1,$GUI_DISABLE)
    $Pic1 = @ProgramFilesDir & "\AutoIt3\Examples\GUI\Torus.png"
    $a8 = _GUICtrlPic_Create($Pic1 , 445, 193, 72, 72, BitOR($SS_CENTERIMAGE, $SS_NOTIFY) , Default)

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

    GUISetState(@SW_SHOW, $GUI)

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

    While 1
    $Msg = GUIGetMsg() ;
    Switch $Msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $a8
    MsgBox(0,'','')
    EndSwitch
    WEnd

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

    mfg autoBert

    Dateien

    TestGuiCtrlPic.JPG 152,63 kB – 0 Downloads
  • Youtube Klicks auslesen lassen

    • autoBert
    • 28. März 2013 um 16:54
    Zitat von minx

    4 Threads, 3 davon AGB Verstöße. Das wird nichts mehr...


    Kann (mit diesem) nur 2 von 4 erkennen. Das Google-Bot Thema ist eine Abwamdlung des 3. Beispiels zu _IEFormSubmit. Aber auch 50% stimmen mich skeptisch.

    mfg autoBert

  • Adminkennwort erst während des Skriptes fragen

    • autoBert
    • 28. März 2013 um 16:12

    Skript in Starterslript und Workerskript teilen. Starterslript (ohne #requireAdmin)erfragt das Passwort und startet mit RunAs das Workerskript als Admin mit dem Passwort.

    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™