<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Abbruchbedingung....was ist hier wieder aflsch?]]></title><description><![CDATA[<p>Hallo,</p>
<p>meine letzten fragen hatten sich ja geklärt, nun habe ich aber noch eine!<br />
Sachverhalt:</p>
<p>Eine Datei soll solang bearbeitet werdem bis &quot;M113&quot; gefunden wird, dann soll abgebrochen werden!<br />
Sollte allerdings nach dem &quot;M113&quot; in der nächsten Zeile ein &quot;M112&quot; stehen, soll er nach dem &quot;M112&quot; bis zum nächsten &quot;M113&quot; weitermachen...</p>
<pre><code class="language-cpp">int j=16;

 while((RichEdit1-&gt;Lines-&gt;Strings[j].Pos(&quot;M113&quot;)==0)&amp;&amp;(RichEdit1-&gt;Lines-&gt;Strings[j+1].Pos(&quot;M112&quot;)==0))
 {
   int StartPosi=RichEdit1-&gt;Lines-&gt;Strings[j].Pos(&quot;Z&quot;);
   ShowMessage(StartPosi);
   int laenge = RichEdit1-&gt;Lines-&gt;Strings[j].Length();
   //ShowMessage(laenge);
   int rest = laenge-StartPosi;
   //ShowMessage(rest);
   String Text2 = &quot;FMAX M99&quot;;
   String Text = RichEdit1-&gt;Lines-&gt;Strings[j];
   String Text_Old = RichEdit1-&gt;Lines-&gt;Strings[j].SubString(0,StartPosi-1);
   //ShowMessage(Text_Old);
   Text2 = Text_Old+Text2;
   Text.Delete(StartPosi,rest);
   Text.Insert(Text2,StartPosi);
   RichEdit1-&gt;Lines-&gt;Strings[j] = Text2;
   j++;
 }
</code></pre>
<p>das ist der code, und hier ein beispiel text...</p>
<p>Ursprungsdatei:</p>
<pre><code>0 BEGIN PGM TEST MM
1 ; DATEI : TEST.h
2 ; UNDEFINIERT D=0.00
3 ; WANDSTAERKE=0.00 AUFMASS=0.00 ZUSTELLUNG=0.00 PENDELN SPITZE
4 TOOL CALL 0 Z S0
5 CYCL DEF 7.0 NULLPUNKT
6 CYCL DEF 7.1 X+0,000
7 CYCL DEF 7.2 Y+0,000
8 CYCL DEF 7.3 Z+0,000
9 CYCL DEF 8.0 SPIEGELN
10 CYCL DEF 8.1
11 CYCL DEF 10.0 DREHUNG
12 CYCL DEF 10.1 ROT +0,000
13 CYCL DEF 11.0 MASSFAKTOR
14 CYCL DEF 11.1 SCL 1,000
15 M112 T0.05 A15   &lt;---------ab hier jede 2te zeile löschen (das klappt alles)
16 L X+240.000 Y+100.000 Z+0.000 F0 M03
17 L X+240.000 Y+100.000 Z+40.000 &lt;-----und bei den verbleibenden zeilen nach dem Z alles ersetzen
18 L X+254.000 Y+100.000 Z+0.000
19 L X+254.000 Y+100.000 Z+40.000
20 L X+268.000 Y+100.000 Z+0.000
21 L X+268.000 Y+100.000 Z+40.000
22 L X+282.000 Y+100.000 Z+0.000
23 L X+282.000 Y+100.000 Z+40.000
24 L X+296.000 Y+100.000 Z+0.000
25 L X+296.000 Y+100.000 Z+40.000
26 L X+310.000 Y+100.000 Z+0.000
27 L X+310.000 Y+100.000 Z+40.000
28 L X+324.000 Y+100.000 Z+0.000
29 L X+324.000 Y+100.000 Z+40.000
30 L X+338.000 Y+100.000 Z+0.000
31 L X+338.000 Y+100.000 Z+40.000
32 L X+352.000 Y+100.000 Z+0.000
33 L X+352.000 Y+100.000 Z+40.000
34 L X+366.000 Y+100.000 Z+0.000
35 L X+366.000 Y+100.000 Z+40.000
36 L X+380.000 Y+100.000 Z+0.000
37 L X+380.000 Y+100.000 Z+40.000
38 L X+394.000 Y+100.000 Z+0.000
39 L X+394.000 Y+100.000 Z+40.000
40 L X+408.000 Y+100.000 Z+0.000
41 L X+408.000 Y+100.000 Z+40.000
42 L X+422.000 Y+100.000 Z+0.000
43 L X+422.000 Y+100.000 Z+40.000
44 L X+436.000 Y+100.000 Z+0.000
45 L X+436.000 Y+100.000 Z+40.000
46 L X+450.000 Y+100.000 Z+0.000
47 L X+450.000 Y+100.000 Z+40.000
48 M113               &lt;----------hier soll er aufhören mit text zu ersetzen
15 M112 T0.05 A15     &lt;---------aber hier danach wieder anfangen
16 L X+240.000 Y+100.000 Z+0.000 F0 M03
17 L X+240.000 Y+100.000 Z+40.000
18 L X+254.000 Y+100.000 Z+0.000
19 L X+254.000 Y+100.000 Z+40.000
20 L X+268.000 Y+100.000 Z+0.000
21 L X+268.000 Y+100.000 Z+40.000
22 L X+282.000 Y+100.000 Z+0.000
23 L X+282.000 Y+100.000 Z+40.000
24 L X+296.000 Y+100.000 Z+0.000
25 L X+296.000 Y+100.000 Z+40.000
26 L X+310.000 Y+100.000 Z+0.000
27 L X+310.000 Y+100.000 Z+40.000
28 L X+324.000 Y+100.000 Z+0.000
29 L X+324.000 Y+100.000 Z+40.000
30 L X+338.000 Y+100.000 Z+0.000
31 L X+338.000 Y+100.000 Z+40.000
32 L X+352.000 Y+100.000 Z+0.000
33 L X+352.000 Y+100.000 Z+40.000
34 L X+366.000 Y+100.000 Z+0.000
35 L X+366.000 Y+100.000 Z+40.000
36 L X+380.000 Y+100.000 Z+0.000
37 L X+380.000 Y+100.000 Z+40.000
38 L X+394.000 Y+100.000 Z+0.000
39 L X+394.000 Y+100.000 Z+40.000
40 L X+408.000 Y+100.000 Z+0.000
41 L X+408.000 Y+100.000 Z+40.000
42 L X+422.000 Y+100.000 Z+0.000
43 L X+422.000 Y+100.000 Z+40.000
44 L X+436.000 Y+100.000 Z+0.000
45 L X+436.000 Y+100.000 Z+40.000
46 L X+450.000 Y+100.000 Z+0.000
47 L X+450.000 Y+100.000 Z+40.000
48 M113                      &lt;----------------hier aufhören
49 M30
50 END PGM TEST MM
</code></pre>
<p>und das ist das ergebnis:</p>
<pre><code>0 BEGIN PGM TEST MM
1 ; DATEI : TEST.h
2 ; UNDEFINIERT D=0.00
3 ; WANDSTAERKE=0.00 AUFMASS=0.00 ZUSTELLUNG=0.00 PENDELN SPITZE
4 TOOL CALL 0 Z S0
5 CYCL DEF 7.0 NULLPUNKT
6 CYCL DEF 7.1 X+0,000
7 CYCL DEF 7.2 Y+0,000
8 CYCL DEF 7.3 Z+0,000
9 CYCL DEF 8.0 SPIEGELN
10 CYCL DEF 8.1
11 CYCL DEF 10.0 DREHUNG
12 CYCL DEF 10.1 ROT +0,000
13 CYCL DEF 11.0 MASSFAKTOR
14 CYCL DEF 11.1 SCL 1,000
15 M112 T0.05 A15
17 L X+240.000 Y+100.000 FMAX M99
19 L X+254.000 Y+100.000 FMAX M99
21 L X+268.000 Y+100.000 FMAX M99
23 L X+282.000 Y+100.000 FMAX M99
25 L X+296.000 Y+100.000 FMAX M99
27 L X+310.000 Y+100.000 FMAX M99
29 L X+324.000 Y+100.000 FMAX M99
31 L X+338.000 Y+100.000 FMAX M99
33 L X+352.000 Y+100.000 FMAX M99
35 L X+366.000 Y+100.000 FMAX M99
37 L X+380.000 Y+100.000 FMAX M99
39 L X+394.000 Y+100.000 FMAX M99
41 L X+408.000 Y+100.000 FMAX M99
43 L X+422.000 Y+100.000 FMAX M99
45 L X+436.000 Y+100.000 FMAX M99
47 L X+450.000 Y+100.000 FMAX M99
48 M113
15 M112 T0.05 A15
17 L X+240.000 Y+100.000 Z+40.000
19 L X+254.000 Y+100.000 Z+40.000
21 L X+268.000 Y+100.000 Z+40.000
23 L X+282.000 Y+100.000 Z+40.000
25 L X+296.000 Y+100.000 Z+40.000
27 L X+310.000 Y+100.000 Z+40.000
29 L X+324.000 Y+100.000 Z+40.000
31 L X+338.000 Y+100.000 Z+40.000
33 L X+352.000 Y+100.000 Z+40.000
35 L X+366.000 Y+100.000 Z+40.000
37 L X+380.000 Y+100.000 Z+40.000
39 L X+394.000 Y+100.000 Z+40.000
41 L X+408.000 Y+100.000 Z+40.000
43 L X+422.000 Y+100.000 Z+40.000
45 L X+436.000 Y+100.000 Z+40.000
47 L X+450.000 Y+100.000 Z+40.000
48 M113
49 M30
50 END PGM TEST MM
</code></pre>
<p>also mit dem löschen das funktioniert, nur leider ersetzt er den text nach dem ersten &quot;M113&quot; nicht, wieso?</p>
<p>ist an der while schleife was falsch??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/123460/abbruchbedingung-was-ist-hier-wieder-aflsch</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 16:08:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/123460.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Oct 2005 09:42:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Abbruchbedingung....was ist hier wieder aflsch? on Mon, 17 Oct 2005 09:42:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>meine letzten fragen hatten sich ja geklärt, nun habe ich aber noch eine!<br />
Sachverhalt:</p>
<p>Eine Datei soll solang bearbeitet werdem bis &quot;M113&quot; gefunden wird, dann soll abgebrochen werden!<br />
Sollte allerdings nach dem &quot;M113&quot; in der nächsten Zeile ein &quot;M112&quot; stehen, soll er nach dem &quot;M112&quot; bis zum nächsten &quot;M113&quot; weitermachen...</p>
<pre><code class="language-cpp">int j=16;

 while((RichEdit1-&gt;Lines-&gt;Strings[j].Pos(&quot;M113&quot;)==0)&amp;&amp;(RichEdit1-&gt;Lines-&gt;Strings[j+1].Pos(&quot;M112&quot;)==0))
 {
   int StartPosi=RichEdit1-&gt;Lines-&gt;Strings[j].Pos(&quot;Z&quot;);
   ShowMessage(StartPosi);
   int laenge = RichEdit1-&gt;Lines-&gt;Strings[j].Length();
   //ShowMessage(laenge);
   int rest = laenge-StartPosi;
   //ShowMessage(rest);
   String Text2 = &quot;FMAX M99&quot;;
   String Text = RichEdit1-&gt;Lines-&gt;Strings[j];
   String Text_Old = RichEdit1-&gt;Lines-&gt;Strings[j].SubString(0,StartPosi-1);
   //ShowMessage(Text_Old);
   Text2 = Text_Old+Text2;
   Text.Delete(StartPosi,rest);
   Text.Insert(Text2,StartPosi);
   RichEdit1-&gt;Lines-&gt;Strings[j] = Text2;
   j++;
 }
</code></pre>
<p>das ist der code, und hier ein beispiel text...</p>
<p>Ursprungsdatei:</p>
<pre><code>0 BEGIN PGM TEST MM
1 ; DATEI : TEST.h
2 ; UNDEFINIERT D=0.00
3 ; WANDSTAERKE=0.00 AUFMASS=0.00 ZUSTELLUNG=0.00 PENDELN SPITZE
4 TOOL CALL 0 Z S0
5 CYCL DEF 7.0 NULLPUNKT
6 CYCL DEF 7.1 X+0,000
7 CYCL DEF 7.2 Y+0,000
8 CYCL DEF 7.3 Z+0,000
9 CYCL DEF 8.0 SPIEGELN
10 CYCL DEF 8.1
11 CYCL DEF 10.0 DREHUNG
12 CYCL DEF 10.1 ROT +0,000
13 CYCL DEF 11.0 MASSFAKTOR
14 CYCL DEF 11.1 SCL 1,000
15 M112 T0.05 A15   &lt;---------ab hier jede 2te zeile löschen (das klappt alles)
16 L X+240.000 Y+100.000 Z+0.000 F0 M03
17 L X+240.000 Y+100.000 Z+40.000 &lt;-----und bei den verbleibenden zeilen nach dem Z alles ersetzen
18 L X+254.000 Y+100.000 Z+0.000
19 L X+254.000 Y+100.000 Z+40.000
20 L X+268.000 Y+100.000 Z+0.000
21 L X+268.000 Y+100.000 Z+40.000
22 L X+282.000 Y+100.000 Z+0.000
23 L X+282.000 Y+100.000 Z+40.000
24 L X+296.000 Y+100.000 Z+0.000
25 L X+296.000 Y+100.000 Z+40.000
26 L X+310.000 Y+100.000 Z+0.000
27 L X+310.000 Y+100.000 Z+40.000
28 L X+324.000 Y+100.000 Z+0.000
29 L X+324.000 Y+100.000 Z+40.000
30 L X+338.000 Y+100.000 Z+0.000
31 L X+338.000 Y+100.000 Z+40.000
32 L X+352.000 Y+100.000 Z+0.000
33 L X+352.000 Y+100.000 Z+40.000
34 L X+366.000 Y+100.000 Z+0.000
35 L X+366.000 Y+100.000 Z+40.000
36 L X+380.000 Y+100.000 Z+0.000
37 L X+380.000 Y+100.000 Z+40.000
38 L X+394.000 Y+100.000 Z+0.000
39 L X+394.000 Y+100.000 Z+40.000
40 L X+408.000 Y+100.000 Z+0.000
41 L X+408.000 Y+100.000 Z+40.000
42 L X+422.000 Y+100.000 Z+0.000
43 L X+422.000 Y+100.000 Z+40.000
44 L X+436.000 Y+100.000 Z+0.000
45 L X+436.000 Y+100.000 Z+40.000
46 L X+450.000 Y+100.000 Z+0.000
47 L X+450.000 Y+100.000 Z+40.000
48 M113               &lt;----------hier soll er aufhören mit text zu ersetzen
15 M112 T0.05 A15     &lt;---------aber hier danach wieder anfangen
16 L X+240.000 Y+100.000 Z+0.000 F0 M03
17 L X+240.000 Y+100.000 Z+40.000
18 L X+254.000 Y+100.000 Z+0.000
19 L X+254.000 Y+100.000 Z+40.000
20 L X+268.000 Y+100.000 Z+0.000
21 L X+268.000 Y+100.000 Z+40.000
22 L X+282.000 Y+100.000 Z+0.000
23 L X+282.000 Y+100.000 Z+40.000
24 L X+296.000 Y+100.000 Z+0.000
25 L X+296.000 Y+100.000 Z+40.000
26 L X+310.000 Y+100.000 Z+0.000
27 L X+310.000 Y+100.000 Z+40.000
28 L X+324.000 Y+100.000 Z+0.000
29 L X+324.000 Y+100.000 Z+40.000
30 L X+338.000 Y+100.000 Z+0.000
31 L X+338.000 Y+100.000 Z+40.000
32 L X+352.000 Y+100.000 Z+0.000
33 L X+352.000 Y+100.000 Z+40.000
34 L X+366.000 Y+100.000 Z+0.000
35 L X+366.000 Y+100.000 Z+40.000
36 L X+380.000 Y+100.000 Z+0.000
37 L X+380.000 Y+100.000 Z+40.000
38 L X+394.000 Y+100.000 Z+0.000
39 L X+394.000 Y+100.000 Z+40.000
40 L X+408.000 Y+100.000 Z+0.000
41 L X+408.000 Y+100.000 Z+40.000
42 L X+422.000 Y+100.000 Z+0.000
43 L X+422.000 Y+100.000 Z+40.000
44 L X+436.000 Y+100.000 Z+0.000
45 L X+436.000 Y+100.000 Z+40.000
46 L X+450.000 Y+100.000 Z+0.000
47 L X+450.000 Y+100.000 Z+40.000
48 M113                      &lt;----------------hier aufhören
49 M30
50 END PGM TEST MM
</code></pre>
<p>und das ist das ergebnis:</p>
<pre><code>0 BEGIN PGM TEST MM
1 ; DATEI : TEST.h
2 ; UNDEFINIERT D=0.00
3 ; WANDSTAERKE=0.00 AUFMASS=0.00 ZUSTELLUNG=0.00 PENDELN SPITZE
4 TOOL CALL 0 Z S0
5 CYCL DEF 7.0 NULLPUNKT
6 CYCL DEF 7.1 X+0,000
7 CYCL DEF 7.2 Y+0,000
8 CYCL DEF 7.3 Z+0,000
9 CYCL DEF 8.0 SPIEGELN
10 CYCL DEF 8.1
11 CYCL DEF 10.0 DREHUNG
12 CYCL DEF 10.1 ROT +0,000
13 CYCL DEF 11.0 MASSFAKTOR
14 CYCL DEF 11.1 SCL 1,000
15 M112 T0.05 A15
17 L X+240.000 Y+100.000 FMAX M99
19 L X+254.000 Y+100.000 FMAX M99
21 L X+268.000 Y+100.000 FMAX M99
23 L X+282.000 Y+100.000 FMAX M99
25 L X+296.000 Y+100.000 FMAX M99
27 L X+310.000 Y+100.000 FMAX M99
29 L X+324.000 Y+100.000 FMAX M99
31 L X+338.000 Y+100.000 FMAX M99
33 L X+352.000 Y+100.000 FMAX M99
35 L X+366.000 Y+100.000 FMAX M99
37 L X+380.000 Y+100.000 FMAX M99
39 L X+394.000 Y+100.000 FMAX M99
41 L X+408.000 Y+100.000 FMAX M99
43 L X+422.000 Y+100.000 FMAX M99
45 L X+436.000 Y+100.000 FMAX M99
47 L X+450.000 Y+100.000 FMAX M99
48 M113
15 M112 T0.05 A15
17 L X+240.000 Y+100.000 Z+40.000
19 L X+254.000 Y+100.000 Z+40.000
21 L X+268.000 Y+100.000 Z+40.000
23 L X+282.000 Y+100.000 Z+40.000
25 L X+296.000 Y+100.000 Z+40.000
27 L X+310.000 Y+100.000 Z+40.000
29 L X+324.000 Y+100.000 Z+40.000
31 L X+338.000 Y+100.000 Z+40.000
33 L X+352.000 Y+100.000 Z+40.000
35 L X+366.000 Y+100.000 Z+40.000
37 L X+380.000 Y+100.000 Z+40.000
39 L X+394.000 Y+100.000 Z+40.000
41 L X+408.000 Y+100.000 Z+40.000
43 L X+422.000 Y+100.000 Z+40.000
45 L X+436.000 Y+100.000 Z+40.000
47 L X+450.000 Y+100.000 Z+40.000
48 M113
49 M30
50 END PGM TEST MM
</code></pre>
<p>also mit dem löschen das funktioniert, nur leider ersetzt er den text nach dem ersten &quot;M113&quot; nicht, wieso?</p>
<p>ist an der while schleife was falsch??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/893954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/893954</guid><dc:creator><![CDATA[RichEdit1]]></dc:creator><pubDate>Mon, 17 Oct 2005 09:42:19 GMT</pubDate></item><item><title><![CDATA[Reply to Abbruchbedingung....was ist hier wieder aflsch? on Mon, 17 Oct 2005 11:12:16 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>du hast deine Abbruchbedingung falsch formuliert:<br />
RichEdit1-&gt;Lines-&gt;Strings[j].Pos(&quot;M113&quot;) == 0<br />
RichEdit1-&gt;Lines-&gt;Strings[j+1].Pos(&quot;M112&quot;) == 0</p>
<p>Methode Pos gibt NULL zurück wenn Zeichenkette könnte NICHT gefunden werden.</p>
<p>Wäre vieleicht so richtig?<br />
RichEdit1-&gt;Lines-&gt;Strings[j].Pos(&quot;M113&quot;) != 0<br />
RichEdit1-&gt;Lines-&gt;Strings[j+1].Pos(&quot;M112&quot;) != 0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/894030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/894030</guid><dc:creator><![CDATA[Ausländer]]></dc:creator><pubDate>Mon, 17 Oct 2005 11:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to Abbruchbedingung....was ist hier wieder aflsch? on Mon, 17 Oct 2005 11:21:54 GMT]]></title><description><![CDATA[<p>nee, wenn ich das so mache, dann ersetzt er gar keinen text!°..</p>
<p>hm....was könnte noch sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/894038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/894038</guid><dc:creator><![CDATA[RichEdit1]]></dc:creator><pubDate>Mon, 17 Oct 2005 11:21:54 GMT</pubDate></item><item><title><![CDATA[Reply to Abbruchbedingung....was ist hier wieder aflsch? on Tue, 18 Oct 2005 06:03:48 GMT]]></title><description><![CDATA[<p>hm...würde mich echt über hilfe freuen, weis echt nimemr worans liegt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/894689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/894689</guid><dc:creator><![CDATA[RichEdit1]]></dc:creator><pubDate>Tue, 18 Oct 2005 06:03:48 GMT</pubDate></item><item><title><![CDATA[Reply to Abbruchbedingung....was ist hier wieder aflsch? on Tue, 18 Oct 2005 06:45:51 GMT]]></title><description><![CDATA[<p>schau dir mal genau deine abbruchbedingung an, er geht die schleife solang durch, bis er M113 und M112 gefunden hat, danach macht er nix mehr....!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/894704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/894704</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Tue, 18 Oct 2005 06:45:51 GMT</pubDate></item><item><title><![CDATA[Reply to Abbruchbedingung....was ist hier wieder aflsch? on Tue, 18 Oct 2005 06:47:19 GMT]]></title><description><![CDATA[<p>Deine Abbruchbedingung ist falsch. Deine Schleife läuft, solange die Zeile j M113 nicht enthält und Zeile j+1 M112 nicht enthält.</p>
<p>Das heißt, sie bricht ab, wenn Zeile j M113 enthält <strong>oder</strong> Zeile j+1 M112 enthält.</p>
<p>Das ist doch nicht das, was du willst, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/894705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/894705</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 18 Oct 2005 06:47:19 GMT</pubDate></item></channel></rss>