Hotstring mit Überlänge ...

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Hotstring mit Überlänge ...

Post by BoBo » 09 Jul 2020, 01:04

Hallo @Rohwedder,
in diesem thread: https://www.autohotkey.com/boards/viewtopic.php?p=340510#p340510 hast du Lösungsvorschläge gemacht wie die Limitierung der Hotstringlänge auf >40 Zeichen/characters aufgehoben/umgangen werden kann. Ich habe diese Lösung nicht verstanden, habe jedoch großes Interesse daran. Wärst du so nett diese Lösung(en) für uns "aufzudröseln"/zu kommentieren ? Merci vielmals, BoBo :)

Lösung 1

Code: Select all

:*X:123::Code := 1
:*X:456::Send,% (Code = 1)?"1.Hotstring":
:*X:abc::Code := 2
:*X:def::Send,% (Code = 2)?"2.Hotstring":
Lösung 2

Code: Select all

:?*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":

Rohwedder
Posts: 7558
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: Hotstring mit Überlänge ...

Post by Rohwedder » 09 Jul 2020, 02:17

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
Last edited by Rohwedder on 09 Jul 2020, 04:02, edited 1 time in total.

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Hotstring mit Überlänge ...

Post by BoBo » 09 Jul 2020, 03:51

Super. Danke <vom BoBo, der das jetzt in sein Kopfkissen häkelt und ein paar Nächte drüber schlafen muss!> :thumbup:

just me
Posts: 9426
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Hotstring mit Überlänge ...

Post by just me » 09 Jul 2020, 05:26

Moin BoBo,

während Du schläfst, könntest Du mal darüber nachdenken, wer sich Abkürzungen von mehr als 40 Zeichen merken kann.

Der zweite Lösungsvorschlag von Rohwedder lässt immer noch reichlich Raum für Fehlfunktionen, wenn man sich nicht Zeichenfolgen ausdenkt, die in der realen Welt nicht vorkommen. Vielleicht sollte man doch lieber über Input mit einer MatchList nachdenken.

User avatar
Scr1pter
Posts: 1271
Joined: 06 Aug 2017, 08:21
Location: Germany

Re: Hotstring mit Überlänge ...

Post by Scr1pter » 09 Jul 2020, 05:38

Ich stimme just me voll und ganz zu.
Dann doch lieber Strg+Shift+Alt+F1 statt 'nem Tagebucheintrag, der als Hotstring dienen soll :P

Grüße
Please use [code][/code] when posting code!
Keyboard: Logitech G PRO - Mouse: Logitech G502 LS - OS: Windows 10 Pro 64 Bit - AHK version: 1.1.33.09

Rohwedder
Posts: 7558
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: Hotstring mit Überlänge ...

Post by Rohwedder » 09 Jul 2020, 06:13

Also sowas von spießig!
Natürlich ist dies kein angewandtes Autohotkey!
Mir ging es nur ums Prinzip und Bobo interessierte wohl meine Syntax.

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Hotstring mit Überlänge ...

Post by BoBo » 09 Jul 2020, 06:48

Rohwedder wrote:
09 Jul 2020, 06:13
Mir ging es nur ums Prinzip und Bobo interessierte wohl meine Syntax.
Yep. Darum ging es mir. Hab irgendwie einen Logik-DNA-defect. Da brauchts dann schon mal Anleitung :)
just-me's Einwand nehme ich mal als Vorschlag diese, seine Alternative, zu präsentieren. Dann lerne ich (und andere) noch mehr und das kann ja nicht wirklich schaden!

Rgds, BoBo (der eigentlich nie genug Tellerränder finden kann, um mal darüber zu schauen ...) :mrgreen:

User avatar
Scr1pter
Posts: 1271
Joined: 06 Aug 2017, 08:21
Location: Germany

Re: Hotstring mit Überlänge ...

Post by Scr1pter » 09 Jul 2020, 07:03

@Rohwedder:
War nicht böse gemeint :)
Keiner hier wollte deine Hilfe in Frage stellen ;)

Grüße
Please use [code][/code] when posting code!
Keyboard: Logitech G PRO - Mouse: Logitech G502 LS - OS: Windows 10 Pro 64 Bit - AHK version: 1.1.33.09

just me
Posts: 9426
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Hotstring mit Überlänge ...

Post by just me » 09 Jul 2020, 07:49

Me too!

Post Reply

Return to “Ich brauche Hilfe”