Zeilenweise einfügen

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: Zeilenweise einfügen

Re: Zeilenweise einfügen

Post by songoku » 30 May 2018, 15:05

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

Re: Zeilenweise einfügen

Post by Ragnar » 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]

Re: Zeilenweise einfügen

Post by songoku » 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]

Re: Zeilenweise einfügen

Post by just me » 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.

Re: Zeilenweise einfügen

Post by songoku » 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.

Re: Zeilenweise einfügen

Post by just me » 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?

Zeilenweise einfügen

Post by songoku » 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

Top