Beiträge von BugFix
-
-
Kann man da nicht irgendwie die abbrev.properties selbst ohne riesen Aufwand erweitern?
Auch für mehrzeiligen Code?
Mein Programm macht ja genau das, eben ohne großen Aufwand für dich. Der Code wird in die interne Form umgesetzt (Zeilenumbrüche, Cursorposition) und in der abbrev-Datei gespeichert. Die Abkürzungen werden in die Keywords-Datei geschrieben und die Konfiguration wird neu geladen, damit die Abbrevs sofort verfügbar sind.
Wie gesagt: Das funktioniert auch alles tadellos und wenn es bei dir nicht klappt, so kann ich keinen Zusammenhang mit meinem Verwaltungsprogramm nachvollziehen.
Schau mal nach, ob die Einträge in den betreffenden Dateien erfolgen:
- ScitePath.. "properties\au3.keywords.abbreviations.properties"
- @UserProfileDir & '\abbrev.properties' -
Bei mir funktioniert die Abbrev-Verwaltung.
Ich habe unter Win 7 nur das Problem, das die Abbrevs plötzlich CaseSensitiv sind!
z.B. "fun" wird zu "Func _() ..EndFunc", aber "Fun" führt genau zu dem von dir beschriebenen Effekt: Es kann kein Leerzeichen gesetzt werden und somit auch das Abbrev nicht ausgeführt werden. -
Wen greift die Blöd-Zeitung nicht an? Es wird nicht klar, welches Problem du siehst.
Du erwähnst das Urheberrecht, verweist aber auf keine Inhalte, die dazu zu hinterfragen wären.
Also, was genau willst du? -
-
[autoit]
@ScriptDir & 'Tron_Theme.zip'
[/autoit]Das Makro ist ohne abschließenden Backslash, den mußt du vor dem Dateinamen einfügen.

-
wenn ich die Tastenkombination Umschalt +Alt drücke, wird meine Tastatur "amerikanisch" Keine Umlaute mehr!
Das kenne ich
Das ist der Standard-Hotkey von Windows zur Änderung des Tastaturlayouts. Schmeiß einfach das (vorinstallierte) US-Layout raus, braucht eh kaum wer. Dann ist dieser Hotkey hinfällig. -
Hi,
da mein Handyvertrag mal wieder zur Verlängerung steht, kann ich auch wieder ein neues Handy auswählen.
Nicht dass ich mit meinem (Nokia E65) unzufrieden wäre, aber wir Männer lieben doch technische Neuerungen.
Nun die Qual der Wahl. iPhone steht eh außen vor, ist aus meiner Sicht völlig indiskutabel. Schwerpunkte sind für mich:
- WLAN, Bluetooth, USB-Verbindung
- Sprachsteuerung
- wechselbarer Akku
- vernünftige Auflösung (also nicht so'n Minikram von 320x240)
- MicroSD-Speicherkarte
- Bearbeitung von Officedateien ( muß nicht Original Windows sein, OpenOffice kann ja auch mit xls/doc umgehen
)Nun habe ich mich schon mal umgeschaut.
Finde z.B. die HTC recht ansprechend - aber: Android als Betriebssystem hat, wie ich diversen Foren entnommen habe, extreme Probleme mit der Sprachwahl. Und das wäre dann ein Ausschlußkriterium für mich.Daher meine Frage an euch: Hat jemand Erfahrung mit einem aktuellen Handy das meinen Anfordernissen entspricht und könnte dieses empfehlen?
-
Schau doch mal in die Hilfe: UDF Word-Dokument
-
Ja, Send funktioniert nur für das aktive Fenster. Du kannst aber in einer Hintergrundroutine testen ob dein Word das aktive Fenster ist und wenn nicht es mit WinActivate() aktivieren.
Aber wesentlich besser ist es direkt in das Word-Objekt zu schreiben. UDF gibt es in AutoIt dazu bzw. diverse Bsp. hier im Forum. -
1. Schau dir bitte mal die korrekte Syntax für den If-Befehl an
2. Im Text wird nicht nur '1' oder '2' stehen, sonder vermutlich noch ein Zeilenumbruch (@LF oder @CRLF) -
Wenn die Anzahl der Control variabel ist, empfiehlt es sich diese in einem Array zu verwalten.
In deiner While-Schleife mit GuiGetMsg() hängst du eine Iteration durch dein Controlarray ein.
Dann kannst du dort deine gewünschte Aktion für das Event hinterlegen.
Bsp.:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
$gui = GUICreate('test')
Local $aCtrl[4] = [ _
GUICtrlCreateButton('Button1', 10,20,60,20), _
GUICtrlCreateButton('Button2', 10,50,60,20), _
GUICtrlCreateButton('Button3', 10,80,60,20), _
GUICtrlCreateButton('Button4', 10,110,60,20)]
GUISetState()While True
[/autoit]
$msg = GUIGetMsg()
For $i = 0 To 3
If $msg = $aCtrl[$i] Then MsgBox(0, '', ControlGetText($gui, '', $aCtrl[$i]) & ' geklickt' )
Next
If $msg = -3 Then Exit
WEnd -
Hi,
WM_NOTIFY wäre möglich, ist aber nicht nötig.
Wenn ich dich richtig verstanden habe, hast du doch die Controls selbst erstellt. Dann kannst du die Events dieser Ctrl doch direkt auswerten. Das hat doch keinen Bezug zu Mausklicks.
Vielleicht verstehe ich dich auch nicht richtig. Es ist daher besser den Code zu posten, dann können wir auch konkret helfen. -
Ich benutze mehre Browser.
Für das Alltägliche oft den FF3. Da der Fuchs aber grottig beim Umgang mit Skripten ist (sofern er sie überhaupt erkennen kann), nutze ich für derartige Anwendungen (z.B. meinen OnlineMailer) Iron - der kann nämlich mit Skripten umgehen.
Weiterhin im Einsatz Midori. Von K-Meleon mußte ich mich leider verabschieden, da unter Win 7 eine etwas abartige Darstellung der Webseiten besteht. -
Du möchtest die Überschrift / Header einfärben?
Bin mir nicht sicher - aber ich glaube das liegt außerhalb des CUSTOMDRAW-Bereiches.
Möglicher Workaround:
- Listview ohne Header erstellen
- Eigenen Header aus Label erstellen -
Also wenn du dich nach etwas anderem umsehen möchtest, stell dir vorher die Frage warum.
Wenn du gerne was Neues lernst - OK, ist immer ein akzeptabler Grund.
Wenn du nicht zwingend mit Objekten arbeitest und auch sonst keine zeitintensiven Programme schreibst, gibt es eigentlich keinen Grund sich Java oder C++ zuzuwenden.
Die jahrelange Arbeit mit AutoIt bringt einen entscheidenden Nachteil mit sich
- wir denken "variant". Die anderen Sprachen verlangen aber ganz konkrete und saubere Datentypen. Mal einfach so zum Debuggen 'MsgBox()' geht nicht. Da muß der auszugebende Wert auch ein String sein.
Ich versuche mich gerade für mein Notepad++ Interface ein wenig an C++. Ganz schön hartes Brot für einen AutoItler.
Aber wenn es der Erweiterung des Horizonts dienen soll, leg auf jeden Fall los. Beide Sprachen sind plattformunabhängig, wobei ich dann schon C++ mit EXE und DLL gegenüber Java bevorzugen würde. -
Du suchst sicher so etwas:
Spoiler anzeigen
[autoit]#Include <GuiConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#Include <GuiListView.au3>
#Include <ListViewConstants.au3>
#Include <StructureConstants.au3>
#Include <WindowsConstants.au3>$GUI = GUICreate("Listview Zelle/Spalte färben", 400, 300)
[/autoit] [autoit][/autoit] [autoit]$cListView = GUICtrlCreateListView("", 2, 2, 394, 268)
[/autoit] [autoit][/autoit] [autoit]
$hListView = GUICtrlGetHandle($cListView)_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
[/autoit] [autoit][/autoit] [autoit]_GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_InsertColumn($hListView, 1, "Column 2", 100)
_GUICtrlListView_InsertColumn($hListView, 2, "Column 3", 100)For $i = 1 To 30
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddItem($hListView, "Row" & $i & ": Col 1", $i-1)
For $j = 1 To 2
_GUICtrlListView_AddSubItem ($hListView, $i-1, "Row" & $i & ": Col " & $j+1, $j)
Next
NextGUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
[/autoit] [autoit][/autoit] [autoit]
GUISetState()Do
[/autoit] [autoit][/autoit] [autoit]
Until GUIGetMsg() = $GUI_EVENT_CLOSEFunc WM_NOTIFY($hWnd, $Msg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
[/autoit] [autoit][/autoit] [autoit]
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hListView
Switch $iCode
Case $NM_CUSTOMDRAW
If Not _GUICtrlListView_GetViewDetails($hWndFrom) Then Return $GUI_RUNDEFMSG
Local $tCustDraw = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam)
Local $iDrawStage, $iItem, $iSubitem, $hDC, $iColor
$iDrawStage = DllStructGetData($tCustDraw, 'dwDrawStage')
Switch $iDrawStage
Case $CDDS_ITEMPREPAINT
Return $CDRF_NOTIFYSUBITEMDRAW
Case BitOR($CDDS_ITEMPREPAINT, $CDDS_SUBITEM)
$iItem = DllStructGetData($tCustDraw, 'dwItemSpec')
$iSubitem = DllStructGetData($tCustDraw, 'iSubItem')
$iColor = RGB2BGR(0xFFFF00) ; Hintergrundfarbe für Spalte
$iColDefault = RGB2BGR(0xFFFFFF) ; Standardfarbe (weiß)
;~ If $iItem = 1 And $iSubitem = 1 Then ; Hier Item (Zeile) und SubItem (Spalte) festlegen (für Färbung Einzelzelle)
If $iSubitem = 1 Then ; Hier SubItem (Spalte) festlegen (für Färbung ganze Spalte)
DllStructSetData($tCustDraw, 'clrTextBk', $iColor)
Else
DllStructSetData($tCustDraw, 'clrTextBk', $iColDefault)
EndIf
Return $CDRF_NEWFONT
EndSwitch
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFYFunc RGB2BGR($iColor)
[/autoit]
Return BitAND(BitShift(String(Binary($iColor)), 8), 0xFFFFFF)
EndFunc -
Warum? Weil Microsoft das so macht,
Es ist eine Empfehlung. Falls du eine UDF schreiben möchtest und diese Eingang in die AutoIt-Bibliothek finden soll, ist es erforderlich einen gemeinsamen Nenner für die Nomenklatur zu finden. Und die angegebenen Standards sind doch recht plausibel.
-
Schau mal in die ASCII-Tabelle: Das ist ein nicht druckbares Zeichen (Synchronous idle).
-
Hi,
dein Engagement inallen Ehren, jedoch denke ich, dass unser Wikibereits sehr gut auf Anfänger zugeschnitten ist.
Auch das Buch von peethebee ( AutoIt leicht gemacht ) ist eine große Hilfe. Zu Teilbereichen existieren zudem im Forum noch weitere Tutorial.
Daher weiß ich nicht ob es besonders sinnvoll ist, weitere Tuts, die im selben Themenbereich ansässig sind, zu publizieren.