Textbausteine aus einer Liste abrufen? Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Peter2
Posts: 325
Joined: 21 Sep 2014, 14:38
Location: CH

Textbausteine aus einer Liste abrufen?

11 Apr 2019, 05:32

Ich weiss, es ist (auch für mich) nicht sooo schwierig, dass zu programmieren, aber falls es das schon gibt, wäre es unnötige Arbeit, und daher die Frage:

Gibt es / Kennt jemand einen AHK-Code, der

- mit irgendeinem Hotkey eine INI-Datei ausliest (INI ist irgendwie übersichtlicher und leichter pflegbar als Definitionen im Code für Menüs oder ...)
- in der INI stehen Textbausteine:
1= Hallo
2= Auf Wiedersehen
3=Wie geht es dir?
4=...

- Diese Inhalte werden in einer Liste angezeigt.
- Ich wähle dann was (z.B. die Zeile 3)
- AHK schreibt "Wie geht es dir?"

Danke für Hinweise.

Peter
Peter (AHK Beginner) / Win 10 x64, AHK Version v1.1.33
swagfag
Posts: 6222
Joined: 11 Jan 2017, 17:59

Re: Textbausteine aus einer Liste abrufen?  Topic is solved

11 Apr 2019, 09:26

Code: Select all

FileRead ini, inifile.ini

Loop Parse, ini, `n, `r
{
	val := StrSplit(A_LoopField, "=")[2]
	ddl .= val (A_Index = 1 ? "||" : "|")
}

Gui Add, DropDownList, gDDL, % ddl
Gui Show

Esc::ExitApp

DDL:
	MsgBox % A_GuiControl
Return
Peter2
Posts: 325
Joined: 21 Sep 2014, 14:38
Location: CH

Re: Textbausteine aus einer Liste abrufen?

11 Apr 2019, 09:54

Oops - da ist ja noch um den Faktor 5-10 kleiner als gedacht ..Vielen Dank!

Jetzt muss ich noch die Kommunikation zwischen dem aufrufenden Programm (Fenster) und der Werteingabe hinkriegen, dann läuft es ...
Peter (AHK Beginner) / Win 10 x64, AHK Version v1.1.33
just me
Posts: 9451
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Textbausteine aus einer Liste abrufen?

11 Apr 2019, 10:22

Moin,

der Code von swagfag berücksichtigt keine Sektionen [Sektion], die eigentlich fester Bestandteil von INI-Dateien sind. Wenn Du mit einer Fake-INI auskommst, kannst Du Dir das Gedöns mit Key=Value komplett schenken. Dann wäre es eine normale Textdatei mit einem Eintrag pro Zeile wie z.B.

Code: Select all

Hallo
Auf Wiedersehen
Wie geht es dir?
...
Das Einlesen könnte dann so aussehen:

Code: Select all

BausteinDatei := "Textbausteine.txt"
DDL := ""
Loop, Read, %BausteinDatei%
{
	If (A_LoopReadLine <> "")
		DDL .= A_LoopReadLine  . (A_Index = 1 ? "||" : "|")
}
Das Ganze eignet sich aber meiner Meinung nach nur für kurze Bausteine.
Peter2
Posts: 325
Joined: 21 Sep 2014, 14:38
Location: CH

Re: Textbausteine aus einer Liste abrufen?

12 Apr 2019, 01:51

Danke an beide.

Ja, die INI-Idee hinterfrage ich auch schon. Ich dachte vorerst an die Logik "Abkürzung=langer String", aber mit Einzelzeilen wird das auch passen. Textblöcke habe ich nicht vvor, nur Einzelzeilen und Befehle.
Peter (AHK Beginner) / Win 10 x64, AHK Version v1.1.33
Peter2
Posts: 325
Joined: 21 Sep 2014, 14:38
Location: CH

Re: Textbausteine aus einer Liste abrufen?

23 Apr 2019, 05:06

@list
"lintalist" seem to be great, but at the moment it is a little bit to much sophisticated. But I will keep it in mind. Thanks.
Peter (AHK Beginner) / Win 10 x64, AHK Version v1.1.33

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 21 guests