C# Odmazávání části CNC kódu
Zdravím potřebuji poradit. Tvořím program v C# na odmazávání
části CNC kódu. Konkrétně potřebuji odmazávat CNC kód
od místa které označím kurzorem po nejbližší výskyt středníku (;).
Příklad CNC kódu před odmazáním.
BEGIN PGM TEST MM
1 ; Tento řádek zůstává
2 ; Tento řádek zůstává
3 BLK FORM 0.1 Z X+0.000 Y-500.000 Z-42.000
4 BLK FORM 0.2 X+500.000 Y+0.000 Z+0.000
5 TOOL CALL 1 Z S2000
6 L X+142.093 Y-142.093 R0 FMAX M3
7 L Z+16.000 FMAX
8 L Z+0.490 FMAX
9 ; Test 01
10 CC X+140.696 Y-140.696
11 CP IPA+45.000 IZ-0.044 DR+ F3000
Příklad CNC kódu po odmazání. Kurzor umístěn na začátek řádku 6.
BEGIN PGM TEST MM
1 ; Tento řádek zůstává
2 ; Tento řádek zůstává
3 BLK FORM 0.1 Z X+0.000 Y-500.000 Z-42.000
4 BLK FORM 0.2 X+500.000 Y+0.000 Z+0.000
5 TOOL CALL 1 Z S2000
9 ; Test 01
10 CC X+140.696 Y-140.696
11 CP IPA+45.000 IZ-0.044 DR+ F3000
Přikládám testovací projekt v C#.
V reálu má CNC kód i 60000 řádků tak se to v WordPadu
a podobných programech špatně odmazává.
Vždyť už tam v podstatě všechno máš:
Najdeš si, kde je středník - richTextBox1.Find().
Najdeš si, kde začíná řádek s tím středníkem - richTextBox1.GetLineFromCharIndex() a richTextBox1.GetFirstCharIndexFromLine().
Smažeš text mezi současnou polohou a začátkem řádku se středníkem - richTextBox1.Text.Remove().
Mohl bys ten kód napsat jak má být přesně?
Ať to zkouším jak chci tak se mi to zasekne na těch prvním středníku.
No to tomu taky musíš říct, aby to hledal až od současné pozice:
Případně ještě lépe:
richTextBox1.Text.IndexOf(';', start); Nevím jak to použít pořád mi to končí u prvního středníku.
Funguje paráda dík!