AutoHotKey-Formatierungszeit


1

Ich versuche, 24 Stunden so zu formatieren.

Wenn ich "1930+" eingebe, → 19:30

Wenn ich "0630+" eingebe, → 06:30

Wenn es am Ende einer Zahl 0-9 ein "+" liest, fügt es ein ":" zwei Stellen rückwärts hinzu. Nur nicht sicher, wie das geht.

Antworten:


1
; *: An ending character is not required 
; ?: The hotstring will be triggered even when it is inside another word 

#Hotstring * ? 

::0+::
::1+::
; ...
::9+::
    PriorKey := SubStr(A_PriorKey, 0) ; remove "Numpad" if using number pad
    SendInput, %PriorKey%{Left 2}:{Right 2}
return

Wenn Sie genauer sein wollen:

#Hotstring * ? 

::0+::
::1+::
; ...
::9+::
    ClipSaved := ClipboardAll   ; save Clipboard
    clipboard := ""             ; empty the clipboard
    PriorKey := SubStr(A_PriorKey, 0) ; remove "Numpad" if using number pad
    SendInput, %PriorKey%{Shift Down}{Left 4}{Shift Up} ; select the last 4 typed chars
    Send, ^c                    ; copy the selected text
    ClipWait, 1                 ; wait for the clipboard to contain data. 
    if (!ErrorLevel)            ; If NOT ErrorLevel clipwait found data on the clipboard
    {
        If ((clipboard is number) && (SubStr(clipboard, 1, 2) < 24) && (SubStr(clipboard, -1) < 60))
            Send, {Left}{Right 2}:{Right 2}
        else 
            Send, {Right}
    }
    Sleep, 300
    clipboard := ClipSaved    ; restore original clipboard
return

https://autohotkey.com/docs/Hotstrings.htm#Options


Gibt es eine Möglichkeit, mit Nummern, die über den Nummernblock eingegeben werden, zu funktionieren? Funktioniert aber nur gut, wenn Sie Zifferntasten verwenden, die über den Buchstaben liegen.
Andrew

Probieren Sie die bearbeiteten Codes aus.
user3419297
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.