Lösung 1 (incl. Anzeige der Wertes von Code):
Code: Select all
SetTimer, ToolTip, 100
ToolTip:
ToolTip,% "Code: " Code
Return
:*X:123::Code := 1
:*X:456::Send,% (Code = 1)?"1.Hotstring":
:*X:abc::Code := 2
:*X:def::Send,% (Code = 2)?"2.Hotstring":
Wirkungsweise:
Wenn eine der beiden ersten Abkürzungshälften erkannt wird,
wird sie vom X-Hotstring gelöscht und (X steht für Execute)
in Code die Nummer der begonnenen Abkürzung gespeichert.
Wenn eine der beiden zweiten Abkürzungshälften erkannt wird,
wird sie gelöscht und, falls in Code die gleiche Nummer steht, der Hotstring ausgegeben.
Nachteile:
1. Löschung der Abkürzungshälften unabhängig, ob die Abkürzung vollständig geschrieben wird
2. Sobald Code eine Nummer enthält, kann die zweite Abkürzungshälfte mehrfach erkannt werden.
Lösung 2 (incl. Anzeige relevanter Größen):
Code: Select all
SetTimer, ToolTip, 100
ToolTip:
ToolTip,% "Faktor: " F "`nNummer No: " No "`nProdukt F*No: " F*No
Return
:?*XB0:123::F:=1,No:= 1
:?*XB0:456::SendInput,% (F--*No)= 1?"{Bs 6}1.Hotstring":
:?*XB0:abc::F:=1,No:= 2
:?*XB0:def::SendInput,% (F--*No)= 2?"{Bs 6}2.Hotstring":
Wirkungsweise:
Wenn eine der beiden ersten Abkürzungshälften erkannt wird,
wird F auf 1 gesetzt und in No die Nummer der begonnenen Abkürzung gespeichert.
Wenn eine der beiden zweiten Abkürzungshälften erkannt wird,
wird eine
nachherige Inkrementierung von F vermerkt und,
falls das Produkt F * No zur Nummer passt, die Abkürzung gelöscht und der Hotstring geschrieben.
Wurde F ein- oder mehrmals inkrementiert kann das Produkt F * No zu keiner Nummer mehr passen.
Es muß erst wieder eine erste Abkürzungshälfte erkannt werden.
Edit: Rechtschreibefehler
Lösung 1 (incl. Anzeige der Wertes von Code):
[code]SetTimer, ToolTip, 100
ToolTip:
ToolTip,% "Code: " Code
Return
:*X:123::Code := 1
:*X:456::Send,% (Code = 1)?"1.Hotstring":
:*X:abc::Code := 2
:*X:def::Send,% (Code = 2)?"2.Hotstring":[/code]
Wirkungsweise:
Wenn eine der beiden ersten Abkürzungshälften erkannt wird,
wird sie vom X-Hotstring gelöscht und (X steht für Execute)
in Code die Nummer der begonnenen Abkürzung gespeichert.
Wenn eine der beiden zweiten Abkürzungshälften erkannt wird,
wird sie gelöscht und, falls in Code die gleiche Nummer steht, der Hotstring ausgegeben.
Nachteile:
1. Löschung der Abkürzungshälften unabhängig, ob die Abkürzung vollständig geschrieben wird
2. Sobald Code eine Nummer enthält, kann die zweite Abkürzungshälfte mehrfach erkannt werden.
Lösung 2 (incl. Anzeige relevanter Größen):
[code]SetTimer, ToolTip, 100
ToolTip:
ToolTip,% "Faktor: " F "`nNummer No: " No "`nProdukt F*No: " F*No
Return
:?*XB0:123::F:=1,No:= 1
:?*XB0:456::SendInput,% (F--*No)= 1?"{Bs 6}1.Hotstring":
:?*XB0:abc::F:=1,No:= 2
:?*XB0:def::SendInput,% (F--*No)= 2?"{Bs 6}2.Hotstring":[/code]
Wirkungsweise:
Wenn eine der beiden ersten Abkürzungshälften erkannt wird,
wird F auf 1 gesetzt und in No die Nummer der begonnenen Abkürzung gespeichert.
Wenn eine der beiden zweiten Abkürzungshälften erkannt wird,
wird eine [u]nachherige[/u] Inkrementierung von F vermerkt und,
falls das Produkt F * No zur Nummer passt, die Abkürzung gelöscht und der Hotstring geschrieben.
Wurde F ein- oder mehrmals inkrementiert kann das Produkt F * No zu keiner Nummer mehr passen.
Es muß erst wieder eine erste Abkürzungshälfte erkannt werden.
Edit: Rechtschreibefehler