Beiträge von BugFix
-
-
aptitude Leichenfledderer

-
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.
-
Probier doch mal:
If $objItem.InterfaceType = "243"
-
-
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.4Ich 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
-
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!
-
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!
-
Ich nehme an, du meinst meine UDF:
ThemaQRCode.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
BugFix1. 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
)
Keine Ahnung, was da jetzt zwischen Win7 und Win11 passiert ist. - _QR_generatePNG
-
das war ich selbst.

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.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.
-
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
Alles anzeigenGlobal $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 -
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.
-
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
Alles anzeigen#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 EndFuncUnd mit der Listview-UDF kannst du jede erdenkliche Info rausziehen.
-
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.

-
Der korrekte Pfad lautet: C:\Users\USERNAME\AppData\Local\AutoIt v3\SciTE
-
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.
-
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.:
-
dass mit den vielen '"''" kann einen schon wahnsinnig machen
Ja, bei dieser Escaperei verliert man leicht den Überblick. Daher immer wieder mein Tipp: StringFormat.
-
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. 😚
-
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. 😁