![]() |
Fehler im String
N'Abend @all,
nach langer Zeit mal wieder hier ... :-D mit einem Problem:( : Ich parse GCode-Dateien für den 3D Druck, ganz trivial, dachte ich. Das sind Textdateien die Koordinaten enthalten und noch ein wenig mehr. Solch eine Textzeile sollte so aussehen: 'G0 F7200 X98.062 Y103.989' Ein paar Zeilen haben jedoch solchen Inhalt: 'G0 F7200 X98.062 Y103.989'#$1D Das ist der Inhalt der Zeile, wie er mir im Debugger angezeigt wird, hinter den Hochkommata. Notepad zeigt da gar nichts :? Eine ganz triviale Frage: Wie kann ich den Zusatz #$1D dort entfernen? Ist das eventuell ein nichtdruckbares Zeichen? Ich habe leider keinen Einfluss auf das Programm, dass die GCode-Dateien exportiert. Danke für Eure Hilfe - Rudi |
AW: Fehler im String
Google sagt mir, dass $1D => CR ist und somit wohl ein Zeilenumbruch.
Hast du schon einmal Trim() versucht? |
AW: Fehler im String
Die Bedeutung von Steuerzeichen kannst Du u. a. hier nachlesen:
![]() Trivial entfernen:
Delphi-Quellcode:
Zeilenumbruch ist $0D bzw. $0D$0A -> #13 bzw. #13#10.
s := 'G0 F7200 X98.062 Y103.989'#$1D;
s := AnsiReplaceText(s,#$1D,'') Trim funktioniert ebenfalls, da es Leerzeichen und Steuerzeichen entfernt. |
AW: Fehler im String
Trim :thumb:
Benutze ich generell immer, um Benutzereingaben bzw. eingelesene Inhalte aus Dateien "sicher" weiter zu verarbeiten. Sollte man natürlich nicht da nutzen, wo solche Zeichen ausdrücklich erwünscht sind. |
AW: Fehler im String
Moin,
OMG - es ist so einfach:oops: Vielen Dank |
AW: Fehler im String
könnte es sein, daß der Groupseperator hier eine Funktion erfüllt?
Steuerzeichen einfach mal so wegwerfen, halte ich für etwas kurzsichtig. Gruß K-H |
AW: Fehler im String
GCODE ist ein TextFormat.
Der Zeilenumbruch und die Leerzeichen sind die einzigen unsichtbaren Steuerzeichen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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