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
Hat jemand eine Lösung ?
@Mod's/Admins: bitte nach Offtopic verschieben da kein AutoIt spezifisches Problem
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
Hier einmal das lauffähige Skript:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GdiPlus.au3>
#include <Misc.au3>
#include <file.au3>
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
$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")
$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)
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===========================================;
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]If _GDIPlus_Startup() = 1 Then
_LoadMap()
EndIf
$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")
$graphic = _GDIPlus_GraphicsCreateFromHWND($Form1)
$bitmap = _GDIPlus_BitmapCreateFromGraphics(900, 633, $graphic)
$buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
;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)])
If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Baum") = "Baum" Then
_Baum()
EndIf
If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Laden") = "Laden" Then
_Laden()
EndIf
If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Laden") = "Laden" Then
_Baum()
EndIf
If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Weg") = "Weg" Then
_Weg()
EndIf
If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Weg") = "Weg" Then
_Baum()
EndIf
If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Eisen") = "Eisen" Then
_Eisen()
EndIf
If IniRead(@ScriptDir & "\INI\Data.ini", "DATA", "Map", "Eisen") = "Eisen" Then
_Baum()
EndIf
EndFunc ;==>_LoadMap
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
;Map Load Bar ende
[/autoit] [autoit][/autoit] [autoit];Arbeit Funktion Anfang
Func _Arbeit()
EndFunc ;==>_Arbeit
;Arbeit Funktion ende
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
;Anfang Kolisionen
If $x = 40 And $y = 40 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 40 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 120 Then
$x = -40 + 80
EndIf
If $x = 40 And $y = 120 Then
$y = -40 + 80
EndIf
If $x = 40 And $y = 480 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 480 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 160 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 160 Then
$y = -40 + 40
EndIf
If $x = 120 And $y = 240 Then
$y = -40 + 40
EndIf
If $x = 120 And $y = 240 Then
$x = -40 + 40
EndIf
If $x = 440 And $y = 280 Then
$x = -40 + 40
EndIf
If $x = 440 And $y = 280 Then
$y = -40 + 40
EndIf
If $x = 240 And $y = 320 Then
$y = -40 + 40
EndIf
;Ende Colisionen
Case _IsPressed(26) And Not $y <= 0
$y -= 40
;Anfang Kolisionen
If $x = 40 And $y = 40 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 40 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 120 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 120 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 480 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 480 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 160 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 160 Then
$y = -40 + 40
EndIf
If $x = 120 And $y = 240 Then
$y = -40 + 40
EndIf
If $x = 120 And $y = 240 Then
$x = -40 + 40
EndIf
If $x = 440 And $y = 280 Then
$x = -40 + 40
EndIf
If $x = 440 And $y = 280 Then
$y = -40 + 40
EndIf
If $x = 240 And $y = 320 Then
$y = -40 + 40
EndIf
;Ende Colisionen
Case _IsPressed(27) And $x <= 833
$x += 40
;Anfang Kolisionen
If $x = 40 And $y = 40 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 40 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 120 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 120 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 480 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 480 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 160 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 160 Then
$y = -40 + 40
EndIf
If $x = 120 And $y = 240 Then
$y = -40 + 40
EndIf
If $x = 120 And $y = 240 Then
$x = -40 + 40
EndIf
If $x = 440 And $y = 280 Then
$x = -40 + 40
EndIf
If $x = 440 And $y = 280 Then
$y = -40 + 40
EndIf
If $x = 240 And $y = 320 Then
$y = -40 + 40
EndIf
;Ende Colisionen
Case _IsPressed(28) And $y <= 540
$y += 40
;Anfang Kolisionen
If $x = 40 And $y = 40 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 40 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 120 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 120 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 480 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 480 Then
$y = -40 + 40
EndIf
If $x = 40 And $y = 160 Then
$x = -40 + 40
EndIf
If $x = 40 And $y = 160 Then
$y = -40 + 40
EndIf
If $x = 120 And $y = 240 Then
$y = -40 + 40
EndIf
If $x = 120 And $y = 240 Then
$x = -40 + 40
EndIf
If $x = 440 And $y = 280 Then
$x = -40 + 40
EndIf
If $x = 440 And $y = 280 Then
$y = -40 + 40
EndIf
If $x = 240 And $y = 320 Then
$y = -40 + 40
EndIf
;Ende Colisionen
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
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
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
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
Hallo Norman Bates,
ich habe mein "Embedded Web control Test" Beispiel darauf angepasst:
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.6.1
Author: AutoBert: http://www.autoit.de/index.php?page…4679#post164679
Skriptbeispiel für den Umgang mit _IECreateEmbedded, _IEErrorHandlerRegister, _IENavigate, _IEAction GuiCtrlCreateProgress, _IEPropertyGet
#ce ----------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_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)
GUISetState() ;Show GUI
$iTime=TimerInit()
_IENavigate($oIE, "http://www.autoit.de/index.php?page=Thread&postID=164679#post164679")
; 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
$SinkObject = 0 ; IE Eventzuweisung aufheben
_IEQuit($oIE)
GUIDelete()
Exit
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
wichtig ist Zeile 15 und die damit aufgerufene Func: IEEvent_ProgressChange
mfg autoBert
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
So sollte es funktionieren:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;-----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)
$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
Global $oJpgSaveOptions = ObjCreate("Photoshop.JPEGSaveOptions")
$oJpgSaveOptions.EmbedColorProfile = True
$oJpgSaveOptions.FormatOptions = 1 ; psStandardBaseline
$oJpgSaveOptions.Matte = 1 ; psNoMatte
$oJpgSaveOptions.Quality = GUICtrlRead($in_quality)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btn_path
Search()
Case $btn_save
Save()
Case $btn_start
Start()
EndSwitch
WEnd
;-----Funktionen-----
Func Search()
$s_path = FileSelectFolder("Wähle bitte deinen Speicherort aus", "C:/")
$in_path = GUICtrlSetData($lbl_path_2, $s_path)
EndFunc ;==>Search
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
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
mfg autoBert
Hallo Friedhelm39,
ich habe auf die Schnelle (C&P) die miniFTP aktualisiert:
;Copyright Alexander Imka ©
#RequireAdmin
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <FTPEx.au3>
$serveradresse = "ftp.csx.cam.ac.uk"
$username = ""
$passwort = ""
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open, 'ftp.csx.cam.ac.uk', '', '', 0)
$filelist = _Ftp_ListToArray($connection)
;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)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i]&"|")
Next
GUISetState(@SW_SHOW)
;GUI CODE ENDET HIER;
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
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
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!")
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
EndSwitch
WEnd
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
Ich verwende dazu wget und werte dies aus:
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
Func _EventHandler()
$iMsg = GUIGetMsg()
Switch $iMsg
Case $GUI_EVENT_CLOSE
_exitMain()
EndSwitch
EndFunc ;==>_EventHandler
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
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
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
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:
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <ListviewConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <GuiListView.au3>
;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)
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
_getServers()
_GUICtrlListView_RegisterSortCallBack($idLV_Server)
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
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
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
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
Hier ein Beispiel dazu:
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <ListviewConstants.au3>
#include <array.au3>
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]
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)
_RandomOnOff()
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit];GUICtrlSetColor(-1, 0x22C21F)
;GUICtrlSetColor(-1, 0xAA0000)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
_GUICtrlListView_UnRegisterSortCallBack($listview)
Exit
Case $listview
_GUICtrlListView_SortItems($ListView, GUICtrlGetState($ListView))
EndSwitch
WEnd
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
mfg autoBert
ich möchte nicht irgendwelche sat boards via script zumüllen, sondern geziehlt auf ein topic antworten
ein Automat kann keine gezielten Antworten geben.
dann den ein oder anderen standardspruch plazieren
Dafür verwende ich die Zwischenablage und ein Skript das diese zuvor entsprechend fült.
mfg autoBert
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:
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include "GUICreateTransparent.au3"
#include "GUICtrlPic.au3"
Global Const $SC_DRAGMOVE = 0xF012
Global $sBilddatei = @ScriptDir & "\bg3.png", $sBilddatei2
$sBilddatei="D:\Dokumente und Einstellungen\Bert\Eigene Dateien\Beetle3.png"
; 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)
; Wenn man das GUI bewegen will
GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
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
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
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
Und wo liegt hier das Problem?
Das Problem war der Ansatz es über den Webseitenquelltext zu versuchen.
mfg autoBert
Dann stell komplett auf die GUICtrlPic.au3 um, dann klappt es:
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include "GUICtrlPic.au3"
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)
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
mfg autoBert
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
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