![]() |
Text edit algorithmus konzept... Zeichen finden :)
Hallo Zusammen...
Ich habe folgendes Problem Bei einem G-Code (Code zur Steuerung von CNC Maschinen) muss vor einer solchen Zeile
Code:
Die Zeichen M5 eingefügt werden und nach dieser Zeile M3
N160 G0 X15.261 Y15.899
Dabei kann Die Nummer vor dem G0 und alles danach Variieren... Wie geht man hier am besten vor? Besten Dank und frohes neujahr :) |
AW: Text edit algorithmus konzept... Zeichen finden :)
[OT]Ich würd die Spindel weiterlaufen lassen :-)[/OT]
|
AW: Text edit algorithmus konzept... Zeichen finden :)
Ein Edit mit mehreren Zeilen gibt so es nicht. Es ist halt dann ein Memo :)
Zudem verstehe ich das eigentliche Problem nicht wirklich :gruebel: Reguläre Ausdrücke wären hier vielleicht ganz praktisch. |
AW: Text edit algorithmus konzept... Zeichen finden :)
Delphi-Quellcode:
Sollte die Ziffer nach dem G auch variabel sein, zusätzlich darauf prüfen.
if Pos('G0', Zeile) > 0 then
Zeile := Format('M5 %s M3', [Zeile]);
Delphi-Quellcode:
p := Pos('G', Zeile);
if (p > 0) and (Length(Zeile) > p) and (CharInSet(Zeile[p+1], ['0'..'9'])) then Zeile := Format('M5 %s M3', [Zeile]); |
AW: Text edit algorithmus konzept... Zeichen finden :)
Am bequemsten erkennst Du solche Zeilen wahrscheinlich mit regulären Ausdrücken.
|
AW: Text edit algorithmus konzept... Zeichen finden :)
zB:
Code:
^N[0-9]+ G0 .*$
|
AW: Text edit algorithmus konzept... Zeichen finden :)
Zitat:
Delphi-Quellcode:
Da M5 und M3 nicht in einer Zeile stehen dürfen.
if Pos('G0', Zeile) > 0 then
Zeile := Format('M5 %s' + #13#10 + 'M3', [Zeile]); (Dürfen schon, aber dann wäre die Funktion weg) Wobei man sagen muss, wenn jetzt jemand nen Vorschub programmiert, dann kann es mit dem Code in die Hose gehen (G01 oder G1) |
AW: Text edit algorithmus konzept... Zeichen finden :)
Okay, dann kommt man da mit regulären Ausdrücken natürlich einfacher voran.
|
AW: Text edit algorithmus konzept... Zeichen finden :)
Vielen Dank für die vielen und blitzschnellen Antworten...
Hat soweit geklappt... Jetzt noch eine Frage.. Wie kann man in einem Memo eine neue Zeile zwischen zwei existierenden hinzufügen? |
AW: Text edit algorithmus konzept... Zeichen finden :)
Delphi-Quellcode:
Bernhard
Memo1.Lines.Insert(1, 'Inhalt');
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz