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

  • Bug oder GuiGetMsg() will nicht wie ich will

    • autoBert
    • 3. März 2010 um 00:33

    Hallo SEuBo,

    ich hatte schon einen Workaround mit einem unsichtbaren Button, indem ich in der while Schleife immer wieder den State $GUI_DEFBUTTON zugewiesen habe. Damit tritt der Fehler nicht mehr auf. Aber es ist einfacher und vor allem programmiertechnisch sauberer wenn man einfach die Farbzuweisung weglässt.
    Ich wollte dost0011 schon empfehlen auf den OnEvent-Modus umzusteigen, da ich dort ein so seltsames Verhalten noch nie hatte,

    Übrigens der Effekt tritt natürlich auch bei den beiden anderen Buttons auf, falls sie anstelle dieses Buttons zuvor geklickt werden.

    mfg (Auto)Bert

  • Run!

    • autoBert
    • 2. März 2010 um 23:04

    Hallo TheShadowAE,

    entweder mein INet spinnt oder das Zip-File ist beschädigt. Habe es schon mehrmals versucht,Entwarnung hat jetzt geklappt. Nettes Game :thumbup:

    mfg (Auto)Bert

  • Bug oder GuiGetMsg() will nicht wie ich will

    • autoBert
    • 2. März 2010 um 22:58

    Hallo dost0011,

    es fehlt nur das exit bei Case $msg = $GUI_EVENT_CLOSE. Dann klappt's. Zum debuggen ist es einfacher sich mit Consolewrite solche Sachen in die Ausgabe von Scite ausgeben z lassen, denn dann hat man alles im Blick,

    Spoiler anzeigen
    [autoit]

    $Version = "V1.13"

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

    #include <ButtonConstants.au3>
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>
    #include <ListviewConstants.au3>

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

    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>

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

    Opt("WinTitleMatchMode", 3)
    Opt("SendKeyDelay", 1)

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

    $height = 300
    $top = (@DesktopHeight - $height - 60)
    $left = 0
    $width = @DesktopWidth
    GUICreate("Einsortieren " & $Version, $width, $height, $left, $top, $GUI_SS_DEFAULT_GUI, $WS_EX_ACCEPTFILES + $GUI_DROPACCEPTED)

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

    ; -------------------------
    ; Erzeuge linke Gruppe
    $randhor1 = 10
    $randhor2 = 40

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

    Global $Ordnername_Musik_neu = GUICtrlCreateInput("", 40, 50, ($width / 2) - $randhor2 - 2 * 40, 30, $ES_READONLY)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlSetFont(-1, "14")
    Global $Ordnername_Musik_neu_rename_ID = GUICtrlCreateInput("", 40, 90, ($width / 2) - $randhor2 - 2 * 40, 30)
    GUICtrlSetFont(-1, "14")

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

    Global $Informationen_Musik_neu_ID = GUICtrlCreateEdit("", 40, 150, ($width / 2) - $randhor2 - 2 * 40, 120, $ES_READONLY)
    GUICtrlSetFont(-1, "14")

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

    ; -------------------------
    ; Erzeuge rechte Gruppe
    GUICtrlCreateGroup("Musikbibliothek: " & "\", $width / 2 + $randhor2, 20, (($width - 2 * ($randhor1 + $randhor2)) / 2), $height - 2 * 20)
    GUICtrlSetFont(-1, "14")
    Global $Ordnername_Musik = GUICtrlCreateInput("", $width / 2 + 80, 50, ($width / 2) - $randhor2 - 2 * 40, 30, $ES_READONLY)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlSetFont(-1, "14")
    Global $Ordnername_Musik_rename_ID = GUICtrlCreateInput("", $width / 2 + 80, 90, ($width / 2) - $randhor2 - 2 * 40, 30)
    GUICtrlSetFont(-1, "14")

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

    Global $Informationen_Musik_ID = GUICtrlCreateEdit("", $width / 2 + 80, 150, ($width / 2) - $randhor2 - 2 * 40, 120, $ES_READONLY)
    GUICtrlSetFont(-1, "14")

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

    ; Erzeuge Buttons in der Mitte
    Global $Button_Act = GUICtrlCreateButton("Reload", $width / 2 - 40, 10, 80, 40)
    ;GUICtrlSetFont(-1,"18")

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

    Global $Button_Copy_Folder = GUICtrlCreateButton("Kopiere Ordner", $width / 2 - 40, 100, 80, 40)
    ;GUICtrlSetFont(-1,"14")
    GUICtrlSetBkColor(-1, "0xAAAAAA")

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

    Global $Button_Replace_Folder = GUICtrlCreateButton("Ersetze Ordner", $width / 2 - 40, 150, 80, 40)
    ;GUICtrlSetFont(-1,"18")
    GUICtrlSetBkColor(-1, "0xAAAAAA")

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

    Global $Button_Delete = GUICtrlCreateButton("X", $width / 2 - 120, 10, 40, 40)
    GUICtrlSetFont(-1, "18")
    GUICtrlSetBkColor(-1, "0xAAAAAA")

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

    Global $Button_Musik_Up = GUICtrlCreateButton("Up", $width - 160, 10, 40, 40)
    Global $Button_Musik_Root = GUICtrlCreateButton("Root", $width - 120, 10, 40, 40)
    Global $Button_Create = GUICtrlCreateButton("Create", $width - 80, 10, 40, 40)

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

    Global $Button_Hilfe = GUICtrlCreateButton("Hilfe", $width / 2 - 40, 250, 80, 40)
    ; Suchvorschläge werden hier abgelegt
    Global $searchresult[1000]
    Global $search_index = 0

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

    GUISetState()

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

    ;Global $file23 = FileOpen("temp.txt", 2)
    ;ConsoleWrite("Waschen")

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

    While 1
    $msg = GUIGetMsg()
    Sleep(100)
    ; Consolewrite($file23,$msg)
    ;MsgBox(0,"msg",$msg,1)
    Select
    Case $msg = $Button_Delete
    ConsoleWrite("Löschen Start" & @crlf)
    ConsoleWrite("Löschen Ende" & @crlf)
    Case $msg = $GUI_EVENT_CLOSE
    ConsoleWrite("Exit" & @crlf)
    Exit
    ;FileClose($file23)
    Case $msg = $Button_Musik_Root
    ;MsgBox(0,$msg,"2" & @crlf)
    Case $msg = $Button_Musik_Up
    ;MsgBox(0,$msg,"3" & @crlf)
    Case $msg = $Button_Create
    ;MsgBox(0,$msg,"4" & @crlf)
    Case $msg = $Button_Act
    ;MsgBox(0,$msg,"5" & @crlf)
    Case $msg = $Button_Copy_Folder
    ;MsgBox(0,$msg,"6" & @crlf)
    Case $msg = $Button_Replace_Folder
    ;MsgBox(0,$msg,"7" & @crlf)
    Case $msg = $Ordnername_Musik_rename_ID
    ;MsgBox(0,$msg,"8" & @crlf)
    ConsoleWrite("umbenennen" & @crlf)
    ConsoleWrite("fertig umbenennen" & @crlf)
    ;MsgBox(0,"Fertig 8",$msg)
    Case $msg = $Ordnername_Musik_neu_rename_ID
    ;MsgBox(0,$msg,"10" & @crlf)
    Case $msg = $Button_Hilfe
    ;MsgBox(0,$msg,"11" & @crlf)
    Case $msg = $GUI_EVENT_DROPPED
    ;MsgBox(0,$msg,"12" & @crlf)
    EndSelect
    WEnd

    [/autoit]

    mfg (Auto)Bert

  • GDIPlus Digitaluhr

    • autoBert
    • 2. März 2010 um 21:57

    Hallo xp_fan,

    wenn man die Farbe umstellt, nehmen die Ziffern für Stunde und Minute die neue Farbe erst nach der nächsten vollen Minute an. Bis dahin ergibt sich dieses Bild Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    mfg (Auto)Bert

    Bilder

    • 4_GDI+ Digitaluhr V. 2.0.jpg
      • 10,5 kB
      • 620 × 155
  • MouseClick-Koordinaten relativ zum Fenster bzw. bei unterschiedlichen Auflösungen

    • autoBert
    • 2. März 2010 um 20:33

    Hallo SmillingStar,

    du findest diese Referenz unter Inhalt|Bentzerdefinierte Funktionen Referenz|IE Management,

    mfg (Auto)Bert

  • Überwachungskamer v. 1

    • autoBert
    • 2. März 2010 um 19:19

    Hallo shayn,

    gut geworden, :thumbup:

    mfg (Auto)Bert

  • (Standard)FensterGrösse des _ArrayDisplay Fenster beeinflussen

    • autoBert
    • 2. März 2010 um 17:38

    Hallo ugt100,

    wie XovoxKingdom schon sagte, Finger weg von Original UDF's. Ich habe hier mal die func nach _MyArrayDisplay kopiert und dort abgeändert.

    _MyArrayDisplay (abspeichern in include unter MyArrayDisplay oder Demo anpassen):

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <array.au3>
    #include <GuiListview.au3>
    Func _MyArrayDisplay(Const ByRef $avArray, $sTitle = "Array: ListView Display", $iItemLimit = -1, $iTranspose = 0, $sSeparator = "", $sReplace = "|", $sHeader = "")
    If Not IsArray($avArray) Then Return SetError(1, 0, 0)
    ; Dimension checking
    Local $iDimension = UBound($avArray, 0), $iUBound = UBound($avArray, 1) - 1, $iSubMax = UBound($avArray, 2) - 1
    If $iDimension > 2 Then Return SetError(2, 0, 0)

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

    ; Separator handling
    ;~ If $sSeparator = "" Then $sSeparator = Chr(1)
    If $sSeparator = "" Then $sSeparator = Chr(124)

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

    ; Check the separator to make sure it's not used literally in the array
    If _ArraySearch($avArray, $sSeparator, 0, 0, 0, 1) <> -1 Then
    For $x = 1 To 255
    If $x >= 32 And $x <= 127 Then ContinueLoop
    Local $sFind = _ArraySearch($avArray, Chr($x), 0, 0, 0, 1)
    If $sFind = -1 Then
    $sSeparator = Chr($x)
    ExitLoop
    EndIf
    Next
    EndIf

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

    ; Declare variables
    Local $vTmp, $iBuffer = 64
    Local $iColLimit = 250
    Local $iOnEventMode = Opt("GUIOnEventMode", 0), $sDataSeparatorChar = Opt("GUIDataSeparatorChar", $sSeparator)

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

    ; Swap dimensions if transposing
    If $iSubMax < 0 Then $iSubMax = 0
    If $iTranspose Then
    $vTmp = $iUBound
    $iUBound = $iSubMax
    $iSubMax = $vTmp
    EndIf

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

    ; Set limits for dimensions
    If $iSubMax > $iColLimit Then $iSubMax = $iColLimit
    If $iItemLimit < 1 Then $iItemLimit = $iUBound
    If $iUBound > $iItemLimit Then $iUBound = $iItemLimit

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

    ; Set header up
    If $sHeader = "" Then
    $sHeader = "Row " ; blanks added to adjust column size for big number of rows
    For $i = 0 To $iSubMax
    $sHeader &= $sSeparator & "Col " & $i
    Next
    EndIf

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

    ; Convert array into text for listview
    Local $avArrayText[$iUBound + 1]
    For $i = 0 To $iUBound
    $avArrayText[$i] = "[" & $i & "]"
    For $j = 0 To $iSubMax
    ; Get current item
    If $iDimension = 1 Then
    If $iTranspose Then
    $vTmp = $avArray[$j]
    Else
    $vTmp = $avArray[$i]
    EndIf
    Else
    If $iTranspose Then
    $vTmp = $avArray[$j][$i]
    Else
    $vTmp = $avArray[$i][$j]
    EndIf
    EndIf

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

    ; Add to text array
    $vTmp = StringReplace($vTmp, $sSeparator, $sReplace, 0, 1)
    $avArrayText[$i] &= $sSeparator & $vTmp

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

    ; Set max buffer size
    $vTmp = StringLen($vTmp)
    If $vTmp > $iBuffer Then $iBuffer = $vTmp
    Next
    Next
    $iBuffer += 1

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

    ; GUI Constants
    Local Const $_ARRAYCONSTANT_GUI_DOCKBORDERS = 0x66
    Local Const $_ARRAYCONSTANT_GUI_DOCKBOTTOM = 0x40
    Local Const $_ARRAYCONSTANT_GUI_DOCKHEIGHT = 0x0200
    Local Const $_ARRAYCONSTANT_GUI_DOCKLEFT = 0x2
    Local Const $_ARRAYCONSTANT_GUI_DOCKRIGHT = 0x4
    Local Const $_ARRAYCONSTANT_GUI_EVENT_CLOSE = -3
    Local Const $_ARRAYCONSTANT_LVIF_PARAM = 0x4
    Local Const $_ARRAYCONSTANT_LVIF_TEXT = 0x1
    Local Const $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH = (0x1000 + 29)
    Local Const $_ARRAYCONSTANT_LVM_GETITEMCOUNT = (0x1000 + 4)
    Local Const $_ARRAYCONSTANT_LVM_GETITEMSTATE = (0x1000 + 44)
    Local Const $_ARRAYCONSTANT_LVM_INSERTITEMW = (0x1000 + 77)
    Local Const $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE = (0x1000 + 54)
    Local Const $_ARRAYCONSTANT_LVM_SETITEMW = (0x1000 + 76)
    Local Const $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT = 0x20
    Local Const $_ARRAYCONSTANT_LVS_EX_GRIDLINES = 0x1
    Local Const $_ARRAYCONSTANT_LVS_SHOWSELALWAYS = 0x8
    Local Const $_ARRAYCONSTANT_WS_EX_CLIENTEDGE = 0x0200
    Local Const $_ARRAYCONSTANT_WS_MAXIMIZEBOX = 0x00010000
    Local Const $_ARRAYCONSTANT_WS_MINIMIZEBOX = 0x00020000
    Local Const $_ARRAYCONSTANT_WS_SIZEBOX = 0x00040000
    Local Const $_ARRAYCONSTANT_tagLVITEM = "int Mask;int Item;int SubItem;int State;int StateMask;ptr Text;int TextMax;int Image;int Param;int Indent;int GroupID;int Columns;ptr pColumns"

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

    Local $iAddMask = BitOR($_ARRAYCONSTANT_LVIF_TEXT, $_ARRAYCONSTANT_LVIF_PARAM)
    Local $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]"), $pBuffer = DllStructGetPtr($tBuffer)
    Local $tItem = DllStructCreate($_ARRAYCONSTANT_tagLVITEM), $pItem = DllStructGetPtr($tItem)
    DllStructSetData($tItem, "Param", 0)
    DllStructSetData($tItem, "Text", $pBuffer)
    DllStructSetData($tItem, "TextMax", $iBuffer)

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

    ; Set interface up
    Local $iWidth = 640, $iHeight = 480
    Local $hGUI = GUICreate($sTitle, $iWidth, $iHeight, Default, Default, BitOR($_ARRAYCONSTANT_WS_SIZEBOX, $_ARRAYCONSTANT_WS_MINIMIZEBOX, $_ARRAYCONSTANT_WS_MAXIMIZEBOX))
    Local $aiGUISize = WinGetClientSize($hGUI)
    Local $hListView = GUICtrlCreateListView($sHeader, 0, 0, $aiGUISize[0], $aiGUISize[1] - 26, $_ARRAYCONSTANT_LVS_SHOWSELALWAYS)
    Local $hCopy = GUICtrlCreateButton("Copy Selected", 3, $aiGUISize[1] - 23, $aiGUISize[0] - 6, 20)
    GUICtrlSetResizing($hListView, $_ARRAYCONSTANT_GUI_DOCKBORDERS)
    GUICtrlSetResizing($hCopy, $_ARRAYCONSTANT_GUI_DOCKLEFT + $_ARRAYCONSTANT_GUI_DOCKRIGHT + $_ARRAYCONSTANT_GUI_DOCKBOTTOM + $_ARRAYCONSTANT_GUI_DOCKHEIGHT)
    GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_LVS_EX_GRIDLINES, $_ARRAYCONSTANT_LVS_EX_GRIDLINES)
    GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT, $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_WS_EX_CLIENTEDGE, $_ARRAYCONSTANT_WS_EX_CLIENTEDGE)

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

    ; Fill listview
    Local $aItem
    For $i = 0 To $iUBound
    If GUICtrlCreateListViewItem($avArrayText[$i], $hListView) = 0 Then
    ; use GUICtrlSendMsg() to overcome AutoIt limitation
    $aItem = StringSplit($avArrayText[$i], $sSeparator)
    DllStructSetData($tBuffer, "Text", $aItem[1])

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

    ; Add listview item
    DllStructSetData($tItem, "Item", $i)
    DllStructSetData($tItem, "SubItem", 0)
    DllStructSetData($tItem, "Mask", $iAddMask)
    GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_INSERTITEMW, 0, $pItem)

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

    ; Set listview subitem text
    DllStructSetData($tItem, "Mask", $_ARRAYCONSTANT_LVIF_TEXT)
    For $j = 2 To $aItem[0]
    DllStructSetData($tBuffer, "Text", $aItem[$j])
    DllStructSetData($tItem, "SubItem", $j - 1)
    GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETITEMW, 0, $pItem)
    Next
    EndIf
    Next
    $iColCount = _GUICtrlListView_GetColumnCount($hListView)
    for $i = 1 To $iColCount
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE)
    Next
    ; adjust window width
    $iWidth = 0
    For $i = 0 To $iSubMax + 1
    $iWidth += GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH, $i, 0)
    Next
    If $iWidth < 250 Then $iWidth = 230
    $iWidth += 20

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

    If $iWidth > @DesktopWidth Then $iWidth = @DesktopWidth - 100

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

    WinMove($hGUI, "", (@DesktopWidth - $iWidth)/2, Default, $iWidth)

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

    ; Show dialog
    GUISetState(@SW_SHOW, $hGUI)

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

    While 1
    Switch GUIGetMsg()
    Case $_ARRAYCONSTANT_GUI_EVENT_CLOSE
    ExitLoop

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

    Case $hCopy
    Local $sClip = ""

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

    ; Get selected indices [ _GUICtrlListView_GetSelectedIndices($hListView, True) ]
    Local $aiCurItems[1] = [0]
    For $i = 0 To GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETITEMCOUNT, 0, 0)
    If GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETITEMSTATE, $i, 0x2) Then
    $aiCurItems[0] += 1
    ReDim $aiCurItems[$aiCurItems[0] + 1]
    $aiCurItems[$aiCurItems[0]] = $i
    EndIf
    Next

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

    ; Generate clipboard text
    If Not $aiCurItems[0] Then
    For $sItem In $avArrayText
    $sClip &= $sItem & @CRLF
    Next
    Else
    For $i = 1 To UBound($aiCurItems) - 1
    $sClip &= $avArrayText[$aiCurItems[$i]] & @CRLF
    Next
    EndIf
    ClipPut($sClip)
    EndSwitch
    WEnd
    GUIDelete($hGUI)

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

    Opt("GUIOnEventMode", $iOnEventMode)
    Opt("GUIDataSeparatorChar", $sDataSeparatorChar)

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

    Return 1
    EndFunc ;==

    [/autoit]

    Demo zum Testen:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    #include <date.au3>
    ;#include <arraySort2D_MC.au3>
    #include <MyArrayDisplay.au3>

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

    Dim $array[9][4]
    For $i = 0 To 8
    $array[$i][0] = Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & Chr(Random(65, 90, 1))
    $array[$i][1] = Random(1, 31, 1) & "." & Random(1, 12, 1) & "." & Random(1960, 2000, 1); Pseudo-Datum ohne Prüfung auf Existenz z.B.31.02.2010 durchaus möglich
    Next
    _MyArrayDisplay($array)

    [/autoit]

    viel Spass damit,

    mfg (Auto)Bert

  • _ArrayShuffle

    • autoBert
    • 2. März 2010 um 14:58

    Hallo L3viathan2142,

    schöne Funktion :thumbup: Falls ich mal ein Kartenspiel (17 + 4 oder ähnliches) schreibe wede ich sie sicher einsetzen,

    mfg (Auto)Bert

  • Anzahl der Sections aus Ini lesen

    • autoBert
    • 2. März 2010 um 14:29

    Hallo L0c4lh0sT,

    was ist daran knifflig. Um alle Sektionen auszulesen:

    [autoit]

    $var = IniReadSectionNames(@WindowsDir & "\win.ini")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Wahrscheinlich keine INI Datei vorhanden.")
    Else
    MsgBox(4096, "Anzahl: ", $var[0])
    EndIf

    [/autoit]

    einfach das Hilfe-Beispiel abändern,

    mfg (Auto)Bert

  • Einträge einer Liste "eingrauen"

    • autoBert
    • 2. März 2010 um 14:17

    Hallo m-obi,

    BgFix hat soetwas einmal fürLVs gemacht,einspaltige LVs sehen auch nicht viel anders aus als eine ListBox,

    mfg (Auto)Bert

  • [Beispiel] Slide GUI

    • autoBert
    • 2. März 2010 um 13:54

    Hallo SEuBo,

    schönes Tool :thumbup: kann ich sicherlich einmal gebrauchen,

    mfg (Auto)Bert

  • eukalyptus hat Geburtstag

    • autoBert
    • 2. März 2010 um 12:41

    auch von mir:

    herzliches Happy Birtday to you

    mfg (Auto)Bert

  • MouseClick-Koordinaten relativ zum Fenster bzw. bei unterschiedlichen Auflösungen

    • autoBert
    • 2. März 2010 um 12:24

    Hallo SmillingStar,

    du solltest in der Hilfe "IE Benutzerdefinierte Funktion Referenz" durchlesen, damit kannst du den IE besser automatisieren, als es über Mausklicks geht,

    mfg (Auto)Bert

  • Automatische installation fileinstall

    • autoBert
    • 2. März 2010 um 11:47

    Hallo @fillin,

    dies hätte @thami nach meinem Post mit der Consoleausgabe und nach dem Hinweis von Micha_he sicher alleine fertiggebracht (falls er nicht Scite benutzt und es eh schon erledigt war),

    mfg (Auto)Bert

  • Einträge einer Liste "eingrauen"

    • autoBert
    • 2. März 2010 um 11:38

    Hallo m-obi,

    Zitat von m-obi

    wie kann ich einzelne Einträge einer Liste (GUICtrlCreateList) disablen

    nach meinem Wissen gar nicht.

    Zitat von mille86

    Hi,

    das dürfte dir weiterhelfen:

    [autoit]

    Funktion _GUICtrlListView_SetItemState#Include <GuiListView.au3>
    _GUICtrlListView_SetItemState($hWnd, $iIndex, $iState, $iStateMask)

    [/autoit]


    In der Hilfe steht alles notwendige dazu!

    das bezieht sich auf eine ListView, aber auch damit ist es in einer LV nicht möglich.

    mfg (Auto)Bert

  • Automatische installation fileinstall

    • autoBert
    • 1. März 2010 um 23:06

    Hallo thami,

    nein, lass mal dieses Mini-Skript laufen, dann weisst du wo die Datei gelndet ist:

    [autoit]

    Consolewrite(@TempDir & @crlf)

    [/autoit]

    mfg (Auto)Bert

  • Mehrspaltige Listview / selected items auslesen und als string ausgeben?

    • autoBert
    • 1. März 2010 um 22:10

    Hallo stinger2k,

    hier mein Beispiel aus Post #5 erweitert um Contextmenü:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    ;#include <array.au3>

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

    Local $tZeit, $s1, $s2

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

    $main = GUICreate("Testlistview Drag & Drop from LV1 to LV2 DblClick in LV1", 600, 400)
    $listview = GUICtrlCreateListView("Gruppe1| BlubText", 10, 10, 200, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE) ; legt fest, dass Hintergrundfarbe wechselt
    GUICtrlSetBkColor(-1, 0xE6E6FA) ; Hintergrundfarbe 1

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

    $listview2 = GUICtrlCreateListView("Gruppe2 | BlubText", 230, 10, 200, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
    GUICtrlSetState($listview2, $GUI_DROPACCEPTED)
    $hbtnInfo = GUICtrlCreateButton("Info", 160, 120, 100, 20)
    For $i = 1 To 9
    $listitem = GUICtrlCreateListViewItem("test" & $i & " |Blub " & Random(1, 9), $listview)
    GUICtrlSetBkColor(-1, 0xcccccc) ; Hintergrundfarbe 2
    Next
    $idContextmenu = GUICtrlCreateContextMenu($listview)
    $idClipmenu = GUICtrlCreateMenuItem("Ins ClipBoard", $idContextmenu)

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ;<=========================================== Bemachrichtigung Doppelklick
    GUISetState()
    $first = True
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_DROPPED
    $ar = _GUICtrlListView_GetSelectedIndices($listview, True)
    ;_ArrayDisplay($ar)
    For $i = 1 To $ar[0]
    $sItem = _GUICtrlListView_GetItemTextString($listview, $ar[$i])
    GUICtrlCreateListViewItem($sItem, $listview2)
    Next
    Case $hbtnInfo
    $aItem = _GUICtrlListView_GetItemTextArray($listview)
    MsgBox(0, "Info zu " & $aItem[1] & ":", $aItem[2])
    If Not $first Then MsgBox(0, "Erste Sicherung um " & $tZeit & ":", $s1 & @CRLF & $s2 & @CRLF)
    If $first And $aItem[1] <> "" Then
    $s1 = $aItem[1]
    $s2 = $aItem[2]
    $tZeit = @HOUR & ":" & @MIN
    $first = False
    EndIf
    Case $idClipmenu
    $aItems = _GUICtrlListView_GetSelectedIndices($listview, True)
    $sItemText = ""
    For $i = 1 To $aItems[0]
    ;Schleifenbeginn 1 da $aItem[0] die Anzahl enhält
    $sItemText &= _GUICtrlListView_GetItemTextString($listview, $aItems[$i]) & @CRLF
    ConsoleWrite($sItemText & @CRLF)
    Next ;= > weiter mit For
    ClipPut($sItemText & @CRLF)

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

    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam) ;<================== Benachrichtigung Doppelklick from Chaoskeks (in ChaosExecution)
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $listview And $code = -3 And _GUICtrlListView_GetSelectedCount($listview) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($listview)
    If _GUICtrlListView_GetItemSelected($listview, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($listview, $i)
    MsgBox(0, "Doppel-Klick auf ", $aItem[1] & @CRLF & @CRLF & $aItem[2])
    EndIf
    Next
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    Falls du noch Fragen/Probleme hast poste doch bitte dein Skript dazu,

    mfg (Auto)Bert

  • TreeView und editierbare Items.

    • autoBert
    • 1. März 2010 um 20:57

    Hallo Oscar ,

    ich habe die Routine gerade getestet. Editieren klappt super :thumbup: . Wäre Toll, wenn man das Editieren mit Esc abbrecen könnte.

    mfg (Auto)Bert

  • Mehrspaltige Listview / selected items auslesen und als string ausgeben?

    • autoBert
    • 1. März 2010 um 19:42

    Hallo stinger2k,

    schau dir in folgendem Beispiel-Skript von mir den Code ab Case $GUI_EVENT_DROPPED an:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    ;#include <array.au3>

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

    Local $tZeit, $s1, $s2

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

    $main = GUICreate("Testlistview Drag & Drop from LV1 to LV2 DblClick in LV1", 600, 400)
    $listview = GUICtrlCreateListView("Gruppe1| BlubText", 10, 10, 200, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS ), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE) ; legt fest, dass Hintergrundfarbe wechselt
    GUICtrlSetBkColor(-1, 0xE6E6FA) ; Hintergrundfarbe 1

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

    $listview2 = GUICtrlCreateListView("Gruppe2 | BlubText", 230, 10, 200, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
    GUICtrlSetState($listview2, $GUI_DROPACCEPTED)
    $hbtnInfo = GUICtrlCreateButton("Info", 160, 120, 100, 20)
    For $i = 1 To 9
    $listitem = GUICtrlCreateListViewItem("test" & $i & " |Blub " & Random(1, 9), $listview)
    GUICtrlSetBkColor(-1, 0xcccccc) ; Hintergrundfarbe 2
    Next
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ;<=========================================== Bemachrichtigung Doppelklick
    GUISetState()
    $first = True
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_DROPPED ;<=====================================
    $ar = _GUICtrlListView_GetSelectedIndices($listview, True)
    ;_ArrayDisplay($ar)
    For $i = 1 To $ar[0]
    $sItem = _GUICtrlListView_GetItemTextString($listview, $ar[$i])
    GUICtrlCreateListViewItem($sItem, $listview2)
    Next
    Case $hbtnInfo
    $aItem = _GUICtrlListView_GetItemTextArray($listview)
    MsgBox(0, "Info zu " & $aItem[1] & ":", $aItem[2])
    if not $first Then MsgBox(0, "Erste Sicherung um " & $tZeit & ":", $s1 & @CRLF & $s2 & @CRLF )
    if $first AND $aItem[1] <> "" Then
    $s1 = $aItem[1]
    $s2 = $aItem[2]
    $tZeit = @HOUR & ":" & @MIN
    $first = False
    EndIf
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam) ;<================== Benachrichtigung Doppelklick from Chaoskeks (in ChaosExecution)
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $ListView And $code = -3 And _GUICtrlListView_GetSelectedCount($ListView) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($ListView)
    IF _GUICtrlListView_GetItemSelected($ListView, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($listview, $i)
    MsgBox(0,"Doppel-Klick auf ",$aItem[1] & @CRLF & @CRLF & $aItem[2])
    EndIf
    Next
    Endif
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    Edit: 1. Beispiel war fehlerhaft Skript ausgetauscht
    mfg (Auto)Bert

  • _FTP_FileGet() Frage

    • autoBert
    • 1. März 2010 um 18:16

    Hallo Higgiii,

    füge einmal folgende Zeile in dein Skript ein:

    [autoit]

    HttpSetUserAgent('Firefox')

    [/autoit]

    mfg (Auto)Bert

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™