Automatische Ausführung von Hotstrings basierend auf Dateiinhalt

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Automatische Ausführung von Hotstrings basierend auf Dateiinhalt

Re: Automatische Ausführung von Hotstrings basierend auf Dateiinhalt

Post by gregster » 19 Mar 2024, 17:14

Gerne, KHA. Es gibt ja immer verschiedene Wege.
Wenn man allerdings Hotstring-Optionen verwendet (z. B. * oder ?), dann müsste man die beim gosub-Aufruf berücksichtigen: gosub :*:%hi%.

Man kann jedoch auch normale Labels verwenden, da man Labels ja "stapeln" kann (aka stacking):

Code: Select all

hi := "gkg"  	; Inhalt der Variablen könnte natürlich auch aus einer Datei gelesen werden
gosub %hi%

gkg:
:*:gkg::
Msgbox, gkg
return

Re: Automatische Ausführung von Hotstrings basierend auf Dateiinhalt

Post by KHA » 19 Mar 2024, 16:53

Hi @gregster, Danke dir!

Auch ich bin auf die Idee mit GoSub bzw. GoTo gekommen.
Als ich testen wollte, bekam ich einen Fehler, da ich bei den HotStrings die doppelten Doppelpunkte nicht berücksichtigt hatte.
Dein Vorschlag funktioniert zuverlässiger und ist viel sauberer als meine Idee.

Re: Automatische Ausführung von Hotstrings basierend auf Dateiinhalt

Post by gregster » 19 Mar 2024, 16:35

Hotstrings sind auch (wie Hotkeys) anspringbare Labels. Zum Beispiel:

Code: Select all

hi := "gkg"  	; Inhalt der Variablen könnte natürlich auch aus einer Datei gelesen werden
gosub ::%hi%

::gkk::
Msgbox, gkk
return

::gkg::
Msgbox, gkg
return

::gkh::
Msgbox, gkh
return

Re: Automatische Ausführung von Hotstrings basierend auf Dateiinhalt

Post by KHA » 19 Mar 2024, 16:24

Hi,
Vielleicht lässt sich dies durch Anpassungen am SendLevel oder #InputLevel lösen, wie zum Beispiel:

Code: Select all

FileRead, hi, file.txt
SendLevel, 1
SendEvent % hi "{enter}"

Automatische Ausführung von Hotstrings basierend auf Dateiinhalt

Post by Nussbeisser » 18 Mar 2024, 14:37

Hallo zusammen,

ich habe eine Liste von Hotstrings in einer Datei. Je nach dem Inhalt dieser Datei soll der entsprechende Hotstring ausgeführt werden. Ist so etwas möglich? Danke!

Code: Select all

;Inhalt von file.txt
;gkk


Fileread, hi, file.txt
Run, % hi ; Zum Beispiel


::gkk::
Msgbox, gkk
return

::gkg::
Msgbox, gkg
return

::gkh::
Msgbox, gkh
return


Top