Post by Ahk_fan » 16 Mar 2019, 05:06
Hallo Community,
wieder mal ich mit einer wahrscheinlich doofen Frage. Habe mich im Forum dumm und dämlich gesucht, aber nichts passendes gefunden.
Folgendes möchte ich:
Ein kompiliertes Script soll aus einer AHK/TXT Datei die Hotstrings einlesen. Diese Datei ist dynamisch, d.h. kann immer wieder verändert werden, deswegen kommt
#Include nicht in Frage, da da ja die Datei in das Script integriert wird.
Problem:
Die Datei wird korrekt eingelesen, geparst und die Arrays an den Befehl
Hotstring weitergegeben, allerding funktioniert der Hotstring
nicht (siehe 1. Schleife). --> z.B. mfgmm, oder ghm -->
geht nicht!
Wenn ich einfach per Loop einen Hotsring erzeuge, geht es (siehe 2.Schleife). --> abc1, abc2 -->
geht!
Hier mein Code der Hauptdatei
Code: Select all
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
#Persistent
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
FileRead, myfile, %A_ScriptDir%\test.ahk
Loop, parse, myfile, `n, `r
{
HSKuerzel :=
HSText :=
teilen := strSplit(A_LoopField, ":")
HSKuerzel := teilen[3]
HSText := teilen[5]
;msgbox, %HSKuerzel% / %HSText%
if HSKuerzel =
continue
if HSText =
continue
Hotstring("::" HSKuerzel, HSText)
}
loop, 4
{
HSKuerzel := "abc" A_Index
HSText := "jldakjdlkajdslkajsle" A_Index
Hotstring("::" HSKuerzel, HSText)
}
return
und hier die test.ahk, die in das gleich Directory speichern, wie das Hauptscript
Code: Select all
::mfg::Mit freundlichen Grüßen,
::mfgmm::Mit freundlichen Grüßen,max Mustermann
::Fr::Fr.
::Hr::Hr.
::sgdh::Sehr geehrte Damen und Herren,
::sgh::Sehr geehrte Herren,
::BEschaffung::Beschaffung
::grm::Gruß Max
was mache ich falsch?
Danke schon mal!
Hallo Community,
wieder mal ich mit einer wahrscheinlich doofen Frage. Habe mich im Forum dumm und dämlich gesucht, aber nichts passendes gefunden.
Folgendes möchte ich:
Ein kompiliertes Script soll aus einer AHK/TXT Datei die Hotstrings einlesen. Diese Datei ist dynamisch, d.h. kann immer wieder verändert werden, deswegen kommt [docs]#Include[/docs] nicht in Frage, da da ja die Datei in das Script integriert wird.
Problem:
Die Datei wird korrekt eingelesen, geparst und die Arrays an den Befehl [c]Hotstring[/c] weitergegeben, allerding funktioniert der Hotstring [b]nicht [/b](siehe 1. Schleife). --> z.B. mfgmm, oder ghm --> [b]geht nicht![/b]
Wenn ich einfach per Loop einen Hotsring erzeuge, geht es (siehe 2.Schleife). --> abc1, abc2 --> [b]geht![/b]
Hier mein Code der Hauptdatei
[code]#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
#Persistent
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
FileRead, myfile, %A_ScriptDir%\test.ahk
Loop, parse, myfile, `n, `r
{
HSKuerzel :=
HSText :=
teilen := strSplit(A_LoopField, ":")
HSKuerzel := teilen[3]
HSText := teilen[5]
;msgbox, %HSKuerzel% / %HSText%
if HSKuerzel =
continue
if HSText =
continue
Hotstring("::" HSKuerzel, HSText)
}
loop, 4
{
HSKuerzel := "abc" A_Index
HSText := "jldakjdlkajdslkajsle" A_Index
Hotstring("::" HSKuerzel, HSText)
}
return
[/code]
und hier die test.ahk, die in das gleich Directory speichern, wie das Hauptscript
[code]::mfg::Mit freundlichen Grüßen,
::mfgmm::Mit freundlichen Grüßen,max Mustermann
::Fr::Fr.
::Hr::Hr.
::sgdh::Sehr geehrte Damen und Herren,
::sgh::Sehr geehrte Herren,
::BEschaffung::Beschaffung
::grm::Gruß Max[/code]
was mache ich falsch?
Danke schon mal!