Loop erst beim zweiten treffer beenden. Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Loop erst beim zweiten treffer beenden.

21 Jan 2019, 12:51

Hi,
ich versuche seit stunden folgendes zu machen, bekomme es nicht hin. Wenn der Inhalt der Zeichenkette, d ist soll es beendet werden aber nicht beim ersten Fund sondern beim zweiten.
Im Beispiel sollte das endergebnis, abcd123d sein.
Gruß

Code: Select all

datei =
(
a
b
c
d
1
2
3
d
e
g
f
)
match = 0
Loop, parse, datei, `n
{
if A_Loopfield contains d
{
match = 1
continue
}Else{
erg = %erg%%A_Loopfield%
}

If (match = 1)
{
break
}

}
msgbox, % erg

Danke
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Loop erst beim zweiten treffer beenden.  Topic is solved

21 Jan 2019, 12:54

Du müsstest dein if (match=1) + break vor die Zuweisung der selben Variable schreiben.
Recommends AHK Studio
KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Re: Loop erst beim zweiten treffer beenden.

21 Jan 2019, 13:12

Danke, habe mich heute fast 5std. damit beschäftigt. Dabei war es so einfach. Nochmal Danke
braunbaer
Posts: 478
Joined: 22 Feb 2016, 10:49

Re: Loop erst beim zweiten treffer beenden.

28 Jan 2019, 06:30

Allgemeiner funktioniert es, wenn du statt match=1 schreibst: match++
und dann auf =2 statt auf =1 abfragst. Die Version funktioniert dann nämlich nicht nur für 2 Matches, sondern auch, wenn du erst nach 3, 4 oder mehr Matches aufhören wilst
KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Re: Loop erst beim zweiten treffer beenden.

28 Jan 2019, 11:10

Danke, für den Tipp!

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 67 guests