Johnny R wrote: ↑20 Aug 2016, 12:54
[…] dass man das wirklich nur mit der "Holzhackermethode" lösen kann. […]
Es gibt auch eine ❀Blumenpflückerinnenmethode❀: In der INI-Datei zu Großbuchstaben ein sonst wenig gebrauchtes Zeichen hinzufügen, und dieses vor dem Aufruf von
IniRead ersetzen. Zum Beispiel ein
^ voranstellen. Oder, was mir aus verschiedenen Gründen lieber ist, ein
ᐞ. Für deutsche Abkürzungen sollte es die RegEx
([A-ZÄÖÜ])(?=.*=) ↦
ᐞ$1 tun.
(Das habe ich jetzt gerade von RegEx-QuickRef abgeschrieben und noch nicht getestet. Im Unterschied zum nachfolgenden Skript habe ich hier nur eine Klasse mit deutschen großen Umlauten eingetragen; zum einen, um mit einer bekannteren Alternative zu beginnen, und zum anderen, damit die Ersetzung auch mit Editoren, die dabei weniger können als AHK, durchgeführt werden kann.)
Damit sähe die INI-Datei etwa so aus:
Code: Select all
ᐞEhem=Ehemann
ehem=ehemalig
ᐞErbᐞSch=Erbschein
ᐞErbsch=Erbschaft
und das Skript etwa so:
Code: Select all
SuBegr_mit_Zusatzzeichen := RegExReplace(SuBegr,"(\p{Lu})", "ᐞ$1")
IniRead Gefunden, %Dateiname, % Sektion, % SuBegr_mit_Zusatzzeichen
Auch nach der caseinsensitiven Schreibweise, wie in Johnny R's Code, kann man suchen, wenn man danach einfach noch die folgenden Zeilen anhängt:
Code: Select all
if (Gefunden = "ERROR")
IniRead Gefunden, %Dateiname, % Sektion, % SuBegr
(Damit das auch für Suchbegriffe, für die die Liste keine völlig kleingeschriebene Variante hat, funktioniert, muss man dann noch solche einfügen, etwa so:
Code: Select all
erbsch=Erbschaft oder Erbschein (uneindeutige Abk.)
)