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

  • _IEcreate Anomalie

    • autoBert
    • 21. Juni 2016 um 22:24
    Zitat von supernova

    diese anomalie ist schon jahre alt und schleppt sich durch die versionen immer weite

    diese Anomalie schleppt sich durch Generationen von Programmieren, die unfähig sind eine Instanz eines COM-Objketes auf jeden Fall zu beenden. Und dies unabhängig von der Programmiersprache. Beschwer dich also direkt bei MS-

  • xcaclas.vbs output ad gruppen user to to excel

    • autoBert
    • 20. Juni 2016 um 09:51
    Zitat von subzero007

    so sieht die output datei aus siehe anhang

    welcher Anhang?

  • Taskbar Icon und Icon in der GUI bei einer au3 Datei ändern

    • autoBert
    • 18. Juni 2016 um 20:42
    Zitat von chip

    Warum? Nur weil es Dieselautos gibt, kannst trotzdem nicht in Benziner Diesel reinfüllen.

    Können schon, macht noch nicht einmal Schaden wenn Benzin:Diesel > 90:10, umgedreht ist deutlich schlimmer.

  • GUI wie Programmfenster ausführen

    • autoBert
    • 18. Juni 2016 um 11:44

    GuiSetResizing mit den gewünschten werten, mehr wird (zumindest für dieses Beispiel) nicht benötigt:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    
    
    Global $width=800,$height=600
    
    
    
    
    $Gui=GUICreate("Example",$width,$height,-1,-1,BitOR($WS_MINIMIZEBOX,$WS_MAXIMIZEBOX,$WS_SIZEBOX))
    $ControlInput=GUICtrlCreateInput("",5,5,($width-15)/2,20)
    GUICtrlSetResizing(-1,$GUI_DOCKLEFT+$GUI_DOCKMENUBAR)
    $ControlButton=GUICtrlCreateButton("Suchen",10+($width-15)/2,5,($width-15)/2,20)
    GUICtrlSetResizing(-1,$GUI_DOCKRIGHT+$GUI_DOCKMENUBAR)
    $ControlListview=GUICtrlCreateListView("",5,30,$width-10,$height-60)
    GUICtrlSetResizing(-1,$GUI_DOCKBORDERS)
    GUISetState()
    
    
    while 1
    	if GUIGetMsg()=-3 then exit
    WEnd
    Alles anzeigen
  • Ergebnisse in unterschiedlichen Farben darstellen

    • autoBert
    • 17. Juni 2016 um 23:21

    zum 2, Lösungsvorschlag ein Beispiel:

    AutoIt
    ;https://autoit.de/index.php/Thread/38907-Tool-f%C3%BCr-Serverstatus/?postID=311257#post311257
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiImageList.au3>
    #include <GuiListView.au3>
    #include <GuiMenu.au3>
    #include <array.au3>
    
    
    Global $eON, $eOFF
    
    
    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]
    
    
    $hGUI=GUICreate("", 220, 400)
    $listview = GUICtrlCreateListView("Name|Status", 10, 10, 210, 350)
    $hLV=GUICtrlGetHandle($listview)
    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()
     GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
      GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    
    
    GUISetState(@SW_SHOW)
    
    
    Global $aCMnuItems[1]
    ;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))
    			#cs
    		Case $idCMnuLV
    			For $i = $aCMnuItems[0] to 1  Step -1
    				GUICtrlDelete($aCMnuItems[$i])
    				;_ArrayDelete($aCMnuItems)
    			Next
    			$aItemSel=_GUICtrlListView_GetSelectedIndices($listview,True)
    			If $aItemSel[0]>0 Then
    				$bEnabled=(_GUICtrlListView_GetItemText($listview,$aItemSel[1],1)='On')
    			Else
    				$bEnabled=False
    			EndIf
    			If $bEnabled Then
    				GUICtrlSetState($idSendMsg,$Gui_ENABLE)
    			Else
    				GUICtrlSetState($idSendMsg,$Gui_DISABLE)
    			EndIf
    			#ce
    	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
    
    
    Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
      #forceref $hWnd, $iMsg, $lParam
      Switch _WinAPI_LoWord($wParam)
        Case $eOn
          MsgBox( 0, "Item", "On" )
        Case $eOff
          MsgBox( 0, "Item", "Off" )
      EndSwitch
      Return $GUI_RUNDEFMSG
    EndFunc
    
    
    Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
      #forceref $hWnd, $iMsg, $wParam
      Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
      Local $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
      Local $iCode = DllStructGetData($tNMHDR, "Code")
      Switch $hWndFrom
        Case $hLV
          Switch $iCode
            Case $NM_RCLICK
              Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $lParam)
              Local $iItem = DllStructGetData($tInfo, "Index")
              If $iItem > -1 Then
                Local $hMenu = _GUICtrlMenu_CreatePopup(), $bOn = Mod( $iItem, 2 ) = 0
                _GUICtrlMenu_InsertMenuItem( $hMenu, 0, "On", $eOn )
                _GUICtrlMenu_SetItemEnabled( $hMenu, 0, $bOn )
                _GUICtrlMenu_InsertMenuItem( $hMenu, 1, "Off", $eOff )
                _GUICtrlMenu_SetItemEnabled( $hMenu, 1, Not $bOn )
                _GUICtrlMenu_TrackPopupMenu( $hMenu, $hGUI )
                _GUICtrlMenu_DestroyMenu( $hMenu )
              EndIf
          EndSwitch
      EndSwitch
      Return $GUI_RUNDEFMSG
    EndFunc
    Alles anzeigen

    ist zwar nur eine Simulation, sollte dich aber auf eine Idee bringen

  • Kontextmenü verstecken

    • autoBert
    • 16. Juni 2016 um 14:13
    Zitat von Raupi

    Poste mal einen Beispielscode zum testen.

    damit waren sicher keine Snipets gemeint wo auch noch Teile zu einem lauffähigen Beispielskripot fehlen.

  • Zufallsgenerator

    • autoBert
    • 15. Juni 2016 um 20:52

    Und da ich mir so gut wie sicher bin, daß diese "Zufalls"-Zahlen auch noch normal verteilt sein sollen:

    C
    ;original Mars https://autoit.de/index.php/Thread/84217-Normalverteilung-mit-Random/?postID=673697#post673697
    #include <Array.au3>
    
    
    Local $n = 100000, $aRnd[$n] ; 100.000 Testzahlen
    
    
    For $i = 0 To $n - 1 Step 1
    	$aRnd[$i] = round(RandomN(2450, 200)/100,2) ; Mittelwert 24,50, Standardabweichung 2,00
    Next
    
    
    Local $aStdAbw = StdABW($aRnd) ; Mittelwert und Standardabweichung berechnen
    
    
    ConsoleWrite('Mid:    ' & $aStdAbw[0] & @CRLF & 'StdABW: ' & $aStdAbw[1] & @CRLF) ; Ausgabe
    
    
    _ArrayDisplay($aRnd, 'Zufallszahlen', 25) ; Erste 25 Elemente anschauen
    
    
    ; #FUNCTION# ====================================================================================================================
    ; Author ........: Mars
    ; Description ...: Berechnet den Mittelwert und die Standardabweichung.
    ; ===============================================================================================================================
    Func StdABW(ByRef $aArray)
    	Local $n = UBound($aArray), $nMid = ArraySum($aArray)/$n, $nVar = 0
    	For $i = 0 To $n - 1 Step 1
    		$nVar += ($aArray[$i] - $nMid)^2
    	Next
    	Local $aRet = [$nMid, ($nVar / ($n - 1)) ^ 0.5]
    	Return $aRet
    EndFunc
    
    
    ; #FUNCTION# ====================================================================================================================
    ; Author ........: Mars
    ; Description ...: Ermittelt einen Zufallswert anhand eines gegebenen Mittelwertes und der Standardabweichung
    ; ...............: Obacht! Es handelt sich um KEINE richtige Normalverteilung, sondern nur um eine Näherung!
    ; ===============================================================================================================================
    Func RandomN($nMid, $nSigma) ; Es können nur Ereignisse im 6 Sigma Bereich auftreten.
    	Return $nMid + $nSigma * (Random(-1, 1) + Random(-1, 1) + Random(-1, 1) + Random(-1, 1) + Random(-1, 1) + Random(-1, 1)) / 1.414214
    EndFunc
    
    
    ; #FUNCTION# ====================================================================================================================
    ; Author ........: Mars
    ; Description ...: Summiert alle Elemente eines Arrays
    ; ===============================================================================================================================
    Func ArraySum($aArray)
    	If Not IsArray($aArray) Then Return $aArray
    	Local $iTmp = 0
    	For $i = 0 To UBound($aArray) - 1 Step 1
    		$iTmp += $aArray[$i]
    	Next
    	Return $iTmp
    EndFunc
    Alles anzeigen

    @Admin/Mod: evtl. Thema verschieben.

  • Foren-Suchfunktion

    • autoBert
    • 15. Juni 2016 um 08:13
    Zitat von Bitnugger

    Mir ist gerade erst aufgefallen, dass die Suchfunktion hier im Forum unbedingt ein Upgade braucht.

    Ein Downgrade, zu den Fähigkeiten die sie unter WBB 3 hatte, wäre wohl eher angebracht. Da Woltlab ja die Angewohnheit hat alles zu verschlimmbessern. Unter WBB 3 war ich noch von der Forensuche überzeugt: .CSV in 2D Array bzw. 1D Array zu 2D konvertieren

  • ISN AutoIt Studio

    • autoBert
    • 14. Juni 2016 um 14:15
    Zitat von Kanashius

    Überleg nochmal, ob $result dort, wo du es abfragst wirklich verfügbar ist und ob es auch wirklich ein Array ist.

    Wer ImageSearch benötigt sollte auch das dort sehr rudimentäre Errorhandling verbessern, ansonsten wird er wohl verzweifeln.

    Da aber @Hessy weiß, daß es an der falschen DLL liegt sollte es auch in ISN machbar sein, überall den richtigen Modus zu benutzen.

  • "Gegenstände" im bild zählen

    • autoBert
    • 13. Juni 2016 um 13:00
    Zitat von Code-Jack

    Da finde ich den Ansatz, mit den Körnern dicht gepackt eine bestimmte Fläche zu bedecken, doch ziemlich hirnrissig,

    wieso hirnriesig auf den Acker wird das Saatgut auch auf die Fläche ausgebracht.

  • ERROR in FF.au3

    • autoBert
    • 11. Juni 2016 um 10:46
    Zitat von superstarinspee

    Benötigt ihr meinen code um den fehler nachzuvollziehen?

    @Stilgar (Autor der FF.au3) wohl nicht, andere wie ich aber schon. Deshalb wäre es nicht schlecht wenn du (d)ein Skript, was den Fehler produziert und deine Consolenausgabe auch dazu mit einstellst.

  • Mausklick mit der Anzahl als Variable

    • autoBert
    • 10. Juni 2016 um 02:47

    Bei welcher Firma bis du denn als Spieletester angestellt?

  • Koordinaten einer InputBox auslesen

    • autoBert
    • 8. Juni 2016 um 21:24
    Zitat von Code-Jack

    ControlGetPos war der entscheidende Hinweis, der mir fehlte.

    Die Mausefalle (_MouseTrap) ist auch recht nützlich.

  • Suche jemanden, der mir über Skype ab und zu bei Kleinigkeiten helfen Könnte

    • autoBert
    • 8. Juni 2016 um 21:12
    Zitat von TraderJoes

    Was für´n Bot?
    Es ist ein Programm, dass einen Ablauf automatisch an einem bestimmten Zeitpunkt machen soll.

    Zitat von Definition BOT

    Unter einem Bot (von englisch robot ‚Roboter‘) versteht man ein Computerprogramm, das weitgehend automatisch sich wiederholende Aufgaben abarbeitet, ohne dabei auf eine Interaktion mit einem menschlichen Benutzer angewiesen zu sein.Beispiele für Bots sind die Webcrawler von Internet-Suchmaschinen, die selbsttätig Webseiten besuchen, wobei sie den vorhandenen Links folgen und dabei ggf. den Inhalt der Seiten auswerten. „Gutartige“ Bots halten sich dabei an die Robot Exclusion Standards, mit denen Serverbetreiber das Verhalten eines Bots in Grenzen beeinflussen können. „Bösartige“ Bots werden beispielsweise zum Sammeln von E-Mail-Adressen für Werbezwecke sowie für das massenhafte unautorisierte Kopieren von Webinhalten bis hin zum systematischen Ausspionieren von Softwarelücken von Servern mit dem Ziel des Einbruchs in Server eingesetzt

    die bösartigen und Spielebot's sind laut Forenregeln verboten, aber hat hier iregendjemand behauptet das dein Bot darunter fällt?
    Ich habe nichts derartiges geslesen, also gilt die Unschuldsvermutung, außerdem:

    Zitat von Dt. Hilfeübersetzung

    AutoIt v3 ist eine BASIC-artige Freeware-Skriptsprache. Sie wurde entwickelt, um die Windows-GUI zu automatisieren und für allgemeines Programmieren. Sie nutzt eine Kombination von simulierten Tastendrücken, Mausbewegungen und -klicks sowie Windows- bzw. Control-Manipulation, um Aufgaben zu automatisieren, die in anderen Sprachen nicht möglich sind oder nur mit befriedigender Stabilität und Zuverlässigkeit möglich wären


    Wie du an diesem Zitat erkennen kannst wurde AutoIt genau für den von dir beschriebenen Zweck entwickelt.

    Und was du und jemand anders per Skype/Teamviewer besprecht interessiert eh niemanden (außer NSA, BND etc. vielleicht) Was anderes wäre es wenn du hier ein Thema einstellst, daß offensichtlich gegen die Forenregeln verstößt.

    Warum also fängst du das Bellen an?

  • Suche jemanden, der mir über Skype ab und zu bei Kleinigkeiten helfen Könnte

    • autoBert
    • 8. Juni 2016 um 13:56
    Zitat von chip

    Lass mich raten, es ist ein Bot....

    imho noch nicht, soll erst noch einer werden.

  • Hilfe beim Ordner durchsuchen und löschen der Dateien

    • autoBert
    • 8. Juni 2016 um 13:54

    _FileListToArrayRec wäre imho besser geeignet, als Anfänger gleich eine Rekursion zu programmieren kommt mir doch etwas zu schwer vor.

  • Koordinaten einer InputBox auslesen

    • autoBert
    • 8. Juni 2016 um 13:45

    ich hatte eigentlich an noch etwas kompakteres gedacht etwa wie dies:

    AutoIt: moveableControls
    #include <ButtonConstants.au3>
    #include <StaticConstants.au3>
    #include <ListviewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <SliderConstants.au3>
    #include <GuiListView.au3>
    #include <Array.au3>
    #include <File.au3>
    #include <Misc.au3>
    
    
    Dim $aCtrls[1]
    
    
    $sIni = "MoveableCtrls.ini"
    If Not FileExists($sIni) Then
    	$sData = "Label1=|270|125|8|205|7" & @CRLF
    	$sData &= "Label2=|50|125|500|8|7" & @CRLF
    	$sData &= "Label3=Alle Controls auf dieser Gui (außer der CheckBox) lassen sich verschieben wenn verschiebbar angeklcikt!|20|120|120|80|1" & @CRLF
    	IniWriteSection($sIni, "Moveable", $sData)
    EndIf
    
    
    $aCtrls = IniReadSection($sIni, "Moveable")
    If $aCtrls[0][0] > 0 Then
    	_ArrayColInsert($aCtrls, 2)
    	_ArrayColInsert($aCtrls, 2)
    	_ArrayColInsert($aCtrls, 2)
    	_ArrayColInsert($aCtrls, 2)
    	_ArrayColInsert($aCtrls, 2)
    	_ArrayColInsert($aCtrls, 2)
    	For $iCtrl = 1 To $aCtrls[0][0]
    		$aSplit = StringSplit($aCtrls[$iCtrl][1], '|')
    		For $iCol = 1 To $aSplit[0]
    			$aCtrls[$iCtrl][$iCol] = $aSplit[$iCol]
    		Next
    	Next
    EndIf
    $aCtrls[0][1] = "Text"
    $aCtrls[0][2] = "left"
    $aCtrls[0][3] = "Top"
    $aCtrls[0][4] = "width"
    $aCtrls[0][5] = "height"
    $aCtrls[0][6] = "Style"
    $aCtrls[0][7] = "ID"
    
    
    _ArrayDisplay($aCtrls)
    
    
    $hGUI = GUICreate("Drag Me", 575, 510)
    For $iCtrl = 1 To $aCtrls[0][0]
    	Switch StringTrimRight($aCtrls[$iCtrl][0], 1) ;Achtung nur 9 Controls möglich => erweitern
    		Case "Label" ;prüfen ob Label einziges Static
    			$aCtrls[$iCtrl][7] = GUICtrlCreateLabel($aCtrls[$iCtrl][1], $aCtrls[$iCtrl][2], $aCtrls[$iCtrl][3], $aCtrls[$iCtrl][4], $aCtrls[$iCtrl][5], $aCtrls[$iCtrl][6])
    	EndSwitch
    Next
    ;$idSplitterV = GUICtrlCreateLabel("", 270, 125, 8, 205,  $SS_BLACKFRAME)
    ;$idSplitterH = GUICtrlCreateLabel("", 50, 25, 500, 8, $SS_BLACKFRAME)
    ;$idLblDrag = GUICtrlCreateLabel("", 20, 120, 120, 80,BitOR($SS_CENTER,$BS_VCENTER))
    ;GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ;noch integrieren
    $idChkMoveable = GUICtrlCreateCheckbox("verschiebbar", 5, 5, 100, 22)
    $bMoveable = False
    GUISetState(@SW_SHOW)
    Global $dll = DllOpen("user32.dll")
    
    
    While 1
    	$iMsg = GUIGetMsg()
    	Switch $iMsg
    		Case $GUI_EVENT_CLOSE
    			$sData = ""
    			For $iCtrl = 1 To $aCtrls[0][0]
    				$sData &= _GetClassNameNNByID($hGUI, $aCtrls[$iCtrl][7]) & "="
    				$sData &= ControlGetText($hGUI, "", $aCtrls[$iCtrl][7]) & "|"
    				$aPos = ControlGetPos($hGUI, "", $aCtrls[$iCtrl][7])
    				If IsArray($aPos) Then
    					;_ArrayDisplay($aPos)
    					For $i = 0 To 3
    						$sData &= $aPos[$i] & "|"
    					Next
    				Else
    					$sData &= "||||" ;besser leere Elemente als ein total zerstörtes Array
    					Exit ;noch besser
    				EndIf
    				$sData &= $aCtrls[$iCtrl][6] ;muß noch vom Control ausgelesen werden sonst ist ein Hinzufügen von Controls mit Style nicht dynamisch möglich
    				$sData &= @CRLF
    			Next
    			IniWriteSection($sIni, "Moveable", $sData)
    			Exit
    		Case $idChkMoveable
    			$bMoveable = BitAND(GUICtrlRead($idChkMoveable), $GUI_CHECKED)
    		Case $aCtrls[1][7] To $aCtrls[$aCtrls[0][0]][7]
    			If $bMoveable Then
    				_DragMe($iMsg)
    				#cs
    					Else
    					Switch $iMsg
    					case ...
    					EndSwitch
    				#ce
    			EndIf
    	EndSwitch
    WEnd
    DllClose($dll)
    
    
    Func _DragMe($iCtrlID) ;Orginal zum verschieben von 1 Bild von ChaosKeks
    	Local $Pos_C, $Pos_M, $Pos_M2, $Opt_old
    	$Opt_old = Opt('MouseCoordMode', 2)
    	$Pos_C = ControlGetPos($hGUI, "", $iCtrlID);$pic)
    	$Pos_M = MouseGetPos()
    	$Pos_W = WinGetPos($hGUI)
    	$x_Offset = $Pos_M[0] - $Pos_C[0]
    	$y_Offset = $Pos_M[1] - $Pos_C[1]
    	_MouseTrap($Pos_W[0] + $x_Offset, $Pos_W[1] + $y_Offset, $Pos_W[0] + $Pos_W[2], $Pos_W[1] + $Pos_W[3])
    	Local $iOldState = GUICtrlGetState($iCtrlID)
    	GUICtrlSetState($iCtrlID, $GUI_ONTOP)
    	While _IsPressed('01', $dll)
    		$Pos_M = MouseGetPos()
    		If $Pos_M <> $Pos_M2 Then
    			GUICtrlSetPos($iCtrlID, $Pos_M[0] - $x_Offset, $Pos_M[1] - $y_Offset)
    			Sleep(10)
    		EndIf
    		$Pos_M = $Pos_M2
    		Sleep(50)
    	WEnd
    	Opt('MouseCoordMode', $Opt_old)
    	_MouseTrap()
    	GUICtrlSetState($iCtrlID, $iOldState)
    EndFunc   ;==>_DragMe
    
    
    Func _GetClassNameNNByID($hWnd, $ID)
    	;funkey
    	Local $hCtrl = ControlGetHandle($hWnd, "", $ID)
    	Local $sCtrl = _WinAPI_GetClassName($hCtrl)
    	If @error Then Return SetError(1)
    	For $i = 1 To 1000
    		If ControlGetHandle($hWnd, "", $sCtrl & $i) = $hCtrl Then
    			$sCtrl=StringReplace($sCtrl, 'Static', 'Label') ;autobert
    			Return $sCtrl & $i
    		EndIf
    	Next
    EndFunc   ;==>_GetClassNameNNByID
    Alles anzeigen

    da dein Skript imho den Fehler durch die schlecht implementierte Draging-Methode hat und ich auch von obigem Konzept überzeugt bin solltest du dieses Konzept erweitern. Die Hürde in Zeile 49 (Beschränkung auf 9 Controls) sollte über StringRegExpReplace lösbar sein. Dann bleibt nur noch die Hürde wie man den Style eines Controls ermittelt, dies ist nur nötig wenn der Anwender selbst noch neue Controls mit Style hinzufügen können soll.
    Alles andere ist dann imho Fleißarbeit.

  • Koordinaten einer InputBox auslesen

    • autoBert
    • 8. Juni 2016 um 00:07

    da ist wohl etwas schiefgegangen, ich habe alles in einer Zeile!

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • autoBert
    • 7. Juni 2016 um 23:29
    Zitat von HalliHalloSchat

    Für mich bleibt nur noch eine Frage:
    Sollte ich das nun auch im englishen Forum posten, sodass der Bugfix geprüft und dann in die neue Version übernommen werden kann?

    wäre nicht schlecht, sonst müssen wir noch länger damit leben.

  • Koordinaten einer InputBox auslesen

    • autoBert
    • 7. Juni 2016 um 22:57

    kannst du bitte dein Problem in einem Minimalscript reproduzieren und posten, also nur das wesentliche ohne anderes Gedöhns außenrum.

    Ich han zwar solche Experimente auch schon gemacht aber außer Darstellungsfehlern während des Drag'ens ist mir nichts aufgefallen.

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™