Zeilenweise einfügen Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

songoku
Posts: 73
Joined: 12 Apr 2018, 13:22

Zeilenweise einfügen

29 May 2018, 09:30

Hallo zusammen,
würde gerne ein Script schreiben, der, die Zwischenablage liest, Jede Zeile (nach zeilenumbruch) nummeriert.
Klickt an einem bestimmten Position und die 1. Zeile einfügt, dann wieder Klick an einem bestimmten Positon und 2. Zeile usw.
Mein Code, fügt mir zwar Zeilenweise, aber alles auf einmal.


Code: Select all

Loop, parse, clipboard, `n, `r
{
    WinActivate , Dokument1
	Click, 344, 309
	send, %A_LoopField% `n
	
	Click, 485, 521
	send,  %A_LoopField% `n

}
Danke und schöne Grüße
just me
Posts: 9442
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Zeilenweise einfügen

29 May 2018, 10:22

Die Variable A_LoopField ändert sich innerhalb eines Schleifendurchlaufs nicht. Wenn Du mehrfach klickst und genauso oft A_LoopField sendest, sendest Du also immer denselben Inhalt.

AHK hat für Schleifen einen Durchlaufzähler: A_Index. Du solltest die Position Deiner Klicks deshalb von dessen Inhalt abhängig machen und A_LoopField nur einmal senden.

Oder habe ich das Problem missverstanden?
songoku
Posts: 73
Joined: 12 Apr 2018, 13:22

Re: Zeilenweise einfügen

29 May 2018, 14:13

Hallo und Danke für Antworten,
Wie spreche ich %A_LoopField% + %A_Index% 1 an. also sprich nur erste Zeile.
just me
Posts: 9442
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Zeilenweise einfügen

30 May 2018, 04:03

Hallo,

ich weiß nicht, ob ich Deine Frage richtig verstehe.

Beim ersten Durchlauf der Schleife hat A_Index den Wert 1 und A_LoopField enthält den 1. Satz.
Beim zweiten Durchlauf der Schleife hat A_Index den Wert 2 und A_LoopField enthält den 2. Satz.
...

Wenn Du die Datei in Einzelsätze zerlegen willst, die direkt über die 'Satznummer' angesprochen werden können, solltest Du Dir StrSplit() ansehen.
songoku
Posts: 73
Joined: 12 Apr 2018, 13:22

Re: Zeilenweise einfügen

30 May 2018, 14:29

StrSplit ist für das was ich vorhabe geeignet, allerdings bei mir ist das Trennzeichen ein Zeilenumbruch, das bekomme ich mit StrSplit nicht hin

Code: Select all

zwischenablage := StrSplit(clipboard, `n, `r)

MsgBox % zwischenablage[4]
User avatar
Ragnar
Posts: 613
Joined: 30 Sep 2013, 15:25

Re: Zeilenweise einfügen  Topic is solved

30 May 2018, 14:48

StrSplit() ist eine Funktion und akzeptiert nur Ausdrücke als Parameter. Bei Audrücken muss literaler (direkt geschriebener) Text in Anführungszeichen gesetzt werden. In deinem Fall also:

Code: Select all

zwischenablage := StrSplit(clipboard, "`n", "`r")
MsgBox % zwischenablage[4]
songoku
Posts: 73
Joined: 12 Apr 2018, 13:22

Re: Zeilenweise einfügen

30 May 2018, 15:05

Dankeschön, Nun ist mein Vorhaben ein ganzes Stück vorangekommen.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 29 guests