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

Beiträge von x0r

  • TreeView durchsuchen und markieren

    • x0r
    • 5. Mai 2016 um 13:10

    Hi,

    danke für die Antworten und Möglichkeiten, ich werde das morgen gleich testen und bescheid geben, bin grade nicht zuhause.

    Wäre der Hammer, wenns endlich funktioniert :D

    Danke euch!

    Gruß,
    x0r

  • TreeView durchsuchen und markieren

    • x0r
    • 3. Mai 2016 um 23:40

    Hi,

    ich habe ein TreeView, in dem ich sämtliche Ordner und Dateien eines bestimmten Pfades aufgelistet habe, ist alles zugeklappt beim Start.

    Jetzt möchte ich nach einem String suchen können und die gefundenen Ordner bzw Dateien (inklusive dem Ordner, in dem sie sich befinden) farbig markieren (Checkboxen sind auch möglich).

    Irgendwie scheine ich für die Logik dahinter zu blöd zu sein ;)

    Aufgebaut ist das TreeView wie im Link:
    https://www.autoitscript.com/forum/topic/12…createtreeview/

    Spoiler anzeigen
    AutoIt
    #Include <GUIConstantsEx.au3>
    #Include <GUIImageList.au3>
    #Include <GUITreeView.au3>
    #Include <TreeViewConstants.au3>
    #Include <WindowsConstants.au3>
    #Include <WinAPIEx.au3>
    Opt('MustDeclareVars', 1)
    Global $hForm, $hTreeView, $hImageList, $hItem = 0, $hSelect = 0, $hInput, $Input, $Dummy1, $Dummy2
    Global $X, $Y, $sPath, $sRoot = @HomeDrive
    $hForm = GUICreate('MyGUI', 600, 600)
    $Input = GUICtrlCreateInput('', 20, 20, 560, 19)
    $hInput = GUICtrlGetHandle(-1)
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;$hTreeView = _GUICtrlTreeView_Create($hForm, 20, 50, 560, 530, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
    ;_GUICtrlTreeView_SetHeight($hTreeView, 18)
    GUICtrlCreateTreeView(20, 50, 560, 530, -1, $WS_EX_CLIENTEDGE)
    $hTreeView = GUICtrlGetHandle(-1)
    $Dummy1 = GUICtrlCreateDummy()
    $Dummy2 = GUICtrlCreateDummy()
    If _WinAPI_GetVersion() >= '6.0' Then
        _WinAPI_SetWindowTheme($hTreeView, 'Explorer')
    EndIf
    $hImageList = _GUIImageList_Create(16, 16, 5, 1)
    _GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 3)
    _GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 4)
    _GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 51)
    _GUICtrlTreeView_SetNormalImageList($hTreeView, $hImageList)
    $sRoot = StringRegExpReplace(FileGetLongName($sRoot), '\\+\Z', '')
    $sPath = StringRegExpReplace($sRoot, '^.*\\', '')
    If StringInStr($sPath, ':') Then
        $sRoot &= '\'
        $sPath &= '\'
    EndIf
    If _WinAPI_PathIsDirectory($sRoot) Then
        $hItem = _GUICtrlTreeView_AddChild($hTreeView, 0, $sPath, 0, 0)
        If FileClose(FileFindFirstFile($sRoot & '\*')) Then
            _GUICtrlTreeView_AddChild($hTreeView, $hItem, '', 2, 2)
        EndIf
    EndIf
    GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
    GUISetState()
    If $hItem Then
        _GUICtrlTreeView_Expand($hTreeView, $hItem)
    EndIf
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
            Case $Dummy1 ; Update
                GUISetCursor(1, 1)
                _TVUpdate($hTreeView, GUICtrlRead($Dummy1))
                GUISetCursor(2, 0)
            Case $Dummy2 ; Menu
                $hItem = GUICtrlRead($Dummy2)
                $sPath = _TVGetPath($hTreeView, $hItem, $sRoot)
                ConsoleWrite('-------------------------------' & @CR)
                ConsoleWrite('Handle: ' & $hItem & @CR)
                ConsoleWrite('Path:   ' & $sPath & @CR)
                If _WinAPI_PathIsDirectory($sPath) Then
                    ConsoleWrite('Type:   ' & 'Directory' & @CR)
                Else
                    ConsoleWrite('Type:   ' & 'File' & @CR)
                EndIf
                ConsoleWrite('X:      ' & MouseGetPos(0) & @CR)
                ConsoleWrite('Y:      ' & MouseGetPos(1) & @CR)
                ConsoleWrite('-------------------------------' & @CR)
        EndSwitch
    WEnd
    Func _TVGetPath($hTV, $hItem, $sRoot)
        Local $Path = StringRegExpReplace(_GUICtrlTreeView_GetTree($hTV, $hItem), '([|]+)|(\\[|])', '\\')
        If Not $Path Then
            Return ''
        EndIf
        If Not StringInStr($Path, ':') Then
            Return StringRegExpReplace($sRoot, '(\\[^\\]*(\\|)+)\Z', '\\') & $Path
        EndIf
        Return $Path
    EndFunc   ;==>_TVGetPath
    Func _TVSetPath($hTV, $hItem, $sRoot)
        GUICtrlSetData($Input, _WinAPI_PathCompactPath($hInput, _TVGetPath($hTV, $hItem, $sRoot), 554))
        $hSelect = $hItem
    EndFunc   ;==>_TVSetPath
    Func _TVUpdate($hTV, $hItem)
        Local $hImageList = _SendMessage($hTV, $TVM_GETIMAGELIST)
        Local $Path = StringRegExpReplace(_TVGetPath($hTV, $hItem, $sRoot), '\\+\Z', '')
        Local $hIcon, $hSearch, $hSubitem
        Local $Index, $File
        _WinAPI_LockWindowUpdate($hTV)
        _GUICtrlTreeView_Delete($hTV, _GUICtrlTreeView_GetFirstChild($hTV, $hItem))
        $hSearch = FileFindFirstFile($Path & '\*')
        If $hSearch = -1 Then
            If Not @error Then
                If FileExists($Path) Then
    ;               If _WinAPI_PathIsDirectory($Path) Then
    ;                   ; Access denied
    ;               EndIf
                Else
                    _GUICtrlTreeView_Delete($hTV, $hItem)
                    _WinAPI_LockWindowUpdate(0)
                    Return 0
                EndIf
            EndIf
        Else
            While 1
                $File = FileFindNextFile($hSearch)
                If @error Then
                    ExitLoop
                EndIf
                If @extended Then
                    $hSubItem = _GUICtrlTreeView_AddChild($hTV, $hItem, $File, 0, 0)
                    If FileClose(FileFindFirstFile($Path & '\' & $File & '\*')) Then
                        _GUICtrlTreeView_AddChild($hTV, $hSubItem, '', 2, 2)
                    EndIf
                EndIf
            WEnd
            FileClose($hSearch)
        EndIf
        $hSearch = FileFindFirstFile($Path & '\*')
        If $hSearch = -1 Then
        Else
            While 1
                $File = FileFindNextFile($hSearch)
                If @error Then
                    ExitLoop
                EndIf
                If Not @extended Then
                    $hIcon = _WinAPI_ShellExtractAssociatedIcon($Path & '\' & $File, 1)
                    $Index = _GUIImageList_ReplaceIcon($hImageList, -1, $hIcon)
                    _GUICtrlTreeView_AddChild($hTV, $hItem, $File, $Index, $Index)
                    _WinAPI_DestroyIcon($hIcon)
                EndIf
            WEnd
            FileClose($hSearch)
        EndIf
        _GUICtrlTreeView_SetItemParam($hTV, $hItem, 0x7FFFFFFF)
        _WinAPI_LockWindowUpdate(0)
        Return 1
    EndFunc   ;==>_TVUpdate
    Func _WinAPI_LockWindowUpdate($hWnd)
        Local $Ret = DllCall('user32.dll', 'int', 'LockWindowUpdate', 'hwnd', $hWnd)
        If (@error) Or (Not $Ret[0]) Then
            Return SetError(1, 0, 0)
        EndIf
        Return 1
    EndFunc   ;==>_WinAPI_LockWindowUpdate
    Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
        Local $tNMTREEVIEW = DllStructCreate($tagNMTREEVIEW, $lParam)
        Local $hItem = DllStructGetData($tNMTREEVIEW, 'NewhItem')
        Local $iState = DllStructGetData($tNMTREEVIEW, 'NewState')
        Local $hTV = DllStructGetData($tNMTREEVIEW, 'hWndFrom')
        Local $ID = DllStructGetData($tNMTREEVIEW, 'Code')
        Local $tTVHTI, $tPoint
        Switch $hTV
            Case $hTreeView
                Switch $ID
                    Case $TVN_ITEMEXPANDEDW
                        If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
                            _GUICtrlTreeView_Delete($hTV, $hItem)
                            If BitAND($iState, $TVIS_SELECTED) Then
                                _TVSetPath($hTV, _GUICtrlTreeView_GetSelection($hTV), $sRoot)
                            EndIf
                        Else
                            If Not BitAND($iState, $TVIS_EXPANDED) Then
                                _GUICtrlTreeView_SetSelectedImageIndex($hTV, $hItem, 0)
                                _GUICtrlTreeView_SetImageIndex($hTV, $hItem, 0)
                            Else
                                _GUICtrlTreeView_SetSelectedImageIndex($hTV, $hItem, 1)
                                _GUICtrlTreeView_SetImageIndex($hTV, $hItem, 1)
                                If Not _GUICtrlTreeView_GetItemParam($hTV, $hItem) Then
                                    GUICtrlSendToDummy($Dummy1, $hItem)
                                EndIf
                            EndIf
                        EndIf
                    Case $TVN_SELCHANGEDW
                        If BitAND($iState, $TVIS_SELECTED) Then
                            If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
                                _GUICtrlTreeView_Delete($hTV, $hItem)
                                $hItem = _GUICtrlTreeView_GetSelection($hTV)
                            EndIf
                            If $hItem <> $hSelect Then
                                _TVSetPath($hTV, $hItem, $sRoot)
                            EndIf
                        EndIf
                    Case $NM_RCLICK
                            $tPoint = _WinAPI_GetMousePos(1, $hTV)
                            $tTVHTI = _GUICtrlTreeView_HitTestEx($hTV, DllStructGetData($tPoint, 1), DllStructGetData($tPoint, 2))
                            $hItem = DllStructGetData($tTVHTI, 'Item')
                            If BitAND(DllStructGetData($tTVHTI, 'Flags'), $TVHT_ONITEM) Then
                                _GUICtrlTreeView_SelectItem($hTreeView, $hItem)
                                If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
                                    _GUICtrlTreeView_Delete($hTV, $hItem)
                                    $hItem = _GUICtrlTreeView_GetSelection($hTV)
                                Else
                                    GUICtrlSendToDummy($Dummy2, $hItem)
                                EndIf
                                If $hItem <> $hSelect Then
                                    _TVSetPath($hTV, $hItem, $sRoot)
                                EndIf
                            EndIf
                    EndSwitch
        EndSwitch
        Return $GUI_RUNDEFMSG
    EndFunc   ;==>WM_NOTIFY
    Alles anzeigen


    Danke & Gruß,
    x0r

  • Nummernkreislauf generieren

    • x0r
    • 19. April 2016 um 17:09

    Hi,

    evtl kannst du da mit einer "ini" (oder txt geht auch) arbeiten, die eine darin enthaltene Zahl immer weiter hochzählt, sobald jemand auf seinen Button klickt und diese Zahl genauso vor der Ausgabe ausliest.

    Ich würds jedenfalls so versuchen :)

    Gruß,
    x0r

  • Datei mit verschiedenen Programmen öffnen

    • x0r
    • 21. März 2016 um 17:14

    Tag,

    selbstverständlich meinte ich "WordPad" (ich schiebs mal auf die Uhrzeit).

    Kurz und knapp: Thx! ;)

  • Datei mit verschiedenen Programmen öffnen

    • x0r
    • 21. März 2016 um 03:28

    Hi,

    kurz und knapp: Ist es möglich, z.b. eine Textdatei (*.txt) mit Editor ODER Notepad zu öffnen?
    Eigentlich möchte ich aus einer GUI heraus eine PDF in verschiedenen Programmen öffnen können (PDF Reader, PDF Explorer, TerraExplorer,...)

    Beispiel:

    AutoIt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    
    
    $GUI = GUICreate("GUI", 396, 116, 192, 114)
    $in_file = GUICtrlCreateInput("", 8, 8, 377, 21)
    $rb_note = GUICtrlCreateRadio("Öffnen mit Notepad", 8, 40, 113, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $rb_edit = GUICtrlCreateRadio("Öffnen mit Editor", 8, 56, 113, 17)
    $open = GUICtrlCreateButton("Öffnen", 8, 80, 115, 25)
    GUISetState(@SW_SHOW)
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $open
    			$file = GUICtrlRead($in_file)
    			If $file <> "" Then
    				If GUICtrlRead($rb_edit) = 1 Then
    					;$file -> Öffnen mit Editor
    				ElseIf GUICtrlRead($rb_note) = 1 Then
    					;$file -> Öffnen mit Notepad
    				EndIf
    			EndIf
    
    
    		Case $GUI_EVENT_CLOSE
    			Exit
    	EndSwitch
    WEnd
    Alles anzeigen


    Stelle mich da grade etwas an, ist ja quasi schon Schlafenszeit :D

    Danke für die Hilfe.

    Grüße,
    x0r

  • Digitaler Planungsordner (GDI+ Zeichnen und speichern, Zoom)

    • x0r
    • 8. März 2016 um 21:11

    So, n bissl was "zusammenkopiert" hab ich, nur zeigts mir keine PDF an, warum auch immer:

    In Zeile 91 wird bzw sollte die PDF angezeigt werden, tut sich aber nix.

    PDF raussuchen, rechtsklick drauf, läd kurz (Mauszeiger Sanduhr) und nix passiert. Ärgerlich :(

    AutoIt
    ;~ #RequireAdmin
    #Include <GUIConstantsEx.au3>
    #Include <GUIImageList.au3>
    #Include <GUITreeView.au3>
    #Include <GUIToolBar.au3>
    #Include <TreeViewConstants.au3>
    #Include <WindowsConstants.au3>
    #Include <WinAPIEx.au3>
    ;~ MsgBox(0,"", _WinAPI_GetVersion())
    ;~ Opt('MustDeclareVars', 1)
    
    
    Global $sRoot = @ScriptDir ;sollte PDFs enthalten
    
    
    Global $hForm, $hTreeView, $hImageList, $hItem, $hNext, $hSelect = 0, $hInput, $Input, $Dummy1, $Dummy2, $Edit1, $hToolBar
    Global $X, $Y, $sPath
    
    
    Global Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $e_idHelp
    
    
    $hForm = GUICreate("MyGUI", 1150, 630, 192, 125)
    $Input = GUICtrlCreateInput("", 20, 44, 560, 21)
    $hInput = GUICtrlGetHandle(-1)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $hToolBar = _GUICtrlToolbar_Create($hForm, 0)
    
    
    $aSize = _GUICtrlToolbar_GetMaxSize($hToolbar)
    _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
    ; Add buttons
    _GUICtrlToolbar_AddButton($hToolbar, $e_idNew, $STD_FILENEW)
    _GUICtrlToolbar_AddButton($hToolbar, $e_idOpen, $STD_FILEOPEN)
    _GUICtrlToolbar_AddButton($hToolbar, $e_idSave, $STD_FILESAVE)
    _GUICtrlToolbar_AddButtonSep($hToolbar)
    _GUICtrlToolbar_AddButton($hToolbar, $e_idHelp, $STD_HELP)
    
    
    Global $oPDF = ObjCreate("AcroPDF.PDF")
    Global $GUI_ActiveX = GUICtrlCreateObj($oPDF, 256, 72, 865, 529)
    GUICtrlSetStyle($GUI_ActiveX, $WS_VISIBLE)
    GUICtrlSetResizing($GUI_ActiveX, $GUI_DOCKAUTO)
    
    
    GUICtrlCreateTreeView(20, 74, 216, 530, -1, $WS_EX_CLIENTEDGE)
    $hTreeView = GUICtrlGetHandle(-1)
    $Dummy1 = GUICtrlCreateDummy()
    $Dummy2 = GUICtrlCreateDummy()
    
    
    If _WinAPI_GetVersion() >= '6.0' Then
        _WinAPI_SetWindowTheme($hTreeView, 'Explorer')
    EndIf
    
    
    $hImageList = _GUIImageList_Create(16, 16, 5, 1)
    _GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 3)
    _GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 4)
    _GUICtrlTreeView_SetNormalImageList($hTreeView, $hImageList)
    $sRoot = StringRegExpReplace($sRoot, '\\+\Z', '')
    $sPath = StringRegExpReplace($sRoot, '^.*\\', '')
    If StringInStr($sPath, ':') Then
        $sRoot &= '\'
        $sPath &= '\'
    EndIf
    
    
    _TVUpdate($hTreeView, _GUICtrlTreeView_AddChild($hTreeView, 0, $sPath, 0, 0))
    
    
    GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
    GUISetState()
    
    
    _GUICtrlTreeView_Expand($hTreeView, _GUICtrlTreeView_GetFirstItem($hTreeView))
    
    
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                $oPDF.close
    			Exit
            Case $Dummy1 ; Update
                GUISetCursor(1, 1)
                $hItem = _GUICtrlTreeView_GetFirstChild($hTreeView, GUICtrlRead($Dummy1))
    
    
                If $hItem Then
                    While $hItem
                        $hNext = _GUICtrlTreeView_GetNextSibling($hTreeView, $hItem)
                        If Not _TVUpdate($hTreeView, $hItem) Then
                            _GUICtrlTreeView_Delete($hTreeView, $hItem)
                        EndIf
                        $hItem = $hNext
                    WEnd
                    _WinAPI_RedrawWindow($hTreeView)
                EndIf
                GUISetCursor(2, 0)
    
    
            Case $Dummy2 ; Show PDF
                $hItem = GUICtrlRead($Dummy2)
                $sPath = _TVGetPath($hTreeView, $hItem, $sRoot)
    
    
    			$oPDF.src = '"' & $sPath & '"'
        EndSwitch
    WEnd
    
    
    Func _TVGetPath($hTV, $hItem, $sRoot)
    
    
        Local $Path = StringRegExpReplace(_GUICtrlTreeView_GetTree($hTV, $hItem), '([|]+)|(\\[|])', '\\')
    
    
        If Not $Path Then
            Return ''
        EndIf
        If Not StringInStr($Path, ':') Then
            Return StringRegExpReplace($sRoot, '(\\[^\\]*(\\|)+)\Z', '\\') & $Path
        EndIf
        Return $Path
    EndFunc   ;==>_TVGetPath
    
    
    Func _TVSetPath($hTV, $hItem, $sRoot)
        GUICtrlSetData($Input, _WinAPI_PathCompactPath($hInput, _TVGetPath($hTV, $hItem, $sRoot), 554))
        $hSelect = $hItem
    EndFunc   ;==>_TVSetPath
    
    
    Func _TVUpdate($hTV, $hItem)
    
    
        Local $hImageList = _SendMessage($hTV, $TVM_GETIMAGELIST)
        Local $Path = StringRegExpReplace(_TVGetPath($hTV, $hItem, $sRoot), '\\+\Z', '')
        Local $hSearch, $hIcon, $Index, $File
    
    
        $hSearch = FileFindFirstFile($Path & '\*')
        If $hSearch = -1 Then
            If Not @error Then
                If not FileExists($Path) Then
                    Return 0
                EndIf
            EndIf
        Else
            While 1
                $File = FileFindNextFile($hSearch)
                If @error Then
                    ExitLoop
                EndIf
                If @extended Then
                    _GUICtrlTreeView_AddChild($hTV, $hItem, $File, 0, 0)
                EndIf
            WEnd
            FileClose($hSearch)
        EndIf
        $hSearch = FileFindFirstFile($Path & '\*.pdf')
        If $hSearch = -1 Then
    
    
        Else
            While 1
                $File = FileFindNextFile($hSearch)
                If @error Then
                    ExitLoop
                EndIf
                If Not @extended Then
                    $hIcon = _WinAPI_ShellExtractAssociatedIcon($Path & '\' & $File, 1)
                    $Index = _GUIImageList_ReplaceIcon($hImageList, -1, $hIcon)
                    _GUICtrlTreeView_AddChild($hTV, $hItem, $File, $Index, $Index)
                    _WinAPI_DestroyIcon($hIcon)
                EndIf
            WEnd
            FileClose($hSearch)
        EndIf
        Return 1
    EndFunc   ;==>_TVUpdate
    
    
    Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
    
    
        Local $tNMTREEVIEW = DllStructCreate($tagNMTREEVIEW, $lParam)
        Local $hItem = DllStructGetData($tNMTREEVIEW, 'NewhItem')
        Local $iState = DllStructGetData($tNMTREEVIEW, 'NewState')
        Local $hTV = DllStructGetData($tNMTREEVIEW, 'hWndFrom')
        Local $ID = DllStructGetData($tNMTREEVIEW, 'Code')
        Local $tTVHTI, $tPoint
    
    
        Switch $hTV
            Case $hTreeView
                Switch $ID
                    Case $TVN_ITEMEXPANDEDW
                        If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
                            _GUICtrlTreeView_Delete($hTV, $hItem)
                            If BitAND($iState, $TVIS_SELECTED) Then
                                _TVSetPath($hTV, _GUICtrlTreeView_GetSelection($hTV), $sRoot)
                            EndIf
                        Else
                            If Not BitAND($iState, $TVIS_EXPANDED) Then
                                _GUICtrlTreeView_SetSelectedImageIndex($hTV, $hItem, 0)
                                _GUICtrlTreeView_SetImageIndex($hTV, $hItem, 0)
                            Else
                                _GUICtrlTreeView_SetSelectedImageIndex($hTV, $hItem, 1)
                                _GUICtrlTreeView_SetImageIndex($hTV, $hItem, 1)
                                If Not _GUICtrlTreeView_GetItemParam($hTV, $hItem) Then
                                    _GUICtrlTreeView_SetItemParam($hTV, $hItem, 0x7FFFFFFF)
                                    GUICtrlSendToDummy($Dummy1, $hItem)
                                EndIf
                            EndIf
                        EndIf
                    Case $TVN_SELCHANGEDW
                        If BitAND($iState, $TVIS_SELECTED) Then
                            If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
                                _GUICtrlTreeView_Delete($hTV, $hItem)
                                $hItem = _GUICtrlTreeView_GetSelection($hTV)
                            EndIf
                            If $hItem <> $hSelect Then
                                _TVSetPath($hTV, $hItem, $sRoot)
                            EndIf
                        EndIf
                    Case $NM_RCLICK
                            $tPoint = _WinAPI_GetMousePos(1, $hTV)
                            $tTVHTI = _GUICtrlTreeView_HitTestEx($hTV, DllStructGetData($tPoint, 1), DllStructGetData($tPoint, 2))
                            $hItem = DllStructGetData($tTVHTI, 'Item')
                            If BitAND(DllStructGetData($tTVHTI, 'Flags'), $TVHT_ONITEM) Then
                                _GUICtrlTreeView_SelectItem($hTreeView, $hItem)
                                If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
                                    _GUICtrlTreeView_Delete($hTV, $hItem)
                                    $hItem = _GUICtrlTreeView_GetSelection($hTV)
                                Else
                                    GUICtrlSendToDummy($Dummy2, $hItem)
                                EndIf
                                If $hItem <> $hSelect Then
                                    _TVSetPath($hTV, $hItem, $sRoot)
                                EndIf
                            EndIf
                    EndSwitch
        EndSwitch
        Return $GUI_RUNDEFMSG
    EndFunc   ;==>WM_NOTIFY
    Alles anzeigen

    €dit: 500. Beitrag, wohooo!!!

  • Digitaler Planungsordner (GDI+ Zeichnen und speichern, Zoom)

    • x0r
    • 1. März 2016 um 23:10

    Ok, das sind schonmal echt gute Ansätze, mal sehen, wie ich das alles realisiert bekomme (muss bald sein, sonst latscht mir mein (neuer) Chef auf die Klöten :D).

    Kann ich das gezeichnete auf der "Zeichenfläche" auch irgendwie speicher, damit ich es beim nächsten Öffnen wieder sehe?

    Danke für deine Antwort übrigens ;)

    Leider seh ich nicht, was "der Andere da" mit ISN meinte...

  • Digitaler Planungsordner (GDI+ Zeichnen und speichern, Zoom)

    • x0r
    • 1. März 2016 um 18:57

    Hi,

    gibts unter euch jemanden, der einen "Digitalen Planungsordner" bauen kann?

    Ne Art Vorlage hätte man hier: http://www.akgsoftware.de/OKview.93.0.html

    - einfache Übersicht, vollständiges Projekt in einer Datei, inkl. Inhalts­verzeichnis bzw. Treeview
    - Dateien direkt im Programm öffnen (nicht zwingend) und Notizen hinzufügen oder "zeichnen"
    - Teile des Ordners als PDF exportieren


    [Blockierte Grafik: http://www.akgsoftware.de/uploads/pics/OK_View_800x600.jpg]


    Hoffe ihr könnt was damit anfangen, ich hab leider gar keinen Plan, wo ich am besten anfange. Ein Treeview ist nicht das Problem :S

    €dit: Man muss die geöffnete Datei (zu 100% PDF) auch Zoomen können und dann das jeweils gezeichnete natürlich auch an der gezeichneten Position speichern und quasi "mitzoomen".
    Hat wirklich sonst niemand Plan von sowas? :(

    Gruß,
    x0r

  • CSV in Acces einlesen

    • x0r
    • 28. Januar 2016 um 10:08

    google -> autoit access udf

    https://www.autoitscript.com/forum/topic/140277-ms-access-udf/

  • AutoIt und Arduino

    • x0r
    • 26. Januar 2016 um 11:01

    Ich habe hier 3 oder 4 so Steckbretter rumfliegen, glaube 2 kleine und 2 große. Habe im Moment nur 1 kleines in Benutzung, daher lass ichs erstmal so.

    Gelötet wird nix, das wäre ja sonst ein immer währender Aufwand an Kosten usw ;)

  • AutoIt und Arduino

    • x0r
    • 25. Januar 2016 um 16:13

    Ddas mag schon sein, mit Widerständen hat es nicht funktioniert und in der Konstellation läufts schon über 1,5 Jahre.

    So falsch kann es also gar nicht sein ;)

  • AutoIt und Arduino

    • x0r
    • 24. Januar 2016 um 21:02

    Hi,

    das mit dem LED-Strip war eigentlich ne relativ einfache Sache, was ich nur zusätzlich gebraucht habe, waren 3 Transistoren die ich mir in nem Elektronikladen besorgt hatte und ein altes PC-Netzteil (wegen den konstanten 12V).

    Der Code ist auch nicht sehr anspruchsvoll, es sind einfach ein paar Schleifen, die die einzelnen Farben nach oben und wieder nach unten schrauben und das Ganze halt im Loop.

    Code:

    Code
    #define BL 11
    #define GR 10
    #define RE 9
    
    
    #define FADE 10     // make this higher to slow down
    
    
    int x = 0;
    
    
    void setup() {
      pinMode(RE, OUTPUT);
      pinMode(GR, OUTPUT);
      pinMode(BL, OUTPUT);
    }
    void loop() {
    //////////////// Fading - Forward
      //RED +
      for (int a = 0; a < 256; a++) {
        analogWrite(RE, a);
        delay(FADE);
      }
    
    
      //BLUE -
      if (x != 0) {
        for (int c = 255; c > -1; c--) {
          analogWrite(BL, c);
          delay(FADE);
         }
      }
    
    
      //GREEN +
      for (int b = 0; b < 256; b++) {
        analogWrite(GR, b);
        delay(FADE);
      }
    
    
      //RED -
      for (int a = 255; a > -1; a--) {
        analogWrite(RE, a);
        delay(FADE);
      }
    
    
      //BLUE +
      for (int c = 0; c < 256; c++) {
        analogWrite(BL, c);
        delay(FADE);
      }
      //GREEN -
      for (int b = 255; b > -1; b--) {
        analogWrite(GR, b);
        delay(FADE);
      }
      x = 1;
    }
    Alles anzeigen

    Die Verdrahtung hatte ich irgendwo im Internet gefunden, sieht man im Bild glaub ich gar nicht mal so gut :D

    LED-Strip.jpg


    €dit: Hier isses ganz gut dargestellt, allerdings hab ich die Widerstände weggelassen (mit hats glaube nicht funktioniert): http://www.jerome-bernard.com/blog/2013/01/1…-by-an-arduino/

  • AutoIt und Arduino

    • x0r
    • 21. Januar 2016 um 20:36

    Hi Oscar,

    mit Arduino (hab 2) habe ich schon diverse kleinere, aber recht sinnlose Sachen gebastelt.

    Habe z.b. einen Meter von einem LED-Strip mit Hilfe von einem PC-Netzteil und Arduino in Farbwechsel-Schleife laufen, ist auch heute noch im Betrieb :D

    Eine Wetterstation wäre schon mal was cooles und sinnvolleres :)

    Du könntest theoretisch auch dieses LCD-Panel als Ausgabe hernehmen.

    Gruß,
    x0r

    €dit: Du kannst die Daten auch einfach in eine "ini" auslagern und später mit AutoIt auslesen: http://forum.arduino.cc/index.php?topic=320771.0

  • txt Datei einlesen und verarbeiten

    • x0r
    • 21. Januar 2016 um 20:32
    AutoIt
    #include <GUIListView.au3>
    #include <GUIConstants.au3>
    #include <File.au3>
    #NoTrayIcon
    
    
    $GUI = GUICreate("Auflistung", 800, 600)
    $List = GUICtrlCreateListView("", 20, 240, 760, 340)
    _GUICtrlListView_AddColumn($List, "ID")
    _GUICtrlListView_AddColumn($List, "Kategorie")
    _GUICtrlListView_AddColumn($List, "Sound1")
    _GUICtrlListView_AddColumn($List, "Titel")
    _GUICtrlListView_AddColumn($List, "Sound2")
    _GUICtrlListView_AddColumn($List, "Text")
    _GUICtrlListView_AddColumn($List, "Schalter")
    
    
    Global $file = @ScriptDir & "\daten2.txt"
    
    
    filllist()
    
    
    GUISetState(@SW_SHOW)
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    	EndSwitch
    WEnd
    
    
    Func filllist()
    	Dim $ary
    	_FileReadToArray($file, $ary)
    	For $i = 1 To $ary[0]
    		$tmp = StringReplace($ary[$i], ";", "|")
    		GUICtrlCreateListViewItem($tmp, $List)
    	Next
    EndFunc   ;==>filllist
    Alles anzeigen
  • Mein Script kann keine großen dateien runterladen

    • x0r
    • 4. Januar 2016 um 20:01

    Ich meinte, "wget" als externes Programm, damit kannst auch Zeug ausm Netz saugen.

    Ist ein Kommandozeilen-Tool, denke Benutzername/Passwort sollte das auch unterstützen.

    Damit hol ich mir immer gewisse Sachen von Webseiten ;)

  • Mein Script kann keine großen dateien runterladen

    • x0r
    • 3. Januar 2016 um 14:31

    mal mit wget versucht?

    ProcessWaitClose() usw...

  • Fehler in "date.au3" - v3.3.8.1

    • x0r
    • 16. Dezember 2015 um 09:41

    @Oscar thx!

    @BugFix ich darf hier in der Firma nix mehr installieren, drum ist die Version leider schon ein paar Tage älter ;)

  • Fehler in "date.au3" - v3.3.8.1

    • x0r
    • 16. Dezember 2015 um 09:23

    Hi,

    AutoIt
    #include <date.au3>
    MsgBox(0,"", _WeekNumberISO(@year, @mon, @mday))


    hier erhalte ich "50", wobei die aktuelle Kalenderwoche "51" ist.

    Gruß,
    x0r

  • Nach Upgrade von Win7 auf Win10 funktioniert die usb-Kommunikation über "commg.dll" nicht mehr

    • x0r
    • 15. Dezember 2015 um 15:05

    Wer installiert sich freiwillig Windows 10?

  • Account löschen

    • x0r
    • 1. Dezember 2015 um 10:36

    ...und du hast dich jetz neu angemeldet, um das mitzuteilen?

    Dein "alter" Benutzer ist übrigens gesperrt, kommt löschen gleich, also was willste noch?

    :Face:

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™