Text Strings einfügen auf Basis von "Kurzstrings"

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

bertl
Posts: 1
Joined: 07 Jul 2020, 08:03

Text Strings einfügen auf Basis von "Kurzstrings"

Post by bertl » 07 Jul 2020, 08:19

Hallo,

Ich nutzte bisher Activ'aid und dessen Funktion Hotstrings.
Leider läuft activaid auf meinem Rechner nicht mehr.
Bin nach Recherche nun auf Autohotkey gekommen, welches ja auch hinter dem Hotstrings von activaid steckt.

Da ich derzeit keine Zeit habe mich in autohotkey tief einzuarbeiten wollt Ich Euch um ein paar Tipps bitten, wie ich damit das hotstrings ersetzen kann.

Was ich tun möchte:
Einige oft verwendete Textabfolgen automatisiert in Programme einfügen, wenn ein gewisser Textstring eingegeben wird.
z.B.:
Einfügen von: "Liebe Grüße Robert" wenn der Textstring "lgr" eingegeben wird.
Das ganze sollte dann auch noch flink funktionieren. Also so, wie wenn man den Text aus der Zwischenablage einfügt.

Ich wäre Euch dazu sehr dankbar für Eure Tipps und bedanke mich schon im Voraus!

Liebe Grüße, Robert

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

Re: Text Strings einfügen auf Basis von "Kurzstrings"

Post by Scr1pter » 07 Jul 2020, 13:18

Hallo und willkommenen!

Hotstrings werden so definiert:
::lgr::

Zum sofortigen Einfügen von Text kannst du einfach eine Funktion erstellen und dieser einen Parameter übergeben.

Code: Select all

Text_Einfügen(text)
{
  clipBackup := Clipboard ; Backup Zwischenablage 
  Clipboard := text ; Zuweisung des Wertes
  Sleep, 10 ; 10 ms Pufferzeit (optional)
  Send ^v ; Text einfügen 
  Clipboard:= clipBackup ; Wiederherstellen der Zwischenablage 
}
Das hier müsste dann eigentlich schon reichen:

Code: Select all

::lgr::Text_Einfügen("Liebe Grüße Robert")
::net::Text_Einfügen("Nur ein Test")
Ich kann es leider nicht testen, also viel Erfolg!

Grüße
Please use [code][/code] when posting code!
Keyboard: Logitech G15 FE - Mice: Logitech G9 FE, G502 FE, G602, Jelly Comb Touchpad - OS: Windows 10 Pro 64 Bit - AHK version: 1.1.32.00

gregster
Posts: 5195
Joined: 30 Sep 2013, 06:48

Re: Text Strings einfügen auf Basis von "Kurzstrings"

Post by gregster » 07 Jul 2020, 14:52

Scr1pter wrote:
07 Jul 2020, 13:18
Das hier müsste dann eigentlich schon reichen:

Code: Select all

::lgr::Text_Einfügen("Liebe Grüße Robert")
::net::Text_Einfügen("Nur ein Test")
Ich kann es leider nicht testen, also viel Erfolg!
Also, wenn du es als Hotstring-Einzeiler schreibst, dann musst du die X-Option (X für eXecute) hinzufügen, um eine Funktion aufrufen zu können - ansonsten wird nur Text ersetzt:

Code: Select all

:X:lgr::Text_Einfügen("Liebe Grüße Robert")
:X:net::Text_Einfügen("Nur ein Test")
(X ist verfügbar in AHK v1.1.28+, oder du musst es als Mehrzeiler schreiben.)

Ich würd trotzdem mal probieren, ob ein "normaler" Auto-Textersetzungs-Hotstring wie ::lgr::Liebe Grüße Robert nicht schon schnell genug ist. Denn wenn möglich, verwenden Hotstrings die Sendinput-Methode, afaik.

User avatar
haichen
Posts: 540
Joined: 09 Feb 2014, 08:24

Re: Text Strings einfügen auf Basis von "Kurzstrings"

Post by haichen » 08 Jul 2020, 01:47

Ich hatte diesen Effekt bei einer Hotstringsammlung meiner Frau. Die gingen jeweils über bis zu 5 Zeilen. Da war der normale Hotstring mit ! der Sendinput-Methode extrem langsam. Man hatte ungefähr eine halbe bis ganze Gedenksekunde bevor der Text erschien. Für Viel- und Schnelltipper wie meine Frau nicht akzeptabel. Daher hatte ich ihre Sammlung neu geskriptet, wie ich vor ein paar Tagen beschrieb. Mit der X-Option. Hier noch mal komplett mit Beispiel: https://www.autohotkey.com/boards/viewtopic.php?p=339535#p339535
Für kleine Textschnipsel reicht bestimmt der "normale" Hotstring.

gregster
Posts: 5195
Joined: 30 Sep 2013, 06:48

Re: Text Strings einfügen auf Basis von "Kurzstrings"

Post by gregster » 08 Jul 2020, 02:11

Hmm, könnte natürlich sein, dass der SendInput-Modus gar nicht aktiv war: https://www.autohotkey.com/docs/commands/Send.htm#SendInputUnavail
Aber ab einer bestimmten Länge ist das Einfügen per Clipboard wahrscheinlich immer schneller.

User avatar
haichen
Posts: 540
Joined: 09 Feb 2014, 08:24

Re: Text Strings einfügen auf Basis von "Kurzstrings"

Post by haichen » 08 Jul 2020, 02:29

Nö, das sieht man. Dann erscheint ein Buchstabe nach dem anderem. Sehr beruhigend anzusehen. Gähn. :)

Post Reply

Return to “Ich brauche Hilfe”