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

Beiträge von gmmg

  • Access UDF -Spaltennamen in Array

    • gmmg
    • 6. Dezember 2023 um 16:01

    Dein angepasstes geht soweit. muss mal schauen ob die werte damit dann beim auslesen passen.


    grafik.png

    Danke


    Gruß gmmg

    Dateien

    grafik.png 16,06 kB – 0 Downloads
  • Access UDF -Spaltennamen in Array

    • gmmg
    • 6. Dezember 2023 um 15:57

    Habe es noch nicht hinbekommen.


    AutoIt
    #include <Array.au3>
    Global $oConnection, $aRecordSet, $sQuery, $aRecordSetArr, $aColumnArr[0], $Spalten
    Global $sTableName    =  "tblTable1"
    Global $sDatabaseName = "D:\Test-mdb\Test.mdb"
    If Not FileExists($sDatabaseName) Then Exit
    $oConnection   = ObjCreate("ADODB.Connection")
    $oConnection.Open("Driver=Microsoft Access Driver (*.mdb); DBQ=" & $sDatabaseName)
    $oRecordSet    = ObjCreate("ADODB.RecordSet")
    $sQuery        = "Select * From " & $sTableName
    $oRecordSet.Open($sQuery, $oConnection)
    
    ;~ For $i = 0 to $oRecordSet.Fields.Count - 1
    ;~     _ArrayAdd($aColumnArr, $oRecordSet.Fields.Item($i).Name)
    ;~ Next
    
    For $i = 0 to $oRecordSet.Fields.Count - 1
        ;_ArrayAdd($aColumnArr, $oRecordSet.Fields.Item($i).Name)
    	$Spalten &= $oRecordSet.Fields.Item($i).Name & '|'
    Next
    
    MsgBox(0,"",$Spalten)
    
    ;~ For $Row = 0 to Ubound($aColumnArr) -1
    ;~ 	$Spalten &= $aColumnArr[$Row] & '|'
    ;~ Next
    
    
    $Spalten = StringTrimRight($Spalten, 1)
    _ArrayAdd($aRecordSetArr, $Spalten, 0)
    _ArrayDisplay($aRecordSetArr, 'Tabelle = ' & $sTableName)
    
    $aRecordSetArr = $oRecordSet.GetRows
    $oRecordSet.Close()
    $oConnection.Close()
    _ArrayDisplay($aColumnArr, 'Spaltennamen')
    _ArrayDisplay($aRecordSetArr, 'Tabelle = ' & $sTableName)
    Alles anzeigen
  • Access UDF -Spaltennamen in Array

    • gmmg
    • 6. Dezember 2023 um 15:41

    Moombas die Spaltennamen benötige ich im Array, damit ich die Spalte dann später mit Arraysearch ausauslesen kann bzw. dessen Wert.

    Da sich die Spaltennamen in der Position immer mal verschieben können.

    Gruß gmmg

  • Access UDF -Spaltennamen in Array

    • gmmg
    • 6. Dezember 2023 um 15:14

    Hallo Zusammen,

    in der aktuellen Access UDF ist es nicht möglich die Spaltennamen auslesen und im Array mit den Werten Zusammen zu haben.

    Es gab von mir da schon mal eine Anfrage, diese konnte damals mit der Hilfe einfach gelöst werden.

    Hier mal das alte Thema dazu.

    MS Access Read Field + Spaltennamen der Tabellen (Im Beispiel von Musashi ist die Access zum testen angehangen)


    Wie im Beispiel werden 2 Arrays erstellt. eines mit Spaltennamen und eines mit den Werten.

    Wie kann ich diese nun Zusammenbringen? Irgendwie sehe ich da gerade nicht durch :(

    Code
    #include <Array.au3>
    Global $oConnection, $aRecordSet, $sQuery, $aRecordSetArr, $aColumnArr[0]
    Global $sTableName    =  "tblTable1"
    Global $sDatabaseName = "D:\Test-mdb\Test.mdb"
    If Not FileExists($sDatabaseName) Then Exit
    $oConnection   = ObjCreate("ADODB.Connection")
    $oConnection.Open("Driver=Microsoft Access Driver (*.mdb); DBQ=" & $sDatabaseName)
    $oRecordSet    = ObjCreate("ADODB.RecordSet")
    $sQuery        = "Select * From " & $sTableName
    $oRecordSet.Open($sQuery, $oConnection)
    For $i = 0 to $oRecordSet.Fields.Count - 1
        _ArrayAdd($aColumnArr, $oRecordSet.Fields.Item($i).Name)
    Next
    $aRecordSetArr = $oRecordSet.GetRows
    $oRecordSet.Close()
    $oConnection.Close()
    _ArrayDisplay($aColumnArr, 'Spaltennamen')
    _ArrayDisplay($aRecordSetArr, 'Tabelle = ' & $sTableName)
    Alles anzeigen

    Danke

    Gruß gmmg

    Bilder

    • grafik.png
      • 14,77 kB
      • 349 × 332
  • MySQL - externe Datenbankabfrage

    • gmmg
    • 7. November 2023 um 12:45

    Hallo Zusammen,

    wir haben intern eine MySQL 8.0.20 laufen, die per Autoit und libmysql bedient wird.

    Gruß gmmg

  • Win10

    • gmmg
    • 22. September 2023 um 15:11
    Zitat von Alina

    Link als Lesezeichen gespeichert. Kurzen Blick sagt mir: sieht gut aus.
    Ja, kostet € 40,-, aber so wie es dr erste Eindruck zeigt, gut angelegt.

    Hallo Alina,

    um ein einfaches HDD bzw. SSD Image zu erzeugen, kannst du auch das Tool "disk2vhd" von Sysinternals nutzen.

    Das Image kannst du dann bei bedarf einfach unter Windows mit einbinden.

    Auch bringt die neueste Win10 bzw. Win11 Version ein neues Backup Tool mit.

    Disk2vhd - Sysinternals
    Disk2vhd vereinfacht die Migration physischer Systeme zu virtuellen Computern.
    learn.microsoft.com

    Gruß gmmg

  • Webmail Anmeldung über Edge Browser - # Hashtag im Passwort

    • gmmg
    • 6. September 2023 um 12:11

    @mumpel: Was hast du dir denn genau vorgestellt? Du willst das in deinem Treeview Click Skript nutzten?

    Bohne: Welche Fehlermeldung werden in der Konsole angezeigt? ist die Neuste Edge Version installiert.

    Bitte mehr Details angeben, sonst kann nicht geholfen werden.

  • Webmail Anmeldung über Edge Browser - # Hashtag im Passwort

    • gmmg
    • 6. September 2023 um 08:54

    mumpel:

    Habe dir mal mein Testverzeichnis inklusive aller benötigten Files gezippt und unten angehangen. Das funktioniert bei mir bei Windows 10.

    Sollte das bei dir auch nicht gehen, sollten mal folgende fragen noch geklärt werden:

    Ist der Edge auf dem neuesten Update Stand 116.x.x ?

    Welche Autoit Version ?

    Welches Betriebssystem ?

    Dateien

    Webdriver_Edge_Test.zip 7,02 MB – 204 Downloads
  • Webmail Anmeldung über Edge Browser - # Hashtag im Passwort

    • gmmg
    • 5. September 2023 um 14:57

    Das mit dem Webdriver klappt schon. habe dir oben nochmal die fehlenden Files angehangen.

    Bitte auch in den Ordner entpacken.

  • Webmail Anmeldung über Edge Browser - # Hashtag im Passwort

    • gmmg
    • 5. September 2023 um 14:46

    lade dir noch die WinHttp 1.6.4.1 bzw. Winhttp 1.6.4.2 und die Json und lege die in das Verzeichnis.

    WebDriver UDF (W3C compliant version) - 2023/08/17
    Introduction This UDF will allow you to interact with any browser that supports the W3C WebDriver specifications. Supporting multiple browsers via the same…
    www.autoitscript.com

    Gruß gmmg

    Dateien

    1.6.4.2.zip 102,22 kB – 231 Downloads _Json(2021.11.20).zip 18,37 kB – 249 Downloads
  • Webmail Anmeldung über Edge Browser - # Hashtag im Passwort

    • gmmg
    • 5. September 2023 um 13:59

    mumpel,

    zum testen -> erstelle ein Verzeichnis. kopiere dort mein obiges Script und folgende Dateien aus dem entpackten Webdriver hinein + die heruntergeladenen msedgedriver.exe

    passe den Pfad zum Edgedriver bei _WD_Option an.

    Starte das Script und Poste bei Fehlermeldungen dein Script + eventuelle Konsolen ausgaben

    pasted-from-clipboard.png

  • Webmail Anmeldung über Edge Browser - # Hashtag im Passwort

    • gmmg
    • 5. September 2023 um 13:50

    mumpel, den Edge Webdriver hast du auch heruntergeladen und entpackt?

    Auch den Pfad bei _WD_Option angepasst?

    Code
     _WD_Option('Driver', 'D:\Scripte\WebDriver\EdgeDriver\edgedriver_win32\msedgedriver.exe')
  • Toolbar - Icon-Namen

    • gmmg
    • 5. September 2023 um 13:49

    Eine Datenbank ist nicht zwingend notwendig, kann auch eine Txt oder sonstige Datei sein oder die Infos können auch im Quelltext stehen.

    Da geht es ja nur darum die Icon Namen irgendwo zu hinterlegen.

    Zu den Ico's. Die sind zum Teil selbst aus png Dateien erstellt und stammen auch von Webseiten wo es kostenlose ICO/PNG gibt.

    Als Tool habe ich IcoFX benutzt. Da kannst du mal nach IcoFX (letzte Freeware-Version) googeln.

  • Webmail Anmeldung über Edge Browser - # Hashtag im Passwort

    • gmmg
    • 5. September 2023 um 13:41

    water, Danke fürs übernehmen :)

  • Toolbar - Icon-Namen

    • gmmg
    • 5. September 2023 um 09:34

    mumpel, schau mal folgenden Post an.

    Beitrag

    Button / Icons aus DB bzw. Array erstellen

    Hallo Zusammen,

    ich bin aktuell am umstellen unseres IT-Helpdesk Tools. Ziel der Umstellung ist es die Icons dynamisch aus einem Array bzw. Datenstring zu erstellen. Die Daten dafür kommen aus einer Access DB.

    Aktuell wird für jedes Icon mit der Zeile "GUICTRLCreateIcon" einzeln erstellt.

    (Quelltext, 4 Zeilen)

    Maximal sollen es 12 oder 13 Icons werden.

    Hier mal ein Bild der GUI

    pasted-from-clipboard.png

    Ich bin der Meinung es gab da mal ein Beispiel für eine dynamische Erstellung, ich finde aber…
    gmmg
    17. März 2023 um 13:17

    Hatte früher auch die icons per dll benutzt. Da aber alles dynamisch mit Daten aus einer Datenbank erstellt werden soll, habe aber mein Script soweit umgebaut, dass die Info welches Icon benutzt wird aus der DB kommen. Die Icons selbst liegen dann im Script Verzeichnis.

    Vielleicht ist es ja was für dich.

    Gruß gmmg

  • Webmail Anmeldung über Edge Browser - # Hashtag im Passwort

    • gmmg
    • 5. September 2023 um 09:07

    Hallo Bohne,

    benutzt du für die Automatisierung den Edge Webdriver?

    Download: https://developer.microsoft.com/de-de/microsof…ools/webdriver/

    WebDriver UDF - Help & Support (III)
    As the WebDriver UDF - Help & Support thread has grown too big, I started a new one. The prior thread can be found here.
    www.autoitscript.com

    Beispiel Skript

    AutoIt
    #include "wd_helper.au3"
    #include "wd_core.au3"
    
    ;Global $_WD_DRIVER
    Local $sDesiredCapabilities
    
    ;$_WD_DEBUG = $_WD_Debug_Info ; None ; Info
    $_WD_DEBUG = $_WD_DEBUG_None  ;set to $_WD_DEBUG_None before compiling.?
    
    $url = "https://autoit.de/wcf/login/?url=https%3A%2F%2Fautoit.de%2F"
    
    $user = "test"
    $pass = "test"
    
    SetupEdge()
    
    _WD_Startup()
    
    ; Hide the WebDriver Console
    ;_WD_ConsoleVisible(True)
    _WD_ConsoleVisible(False)
    
    $sSession = _WD_CreateSession($sDesiredCapabilities)
    
    _WD_Window($sSession, "Maximize", "{}")
    _WD_Navigate($sSession, $url)
    _WD_LoadWait($sSession, 1500)
    Sleep(1000)
    
    _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@id='username']")
    ConsoleWrite("+ @error = " & @error & @CRLF)
    $sElement_user = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@id='username']")
    
    If @error = $_WD_ERROR_Success Then
        _WD_ElementAction($sSession, $sElement_user, 'value',$user)
        Sleep(500)
    EndIf
    
    _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='password']")
    ConsoleWrite("+ @error = " & @error & @CRLF)
    $sElement_pass = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='password']")
    
    If @error = $_WD_ERROR_Success Then
        _WD_ElementAction($sSession, $sElement_pass, 'value',$pass)
        Sleep(500)
    EndIf
    
    $sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//*[@id='loginForm']/form/section[1]/div/input[1]")
    
    If @error = $_WD_ERROR_Success Then
        _WD_ElementAction($sSession, $sElement, 'click')
    Sleep(500)
    EndIf
    
    _WD_Shutdown()
    _WD_DeleteSession($sSession)
    
    Exit
    
    
    
     Func SetupEdge()
    
        ;_WD_Option('Driver', 'msedgedriver.exe')
        _WD_Option('Driver', 'D:\Scripte\WebDriver\EdgeDriver\edgedriver_win32\msedgedriver.exe')
        _WD_Option('Port', 9515)
        ;_WD_Option('DriverParams', '--verbose --log-path="' & @ScriptDir & '\msedge.log"')
        _WD_Option('DriverParams', '--verbose')
    
        $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"unhandledPromptBehavior": "ignore", ' & _
        '"ms:edgeOptions": {"excludeSwitches": ["enable-automation"], ' & _
        '"useAutomationExtension": false, "args": ["start-maximized"]}}}}'
    
    EndFunc
    Alles anzeigen

    Gruß gmmg

  • Datei-Anzeige

    • gmmg
    • 25. August 2023 um 11:20

    hab mal noch was in meiner Script Sammlung gefunden. hab aber heute wenig zeit das mal zu prüfen.

    AutoIt
    #include <GuiTreeView.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <TreeViewConstants.au3>
    #include <StaticConstants.au3>
    
    Global $bgcolor = 0x404040, $txtcolor = 0xff8800, $extcolor = 0xffcc00, $items[4000], $names[4000], $StartDir, $TreevieItemNow, $wParam
    $StartDir = "D:\Test"
    
    $hGui = GUICreate("Treeview_Test", 800, 600, -1, -1)
    
    $hTreeView = _GUICtrlTreeView_Create($hGui, 2, 2, 180, 600)
    
    $hTreeView_First = _GUICtrlTreeView_AddChild($hTreeView,"","Projekte")
    
    _GUICtrlTreeView_BeginUpdate($hTreeView)
    ListFiles_ToTreeView($StartDir, 0)
    _GUICtrlTreeView_EndUpdate($hTreeView)
    
    _GUICtrlTreeView_Expand($hTreeView)
    
    GUISetState(@SW_SHOW)
    
    ;~ While 1
    
    ;~     $msg = GUIGetMsg()
    ;~     Switch $msg
    ;~         Case $GUI_EVENT_CLOSE
    ;~             Exit
    ;~         Case Else
    ;~             If $msg >= $items[2] And $msg <= $items[UBound($items) - 1] Then ishidden(_GUICtrlTreeView_GetTree($hTreeView, "\"))
    ;~             Sleep(20)
    ;~             GUICtrlSetState($names, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expand the "Display"-item and paint in bold
    ;~     EndSwitch
    ;~ WEnd
    
    
    While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE
                Exit
    
        EndSelect
    WEnd
    
    
    
    Func ListFiles_ToTreeView($sSourceFolder, $hItem)
    
        Local $sFile
    
        ; Force a trailing \
        If StringRight($sSourceFolder, 1) <> "\" Then $sSourceFolder &= "\"
    
        ; Start the search
        Local $hSearch = FileFindFirstFile($sSourceFolder & "*.*")
        ; If no files found then return
        If $hSearch = -1 Then Return ; This is where we break the recursive loop <<<<<<<<<<<<<<<<<<<<<<<<<<
    
        ; Now run through the contents of the folder
        While 1
            ; Get next match
            $sFile = FileFindNextFile($hSearch)
            ; If no more files then close search handle and return
            If @error Then ExitLoop ; This is where we break the recursive loop <<<<<<<<<<<<<<<<<<<<<<<<<<
    
            ; Check if a folder
            If @extended Then
                ; If so then call the function recursively
                ListFiles_ToTreeView($sSourceFolder & $sFile, _GUICtrlTreeView_AddChild($hTreeView, $hItem, $sFile))
            Else
                ; If a file than write path and name
                _GUICtrlTreeView_AddChild($hTreeView, $hItem, $sFile)
            EndIf
        WEnd
    
        ; Close search handle
        FileClose($hSearch)
    
    EndFunc   ;==>ListFiles_ToTreeView
    
    
    ;~ Func ishidden($file)
    ;~     Local $attrib
    ;~     $attrib = FileGetAttrib($file)
    ;~     MsgBox(0, "", $file & @CRLF & "Properties: " & $attrib)
    ;~     If StringInStr($attrib, "H") Then Return 1
    ;~     Return 0
    ;~ EndFunc ;==>ishidden
    Alles anzeigen

    Gruß gmmg

  • Datei-Anzeige

    • gmmg
    • 24. August 2023 um 15:01

    mumpel: hab eben was zum Thema Treeview in meinen Scripten gefunden.

    Vielleicht ist ein passender Codesnipsel für dich dabei.

    AutoIt
    #include <GuiTreeView.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <TreeViewConstants.au3>
    #include <StaticConstants.au3>
    
    Global $splash, $bgcolor = 0x404040, $txtcolor = 0xff8800, $extcolor = 0xffcc00, $items[4000], $names[4000], $StartDir, $TreevieItemNow
    $Main = GUICreate("Treeview_Test", 800, 600, -1, -1)
    $Tree = GUICtrlCreateTreeView(2, 2, 180, 600)
    $StartDir = "D:\Test\"
    ;~ $StartDir = @StartMenuDir
    ;$TrreViewOfprograms = GUICtrlCreateTreeViewItem($StartDir, $Tree)
    $TrreViewOfprograms = GUICtrlCreateTreeViewItem("Projekte", $Tree)
    $TimerStamp = TimerInit()
    MakeList($StartDir, $TrreViewOfprograms, 0)
    MakeList($StartDir, $TrreViewOfprograms, 1)
    ReDim $items[$items[0] + 1]
    ReDim $names[$names[0] + 1]
    ;ConsoleWrite("$TimerStamp=" & Round(TimerDiff($TimerStamp)) & @LF)
    ;ConsoleWrite("$items[0]+1=" & $items[0] + 1 & @LF)
    
    ;GUICtrlSetState($TrreViewOfprograms, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expand the "General"-item and paint in bold
    ;GUICtrlSetState($items, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expand the "Display"-item and paint in bold
    _GUICtrlTreeView_Expand($Tree)
    
    Local $Mailedit = GUICtrlCreateEdit("First line" & @CRLF, 190, 300, 600, 290, 0x0080 + 0x0040 + 0x1000)
    
    GUISetState(@SW_SHOW)
    
    While 1
    
        $msg = GUIGetMsg()
        Switch $msg
            Case $GUI_EVENT_CLOSE
                Exit
            Case Else
                If $msg >= $items[1] And $msg <= $items[UBound($items) - 1] Then ishidden(_GUICtrlTreeView_GetTree($Tree, "\"))
                Sleep(20)
                GUICtrlSetState($names, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expand the "Display"-item and paint in bold
        EndSwitch
    WEnd
    
    Func MakeList($dir, $TreeViewOfprograms, $mode = 0)
        FileChangeDir($dir)
        $search = FileFindFirstFile("*.*")
        While 1
            $file = FileFindNextFile($search);
            If @error Then ExitLoop
            $GetExt = GetExt($dir & "\" & $file)
            If $items[0] > 3998 Then ExitLoop
            If $GetExt <> "folder" And $mode = 1 And $GetExt <> "ini" Then;And $GetExt <> "lnk" And $GetExt <> "ini"
                $items[0] += 1
                $names[0] += 1
                $items[ $items[0] ] = GUICtrlCreateTreeViewItem($file, $TreeViewOfprograms)
                $names[ $names[0] ] = $file;$file$dir & "\" &
                GUICtrlSetColor($items[ $items[0]], $txtcolor)
            ElseIf $GetExt = "folder" And $mode = 0 Then;And $GetExt <> "INI"
                $TreevieItemNow = GUICtrlCreateTreeViewItem($file, $TreeViewOfprograms)
                $items[0] += 1
                $names[0] += 1
                $items[ $items[0] ] = $TreevieItemNow
                $names[ $names[0] ] = $file;$file;$dir & "\" &
                GUICtrlSetColor($items[ $items[0]], $extcolor)
                MakeList($dir & "\" & $file, $TreevieItemNow, 0)
                MakeList($dir & "\" & $file, $TreevieItemNow, 1)
            EndIf
        WEnd
        FileClose($search)
    
    EndFunc   ;==>MakeList
    
    Func GetExt($file)
        If StringInStr(FileGetAttrib($file), "D") Then Return "folder"
        Return StringUpper(StringTrimLeft($file, StringInStr($file, ".", 0, -1))) ;return only extension
    EndFunc   ;==>GetExt
    
    Func ishidden($file)
        Local $attrib
        $attrib = FileGetAttrib($file)
        MsgBox(0, "", $file & @CRLF & "Properties: " & $attrib)
        If StringInStr($attrib, "H") Then Return 1
        Return 0
    EndFunc ;==>ishidden
    Alles anzeigen

    Gruß gmmg

    Dateien

    Test.7z 191 Byte – 300 Downloads
  • Datei-Anzeige

    • gmmg
    • 24. August 2023 um 14:15

    auf GitHub gibt es einen FileExplorer, den kann man anpassen, dass nur 2 Spalten (Folder/Files und die Vorschau) existieren.

    Eventuell kann man da aus dem Quelltext etwas ableiten.

    GitHub - omeryanar/FileExplorer: Windows File Explorer alternative with tab browsing
    Windows File Explorer alternative with tab browsing - GitHub - omeryanar/FileExplorer: Windows File Explorer alternative with tab browsing
    github.com

    Gruß gmmg

  • iframes Webdriver

    • gmmg
    • 7. August 2023 um 08:49

    :) Das klingt doch gut. Viel Erfolg

    Gruß gmmg

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™