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

Beiträge von mumpel

  • Datei-Anzeige

    • mumpel
    • 24. August 2023 um 12:34
    Zitat von Moombas

    wenn die Dateien dann noch im gleichen Ordner liegen

    Die können auch in unterschiedlichen Unterordnern liegen, wenn man es z.B. nach Geschäftsbereich sortieren möchte.

    Zitat von Moombas

    Warum der Mix aus PDF/WORD/EXCEL?

    Weil das so aus der Konzernregelwerks-Datenbank kommt. Das Konvertieren nimmt zuviel Zeit in Anspruch (bei hunderten von Vorschriften). Neuerdings haben sich die Regelwerks-Schreiber angewöhnt, Vorschriften nicht mehr als Gesamt-Dokument auszugeben, sondern jeden Anhang separat in die KRWD zu packen.


    Zitat von Moombas

    sind die Dateinamen dann wenigstens einzigartig

    Natürlich. Sind ja Vorschriften/Regelwerke. ;)

    Zitat von Moombas

    Ich kenne nur Umwege über einen eingebetteten IE

    Für PDF-Dateien bietet sich das WebBrowser-Control (das ist mir erst später eingefallen, da war die Frage hier schon drin), das habe ich auch schon gefunden, nur funktioniert das nicht bei Word und Excel (Die Dateien wollen immer heruntergeladen oder gespeichert werden. An die IE-Einstellungen kommt man ja unter Windows 11 nicht mehr ran). Dann bleibt dann nur das Öffnen mit der zugehörigen Anwendung.


    Ich habe jetzt nur noch Probleme mit dem korrekten Ansprechen der Einträge im Treeview.

  • Datei-Anzeige

    • mumpel
    • 23. August 2023 um 22:34

    Hallo!

    Ich suche eine "Dateianzeige". Angezeigt werden sollen PDF, Word und Excel. Kann man irgendwie die Vorschau-Funktion des Windows-Explorers nutzen? Das Einlesen der Dateien/Dateinamen in ein Treeview habe ich schon, fehlt nurnoch das Laden der Datei in eine "Dateianzeige". (Ziel ist ein "Kompendium Regelwerke", vergleichbar mit dem "Kompendium Arbeitsschutz" der verschiedenen Berufsgenossenschaften. Siehe Bild).

    Ordner einlesen:

    C
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #Include <GuiTreeView.au3>
    #Include <File.au3>
    
    $gui = GUICreate("Konzern-Regelwerke", 1700, 1000, -1, -1)
    $tree = GUICtrlCreateTreeView(0, 0, 361, 980)
    GUICtrlSetFont(-1,10)
    ;~ GUICtrlSetColor($tree, 0x000000)
    ;~ GUICtrlSetBkColor($tree,0xFFFFFF)
    
    $hImage = _GUIImageList_Create(16, 16, 5, 2)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 4)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 54)
    _GUICtrlTreeView_SetNormalImageList($tree, $hImage)
    
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    
    $root = _GUICtrlTreeView_AddChild($tree,"",@ScriptDir,0)
    
    GUISetState(@SW_SHOW)
    _GUICtrlTreeView_Expand($tree)
    While 1
        $msg = GUIGetMsg()
        If $msg= -3 Then ExitLoop
    WEnd
    
    Func _SearchFolder($folder,$parent,$level=0)
        If $level >= 1 Then Return
        $files = _FileListToArrayRec($folder,"*.xl*; *.pdf; *doc*", $FLTAR_RECUR)
        $folders = _FileListToArray($folder,"*",2)
        _FolderFunc($folders,$folder,$parent,$level)
        _FileFunc($files,$parent)
    EndFunc
    
    Func _FileFunc($files,$parent)
        For $i = 1 To UBound($files)-1
            _GUICtrlTreeView_AddChild($tree,$parent,$files[$i],1,1)
        Next
    EndFunc
    
    Func _FolderFunc($folders,$folder,$parent,$level)
        For $i = 1 To UBound($folders)-1
            $parentitem = _GUICtrlTreeView_AddChild($tree,$parent,$folders[$i],0)
            _SearchFolder($folder & "\" & $folders[$i],$parentitem,$level+1)
        Next   
    EndFunc
    
    
    
    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
        Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR
        $hWndTreeView = GUICtrlGetHandle($tree)
        $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
        $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
        $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
        $iCode = DllStructGetData($tNMHDR, "Code")
        Switch $hWndFrom
            Case $hWndTreeView
                Switch $iCode
                    Case -451
                        $item = _GUICtrlTreeView_GetSelection($hWndTreeView)
                        $root = $item
                        If _GUICtrlTreeView_GetChildCount($hWndTreeView,$item) <= 0 Then
                            $txt = _GUICtrlTreeView_GetText($hWndTreeView,$item)
                            Do
                                $parent = _GUICtrlTreeView_GetParentHandle($hWndTreeView,$item)
                                If $parent <> 0 Then
                                    $txt = _GUICtrlTreeView_GetText($hWndTreeView,$parent) & "\" & $txt
                                    $item = $parent
                                EndIf
                            Until $parent = 0
                            _SearchFolder($txt,$root)
                        EndIf
                EndSwitch
        EndSwitch
        Return $GUI_RUNDEFMSG
    EndFunc
    Alles anzeigen

    Schön wäre jetzt noch, dass immer nur ein Unterordner aufgeklappt wäre, damit es übersichtlich bleibt, und eventuell das Ausblenden der Dateiendung.

    Da ich kein Englisch kann, tue ich mich schwer mit der Google-Suche. Das meiste was ich bezüglich "PDF-Anzeige" finde, bezieht sich auf den Internet-Explorer. Welche Suchbegriffe kann ich da nutzen?

    Danke!

    Gruß, René

    Dateien

    Screenshot 2023-08-23 223718.png 173,16 kB – 0 Downloads
  • php2au3 neuer Ausweis

    • mumpel
    • 26. Juli 2023 um 17:35
    Zitat von Alina

    War wohl eher eine "blödsinnig Idee".

    Würde ich nicht sagen. M.E. ist das ein gutes Lernobjekt.

  • php2au3 neuer Ausweis

    • mumpel
    • 25. Juli 2023 um 13:02
    Zitat von Kanashius

    und die letzte Prüfziffer ignoriert wird, weil sie nicht nur über die ID, sondern den ganzen Ausweis geht

    Laut Internetrecherche wird die letzte Prüfziffer genauso berechnet wie die anderen Prüfziffern. Hierbei werden alle Angaben im Maschinencode (Ausweisnummer, Geburtsdatum, Ablaufdatum, und falls vorhanden die Versionsnummer) inklusive Prüfziffern zusammengesetzt und dann mit der "7,3,1"-Methode von vorn nach hinten multipliziert und alle Ergebnisse addiert, die letzte Ziffer ist dann die Prüfziffer. Funktioniert bei mir auch. Ob das was im Netzt steht Unsinn ist und die Berechnung "nur zufällig" funktioniert, kann ich natürlich nicht sagen.

  • php2au3 neuer Ausweis

    • mumpel
    • 25. Juli 2023 um 04:17

    Für mich ist das eine nette Übung. In der Praxis kann das kaum genutzt werden. Ein Kleinkind findet die Berechnungsmethode im Internet. Altersverifikation = 0. :D

    BTW:

    In Excel ist das leichter umzusetzen (Ein paar Formeln. Und eine UDF für den Buchstaben-Zahlen-Tausch). Wobei "leicht" relativ ist. ;)

  • php2au3 neuer Ausweis

    • mumpel
    • 25. Juli 2023 um 00:53

    Das PHP-Script werde ich nicht testen, das tue ich mir nicht an. ;)

    Ich bin jetzt erstmal dabei, den Dialog aus #8 optisch anzupassen. Sieht auch besser aus, und man weiss was man wo eintragen muss. Der Code für den Dialog sieht wie folgt aus (Die Spitzklammern kann man, wenn erforderlich, später im Code ergänzen. Dann sieht der Dialog m.E. optisch besser aus).

    Code
    Global Const $Window = GUICreate('AusweisNummerPrüfer', 250, 300)
    
    GUICtrlCreateLabel('PA-Nummer', 10, 10, 220, 17)
    Local Const $InputA = GUICtrlCreateInput('', 10, 27, 220, 21)
    
    GUICtrlCreateLabel('Geburtsdatum (invertiert) mit Prüfziffer', 10, 70, 220, 17)
    Local Const $InputB = GUICtrlCreateInput('', 10, 87, 220, 21)
    
    GUICtrlCreateLabel('Ablaufdatum (invertiert) mit Prüfziffer', 10, 130, 220, 17)
    Local Const $InputC = GUICtrlCreateInput('', 10, 147, 220, 21)
    
    GUICtrlCreateLabel('Ausweis-Prüfzüffer', 10, 190, 220, 17)
    Local Const $InputD = GUICtrlCreateInput('', 10, 207, 220, 21)
    
    
    Local Const $Button = GUICtrlCreateButton('Überprüfen', 10, 255, 80, 23, $BS_DEFPUSHBUTTON)
    
    GUICtrlSetLimit($InputA, 10)
    GUICtrlSetLimit($InputB, 7)
    GUICtrlSetLimit($InputC, 7)
    GUICtrlSetLimit($InputD, 1)
    
    GUISetState(@SW_Show, $Window)
    Alles anzeigen
  • php2au3 neuer Ausweis

    • mumpel
    • 24. Juli 2023 um 23:51
    Zitat von fee

    Der Nummer-Aufbau neuerer Ausweise funktioniert hiermit wohl nicht. Dafür müsste der Code von Beitrag #5 eingebaut werden.

    Da müsste man wissen wie der Code eingebaut werden muss. ;)

    Der Code aus #5 rechnet nicht sauber. Er gibt bei isExpired True aus, obwohl der Ausweis erst 2030 abläuft.

  • php2au3 neuer Ausweis

    • mumpel
    • 24. Juli 2023 um 23:21
    Zitat von fee

    Ist deine AutoIt-Version die 3.3.16.1

    Nein, es war noch die 14 drauf. Nach Aktualisierung läuft es, auch der Code aus #5. Aber was muss in die Felder geschrieben werden?

  • php2au3 neuer Ausweis

    • mumpel
    • 24. Juli 2023 um 21:56

    Der Code aus #8 erzeugt bei mir den Fehler "variable subscript badly formatted". Beim Syntax-Check im Editor keine Fehleranzeige. ?

  • php2au3 neuer Ausweis

    • mumpel
    • 24. Juli 2023 um 21:05
    Zitat von fee

    Wozu soll man das denn eigentlich gebrauchen können?

    Naja. Auf Webseiten mag das hilfreich sein. Aber in einem PC-Programm ist ohne Gegenprüfung (z.B. über die AusweisApp2) wohl kaum eine Validierung (Echtheitsprüfung) möglich. ;)

  • php2au3 neuer Ausweis

    • mumpel
    • 24. Juli 2023 um 17:22

    Bei neueren Ausweisen (ab Ausgabedatum 02.08.2021) gibt es zusätzlich in Zeile 2 noch eine "Versionsnummer". Das müsste im Code noch berücksichtigt werden. https://www.t-online.de/leben/familie/…n-wirklich.html

  • php2au3 neuer Ausweis

    • mumpel
    • 24. Juli 2023 um 12:49

    Was genau möchtest Du erreichen? Dass jemand seine Personalausweis-ID eingibt und diese geprüft wird? Aber hattest Du das nicht schon mal gemacht? Deutsche Personalausweisnummer validieren

  • php2au3 neuer Ausweis

    • mumpel
    • 24. Juli 2023 um 11:38

    Hallo!

    Ich glaube nicht, dass das so einfach geht. Es müsste zuerst jemand einen Personalausweis-Credential-Provider oder einen Smartcard-Credential-Provider schreiben. Damit der Zugriff auf den Personalausweis oder auf die AusweisApp2 oder auf eine Smartcard (Deutsch: Chipkarte) möglich wird. Aus Deinem Beispielcode ist nicht ersichtlich, wie der Zugriff auf die AusweisApp2 oder auf eine Smartcard erfolgt.

  • Toolbar Desktop v0.83 build 2025-10-08 beta

    • mumpel
    • 17. Juli 2023 um 08:37

    Das hier vorgestellte Tool sieht bei mir auch nur wie ein Ordner aus.

  • Toolbar Desktop v0.83 build 2025-10-08 beta

    • mumpel
    • 15. Juli 2023 um 18:10
    Zitat von Moombas

    Hmm, ok das habe ich nie genutzt

    Ich habe das auch nie genutzt. Ich nutze stattdessen, auch unter Windows 11, die guten alten Symbolleisten (bekommt man unter Windows 11 z.B. mit "StartAllBack").

  • Toolbar Desktop v0.83 build 2025-10-08 beta

    • mumpel
    • 15. Juli 2023 um 17:58
    Zitat von UEZ

    Abgesehen davon, ist das nicht, was ich will.

    Meinst Du den Ordner "Desktop"? Also C:\Windows\explorer.exe shell:Desktop? Sieht zumindest so aus, wenn auch "in groß" und nicht links unten angedockt.

  • Toolbar Desktop v0.83 build 2025-10-08 beta

    • mumpel
    • 14. Juli 2023 um 21:34

    Hallo!

    Ganz nett. Braucht man aber nicht. Geht auch einfacher.

    1. Auf dem Desktop mit einem Rechsklick auf eine freie Stelle => Neu => Verknüpfung

    2. Als Verknüpfung explorer shell:::{3080F90D-D7AD-11D9-BD98-0000947B0257}angeben

    3. Auf Weiter klicken

    4. Als Name Desktop angeben

    5. Mit Ok abschließen

    6. Rechtsklick auf die neue Verknüpfung => Anders Symbol. Dort das Desktop-Icon auswählen. Mit OK => Ok abschließen

    7. Neue Verknüpfung kann man nun in die Taskleiste legen

    Im Übrigen gibt es dafür auch eine Schaltfläche ganz rechts in der Taskleiste.

    Gruß, René

  • Microsoft Word: Suche und ersetze Text in den Inhalten der VBA-Progammierung (gelöst)

    • mumpel
    • 30. Juni 2023 um 11:25

    Bei SAP bin ich raus.

  • Microsoft Word: Suche und ersetze Text in den Inhalten der VBA-Progammierung (gelöst)

    • mumpel
    • 29. Juni 2023 um 21:53

    M.E. würde dafür VBA reichen. AutoIt wäre dafür überdimensioniert. ;)

  • Microsoft Word: Suche und ersetze Text in den Inhalten der VBA-Progammierung (gelöst)

    • mumpel
    • 29. Juni 2023 um 21:06

    Also der Textkörper. Ich schau mal was sich machen lässt. Aber erst Samstag nachmittag.

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™