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

Beiträge von BugFix

  • 1. Script Windows + Shift + s

    • BugFix
    • 9. August 2024 um 16:26

    Vielkeicht besser als Send:

    Code
    cmd c:\Windows\System32\SnippingTool.exe /new
  • Linie nachzeichnen

    • BugFix
    • 6. August 2024 um 07:19

    aptitude Leichenfledderer :rofl:

  • SciTE - einfach zu Dark Theme switchen (+ Lua Dark Theme)

    • BugFix
    • 1. August 2024 um 08:21
    Zitat von f705185@rppkn.com

    Hmm, also bei mir funktioniert der import nur, wenn die dark.theme.properties im Programmverzeichnis liegt und ich die SciTEGlobal.properties anpasse (statt der SciTEUser.properties.)

    Pooh, bitte NIE etwas im Programmverzeichnis ablegen oder eine Global.properties ändern! In diesem Bereich hast du keine Schreibrechte (hast du sicher bemerkt, du musstest deinen Zugriff administrativ bestätigen).

    Wenn du genau nach meiner Anweisung vorgehst, funktioniert es auch.

    1. SciTEUser.properties öffnen

    2. Datei NEU

    3. Inhalt der Dark_Theme.properties einfügen

    4. Speichern als "...Theme.properties"

    So ist garantiert, dass das Theme im selben Ordner wie die SciTEUser.properties ist und geladen werden kann.

  • If verzweigung treibt mich in den Wahnsinn

    • BugFix
    • 29. Juli 2024 um 16:05

    Probier doch mal:

    If $objItem.InterfaceType = "243"

  • QRCode.au3 & QRCodeUI.au3 & QRCreatorCI.au3 mit aktueller quricol.dll (32 & 64 bit) integriert

    • BugFix
    • 17. Juli 2024 um 16:19
    Zitat von MojoeB

    Auch wenn ich nicht weiß wo diese her kam.

    Die DLL ist als Binärstring in der au3 enthalten und wird zur Laufzeit erstellt und nach Beendigung gelöscht.

  • QRCode.au3 & QRCodeUI.au3 & QRCreatorCI.au3 mit aktueller quricol.dll (32 & 64 bit) integriert

    • BugFix
    • 16. Juli 2024 um 11:37
    Zitat von HansimGlueck2024

    Ich habe es gerade getestet. Hat nicht funktioniert, ich glaube aber das ich die falsche au "noch" haben.

    QRCreateCI.au3 v0.3 --> ich finde die nicht im Post bzw. ist da ggf noch die "alte" Version ? Sorry, evtl. bin ich auch blind.

    Schreibfehler von mir, muss v0.4 heißen - habs korrigert.

    Ob du die richtige Version hast, siehst du in der ersten Zeile:
    ;-- TIME_STAMP   2024-07-16 10:25:32   v 0.4

    Ich habe deinen Aufruf getestet:
    Parameter Text:
    text="BEGIN:VCARD^VERSION:4.0^N:Mustermann;Erika;;Dr.;^FN:Dr. Erika Mustermann^ORG:Wikimedia^ROLE:Kommunikation^TEL;TYPE=work,voice;VALUE=uri:tel:+49-221-9999123^EMAIL:erika@mustermann.de^END:VCARD"

    Hat bei mir funktioniert

  • QRCode.au3 & QRCodeUI.au3 & QRCreatorCI.au3 mit aktueller quricol.dll (32 & 64 bit) integriert

    • BugFix
    • 16. Juli 2024 um 10:52

    Neue Version QRCreateCI.au3 v0.4

    Multiline per Kommandozeile wurde bisher nicht erkannt. Habe ich nun angepasst.

    Standard für Zeilenumbruch ist jetzt (wie bei Batch) ein Caret ^.
    Nur wenn ein anderer Platzhalter für den Umbruch verwendet werden soll, muss dieser gesetzt werden - dann aber zwingend als erster Parameter! z.B. QRCreatorCI break="||" text="Zeile 1||Zeile 2||Zeile 3"

    Für den (möglichen) Fall, dass man Text ohne Umbruch aber mit dem Standard-Platzhalter für Umbruch (^) ausgeben möchte, ist (wiederum als erster Parameter) break=none erforderlich!

  • CMD-Version QRCode.au3 & QRCodeUI.au3 & QRCreatorCI.au3 "Multiline"

    • BugFix
    • 16. Juli 2024 um 10:36

    OK, konnte jetzt testen.

    Stimmt - Multiline wurde bisher nicht erkannt. Habe ich geändert und werde gleich den Thread dazu aktualisieren.

    Standard für Zeilenumbruch ist jetzt (wie bei Batch) ein Caret ^.
    Nur wenn ein anderer Platzhalter für den Umbruch verwendet werden soll, musst du diesen bekannt geben - dann aber zwingend als ersten Parameter! z.B. QRCreatorCI break="||" text="Zeile 1||Zeile 2||Zeile 3"

    Für den (möglichen) Fall, dass du Text ohne Umbruch aber mit dem Standard-Platzhalter für Umbruch (^) ausgeben möchtest, ist wiederum als erster Parameter break=none erforderlich!

  • CMD-Version QRCode.au3 & QRCodeUI.au3 & QRCreatorCI.au3 "Multiline"

    • BugFix
    • 15. Juli 2024 um 17:59

    Ich nehme an, du meinst meine UDF:

    Thema

    QRCode.au3 & QRCodeUI.au3 & QRCreatorCI.au3 mit aktueller quricol.dll (32 & 64 bit) integriert

    Vor langer Zeit hatte ich einen QR-Code Creator erstellt. Inzwischen sind die dll in neuer Version verfügbar.

    Ich habe jetzt als Basis die QRCode.au3 erstellt

    • _QR_generatePNG
      Generates the QR-Code as PNG file for the passed text.
    • _QR_generateBMP
      Generates the QR-Code as BMP file for the passed text.
    • _QR_getHBitmap
      Creates a HBITMAP handle for the QR-Code for the passed text.
    • _QR_copyToClipboard
      Copies the QR-Code picture for the passed text to the clipboard.
    • _QR_FileDefault
      Generates a default filename
    …
    BugFix
    1. Mai 2020 um 14:34

    Dann zeige doch bitte mal dein Skript, das zum Fehler führt.

    EDIT:

    Kann jetzt aber auch nicht testen. Mit meinem jetzigen Rechner (Win 11) läuft die CMD-Version gar nicht (Dateigröße immer 0) und die UI zeigt das Vorschaufenster nicht richtig an (Bild mal da - mal nicht, Ruckeln am Slider hilft manchmal :whistling:)
    Keine Ahnung, was da jetzt zwischen Win7 und Win11 passiert ist.

  • sortieren nach IP

    • BugFix
    • 12. Juli 2024 um 12:23
    Zitat von Velted

    das war ich selbst.

    :rofl:

    Zitat von Velted

    Leider hat das eigentliche ListView-Control von alldem keine Ahnung. AutoIt speichert zwar die Control-ID im Eintrag, der Speicherort hat aber für das ListView-Control keine besondere Bedeutung.

    Das ist mir jetzt unklar. Was meinst du mit Speicherort?
    Die Informationen stehen alle über verschieden Funktionen zur Auswertung bereit. Egal, ob ich als Auslöser dem Listview oder dem Listview-Item eine Event-Funktion zuordne.
    Das Listview-Control wird bei Klick auf ein Item informiert und dieses Ereignis liefert mir per GuiCtrlRead(Listview-Control-ID) die Item-Ctrl-ID.
    Mit GUICtrlRead($CtrlID) erfahre ich den Inhalt des kpl. Item. Item-Index erfahre ich mit GUICtrlSendMsg(...).
    Oder alternativ mit den UDF-Funktionen dafür, in denen diese Abfragen komprimiert sind.

    Zitat von Velted

    Ich würde sagen, sie sind ebensogut verwertbar wie die anderen Controls, wenn man die zugehörigen UDFs einsetzt.

    War vielleicht etwas unklar ausgedrückt, ich bezog mich da auf die Fülle der zur Verfügung stehenden Parameter.


    P.S. casi4712 Sorry, ich wollte deinen Thread jetzt nicht für Listview-Diskussionen kapern.

  • Denkknoten im Umgang mit Timerinit/Timerdiff

    • BugFix
    • 12. Juli 2024 um 11:32

    Wenn du Sleep kpl. raushaben möchtest, würde ich nur mit AdlibRegister arbeiten (hier mal so gestaltet, dass es mit der konsole funktioniert):

    AutoIt
    Global $TimerShow
    
    $dauermeldung = 5000
    $intervallmeldung = 60000 - $dauermeldung   ;####
    
    AdlibRegister(checkMeldung, $intervallmeldung)
    
    
    ; zum Beenden
    HotKeySet('{ESC}', _Exit)
    
    While True
        Sleep(50)
    WEnd
    
    Func _Exit()
        Exit
    EndFunc
    
    
    Func checkMeldung()
        Local $aInfo[] = ['ALARM', 'Kein ALARM']
        AdlibUnRegister(checkMeldung)
        Local $AlarmInfo = $aInfo[Random(0,1,1)]            ; hier gehört die Überprüfung auf Alarmzustand rein
        $TimerShow = TimerInit()
    ;~     GUICtrlSetData($lbl_Alarm, $AlarmInfo)
        ConsoleWrite('[check]' & @CRLF)
        ConsoleWrite($AlarmInfo & @CRLF)
        AdlibRegister(_ShowMsg)
    EndFunc   ;==>checkMeldung
    
    Func _ShowMsg()
        If TimerDiff($TimerShow) < $dauermeldung Then Return
    ;~     GUICtrlSetData($lbl_Alarm, '[check ended]')
        ConsoleWrite('[check ended]' & @CRLF)
        AdlibUnRegister(_ShowMsg)
        AdlibRegister(checkMeldung, $intervallmeldung) ; jetzt ist die gesamte Intervall-Zeit um ($intervallmeldung -$dauermeldung +$dauermeldung)
    EndFunc
    Alles anzeigen
  • Ablaufdatum für kompilierte exe

    • BugFix
    • 12. Juli 2024 um 09:20
    Zitat von _mk_

    Warum die WMI-Abfrage mittels Windows PowerShell durchführen?

    Erfahrungsgemäß ist die Nutzung des WMI-Objektes in AutoIt etwas "behäbig", sodass der Umweg über PS durchaus einen Vorteil bringen kann. Muss man einfach testen, was zur entsprechenden Abfrage am besten passt.

  • sortieren nach IP

    • BugFix
    • 11. Juli 2024 um 20:42
    Zitat von Velted

    Alles, was mit Klicks im ListView-Bereich zu tun hat, wird schnöde unter den Tisch gekehrt. Das gilt sowohl für den GetMsg- als auch für den OnEvent-Modus.

    Wer hat dir denn diesen Bären aufgebunden?

    Listview sind die am effektivsten verwertbaren Control überhaupt.

    Bsp OnEvent:
    EDIT:
    Da du direkt die Nativen Funktionen angesprochen hast, habe ich vergleichsweise sowohl Nativ als auch Listview-UDF eingebaut (Zeile #13/14 entsprechend aus/kommentieren):

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <StringConstants.au3>
    #include <GuiListView.au3>
    
    AutoitSetOption('GUIOnEventMode', 1)
    
    Global $hGui = GUICreate('Test LV', 500, 500)
    GUISetOnEvent($GUI_EVENT_CLOSE, _Exit)
    
    Global $cLV = GUICtrlCreateListView('A|B|C', 10, 10, 400, 400)
    For $i = 1 To 10
        GUICtrlCreateListViewItem(Stringformat('%i-1|%i-2|%i-3|', $i, $i, $i), $cLV)
    ;~     GUICtrlSetOnEvent(-1, _ItemClick)
        GUICtrlSetOnEvent(-1, _ItemClick_Native)
    Next
    Global $hLV = GUICtrlGetHandle($cLV)
    
    GUISetState()
    
    While True
        Sleep(250)
    WEnd
    
    Func _ItemClick()
        Local $iIndex = _GUICtrlListView_GetSelectedIndices($hLV)
        Local $sItem = _
        'Index: ' & $iIndex & @CRLF & _
        'Item Ctrl-ID: ' & @GUI_CtrlId & @CRLF & _
        'Item Text: ' & _GUICtrlListView_GetItemTextString($hLV, $iIndex) & @CRLF & _
        'Column 1: ' & _GUICtrlListView_GetItemText($hLV, $iIndex, 0) & @CRLF & _
        'Column 2: ' & _GUICtrlListView_GetItemText($hLV, $iIndex, 1) & @CRLF & _
        'Column 3: ' & _GUICtrlListView_GetItemText($hLV, $iIndex, 2)
        ConsoleWrite($sItem & @CRLF & @CRLF)
    EndFunc
    
    Func _ItemClick_Native()
        Local $CtrlID = GUICtrlRead($cLV)
        Local $sItem = GUICtrlRead($CtrlID)
        Local $aSubItem = StringSplit($sItem, Opt('GUIDataSeparatorChar'), BitOR($STR_ENTIRESPLIT,$STR_NOCOUNT))
        Local $sOut = _
        'Index clicked: ' & GUICtrlSendMsg($cLV, $LVM_GETNEXTITEM, -1, $LVNI_SELECTED) & @CRLF & _
        'Sub-Item clicked: ' & _SubItem_Clicked($cLV, $CtrlID) & @CRLF & _
        'Item Ctrl-ID: ' & $CtrlID & @CRLF & _
        'Item Text: ' & $sItem & @CRLF & _
        'Column 1: ' & $aSubItem[0] & @CRLF & _
        'Column 2: ' & $aSubItem[1] & @CRLF & _
        'Column 3: ' & $aSubItem[2]
        ConsoleWrite($sOut & @CRLF & @CRLF)
    EndFunc
    
    Func _SubItem_Clicked($_cLV, $_ID)
        Local $xClicked = GUIGetCursorInfo()[0]                             ; -- clicked x-position --
        Local $hHeader = HWnd(GUICtrlSendMsg($_cLV, $LVM_GETHEADER, 0, 0))  ; -- count columns --
        ; $HDM_GETITEMCOUNT = 0x1200
        Local $aCall = DllCall("user32.dll", "lresult", "SendMessageW", "hwnd", $hHeader, "uint", 0x1200, "wparam", 0, "lparam", 0)
        Local $iCol = $aCall[0]
        Local $iXLeft = ControlGetPos($hLV, '', 0)[0], $iW
        For $i = 0 To $iCol -1                                              ; -- comparison xClicked inside each column
            $iW = GUICtrlSendMsg($_cLV, $LVM_GETCOLUMNWIDTH, $i, 0)
            If $xClicked >= $iXLeft And $xClicked <= $iXLeft + $iW Then Return $i
            $iXLeft += $iW
        Next
        Return -1
    EndFunc
    
    Func _Exit()
        Exit
    EndFunc
    Alles anzeigen

    Und mit der Listview-UDF kannst du jede erdenkliche Info rausziehen.

  • sortieren nach IP

    • BugFix
    • 10. Juli 2024 um 11:34
    Zitat von casi4712

    dass es nicht möglich ist die GUICtrlSetOnEvent zusätzlich dazu zu bringen die Links auszulesen und diese dann zu öffnen. Wahrscheinlich kommt sich das dann in die Quere?

    Das GUICtrlSetOnEvent ruft eine von dir bestimmte Funktion auf. Was du in dieser Funktion alles veranstaltest, liegt doch letztlich nur an dir. :whistling:

  • Autoit Einstellungen backup

    • BugFix
    • 2. Juli 2024 um 16:33

    Der korrekte Pfad lautet: C:\Users\USERNAME\AppData\Local\AutoIt v3\SciTE

  • Autoit Einstellungen backup

    • BugFix
    • 2. Juli 2024 um 07:37

    Dir geht es eher um die Einstellungen von SciTE. Die sind in den properties Dateien hinterlegt. Aber nicht die im Programmordner, sondern unter /AppData/Local - wenn ich das grad richtig im Kopf habe. Von dort den Zweig SciTE kopieren und du hast dieselben Settings.

  • parameter parsen mit Leerzeichen im Pfad

    • BugFix
    • 12. Juni 2024 um 10:55
    Zitat von casi4712

    inwiefern kann mir Strinformat bei solchen Aufggaben helfen?

    Mit Stringformat kannst du Kommandozeilenbefehle genau in der Form schreiben, wie sie angefordert werden. Für die einzusetzenden Werte gibt es Platzhalter (die in diverser Form Formatierung erzeugen können) und deine Inhalte fügst du in ihrer Reihenfolge am Ende hinzu.

    Simples Bsp.:

    AutoIt
    	; command: "7z e ARCHIVE.zip -pSECRET -y -oOUTPATH"
    	; Variableninhalte alle vorab definiert
    
    
    	Local $sParam = StringFormat('e "%s" -p%s %s -o"%s"', $sArchive, $sKeyDEC, $sOverwrite, $sSaveDecode)
    	ShellExecuteWait($7Zexe, $sParam)
  • parameter parsen mit Leerzeichen im Pfad

    • BugFix
    • 12. Juni 2024 um 08:43
    Zitat von casi4712

    dass mit den vielen '"''" kann einen schon wahnsinnig machen

    Ja, bei dieser Escaperei verliert man leicht den Überblick. Daher immer wieder mein Tipp: StringFormat.

  • Laminat Calculator

    • BugFix
    • 11. Juni 2024 um 22:23
    Zitat von Andy

    Vielleicht solltest du aus dem Script eine Smartphone-App basteln

    Haha - die Idee ist mir tatsächlich auch gekommen. Allerdings nicht weil das Tool als Must-Have auf jedes Smartphone sollte, sondern da hätte ich mal die Möglichkeit zu testen, ob das mit der Lua-Execute-App tatsächlich funktioniert. Würde das also in Lua ausführen.

    Wer weiß, vielleicht packts mich ja noch. 😚

  • Laminat Calculator

    • BugFix
    • 11. Juni 2024 um 21:20

    Der Hauptgrund, warum ich das mit einem Programm machen wollte: Zwei nebeneinander liegende Räume, doppelflügelige Tür dazwischen. Räume unterschiedlich lang. Ziel: Von dieser Tür aus sollte ein gespiegeltes Verlegemuster sein. Also beidseitig Probiererei. 😁

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™