AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CNC Parsen (PChar ?)

Ein Thema von Darty · begonnen am 26. Nov 2004 · letzter Beitrag vom 29. Nov 2004
Antwort Antwort
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#1

CNC Parsen (PChar ?)

  Alt 26. Nov 2004, 09:40
Hi Leutz,

bin gerade dabei einen kleinen CNC Editor mit
grafische Ausgabe zu programmieren. Auch soll ein
Syntax Überprüfung stattfinden u.s.w. Der folgende
Quelltext ist ein Beispiel für ein CNC Fräsprogramm.
Code:
%%3000
X254.20Y134.30T1M31M31M31
X0.00Y0.00M50
X540.00Y421.30M90M30
X0.00Y0.00M50
X0.00Y190.00M50M30
X253.85Y134.65T0T2M31M31
X262.67Y143.47G1G42F6
X262.67Y158.02G1
X258.97Y158.02G1
X258.97Y173.28G1
X262.67Y173.28G1
X262.67Y205.02G1
X259.75Y205.02G1
X259.75Y207.58G2R1.28G42
X262.67Y207.58G1G42
X262.67Y242.02G1
X258.97Y242.02G1
X258.97Y257.28G1
X262.67Y257.28G1
X262.67Y277.83G1
X253.85Y286.65G1
X253.85Y286.65T0
X0.00Y0.00M50
X540.00Y421.30M90M30
X0.00Y0.00M50
X0.00Y190.00M50M30
X260.90Y159.95T0T3M31M31
X260.90Y171.35G1F12
X262.40Y171.35G1
X262.40Y159.95G1
X260.90Y243.95T0
X260.90Y255.35G1
X262.40Y255.35G1
X262.40Y243.95G1
X255.53Y288.33T0
X265.05Y278.81G1G42F8
X265.05Y142.48G1
X255.53Y132.97G1
X255.53Y132.97T0
X0.00Y0.00M50
X540.00Y421.30M90M30
X0.00Y0.00M50
X0.00Y190.00M50M30
X396.40Y125.00T0T4M31
X399.40Y128.00G1G42F15
X399.40Y293.30G1
X396.40Y296.30G1
X143.60Y296.30G1
X140.60Y293.30G1
X140.60Y293.30T0
X0.00Y0.00M50
X0.00Y190.00M50M30
X140.60Y128.00T0M31
X143.60Y125.00G1G42F15
X396.70Y125.00G1
X140.60Y293.60T0
X140.60Y131.00G1G42
X140.60Y127.70G11F2
X140.60Y127.70T0
X0.00Y0.00M50
X0.00Y190.00M50M30
M100,NVFRAES455
$
T01D0803
T02D-1005
T03D-2405
T04D-2405
$
Mein erstes Ziel muss dann lauten das CNC Programm zu zerlegen.
Der Anfang muss immer "%%3000" stehen u.s.w.
Ich hatte mich mal daraangemacht die Werkzeuge (T-Parameter) zu zerlegen
und in einer Listview anzuzeigen. Brauche es später auch für die
Grafische Anzeige u.s.w. das es getrennt wurde.
Die Werkzeuge stehen immer zwischen den Zeichen "$" wie man es am
Ende der Quelltext erkennen kann.
Ich hatte versucht mit dem PChar zu arbeiten. Aber irgendwie steige ich
da nicht richtig durch. Ich denke sobald ich das kann, wird die Restlichen Dingen wie Koordinaten u.s.w. im gleichen Verfahren ablaufen.

Könnte jemand mir ein BeispielCode zeigen wie sowas funktionieren könnte?

Danke schon mal für euer Hilfe.
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: CNC Parsen (PChar ?)

  Alt 26. Nov 2004, 09:44
Was sollen wir Zeigen?


Bye


Das is doch bestimmt eine Textdatei oder? Warum nicht nach Zeichen parsen???
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#3

Re: CNC Parsen (PChar ?)

  Alt 26. Nov 2004, 09:47
Wie ich dazubringen kann

Die Zeile

T01D2005

in einer z.B. ListView erste Spalte T01 (Heisst Werkzeug Nr 1) und in 2 Spalte D2005 (Heisst Durchmesser 2mm) eintragen lassen.

// Edit: Ja eine Text Datei ist das //

// Edit2: Eben das "wie" parsen hätte ich gerne eine Antwort //
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: CNC Parsen (PChar ?)

  Alt 26. Nov 2004, 10:00
Na einfach den String nach dem Werkzeug durchsuchen:

Delphi-Quellcode:
...
Var W: String; //Werkzeug
    Z: String; //Zu durchsuchende Zeile
    i: Integer;
Begin
  W := 'T01';
  Z := 'T01D2005'
...
  i := POS( W, Z );
  If i <> 0 Then MessageDlg('Werkzeug is da ^^', mtInformation, [mbOK], 0)
            Else MessageDlg('Werkzeug is nicht da ^^', mtInformation, [mbOK], 0);
...
End;
...



Machst dir eine Liste Mit allen Werkzeugen und durchsuchst dann halt jede Zeile mit der Werkzeugliste durch...




Bye
Christian
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: CNC Parsen (PChar ?)

  Alt 26. Nov 2004, 12:36
Erst mal wuerde ich die ganze Datei in eine TStringList einlesen.
Von dort aus kann man dann die Zeilen viel einfacher analysieren.
Eine TStringList hat z. B. ein paar nuetzliche Methoden zum Suchen.
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: CNC Parsen (PChar ?)

  Alt 26. Nov 2004, 12:47
Zitat von Robert Marquardt:
Erst mal wuerde ich die ganze Datei in eine TStringList einlesen.
Von dort aus kann man dann die Zeilen viel einfacher analysieren.
Japs sollte er tun

Zitat von Robert Marquardt:
Eine TStringList hat z. B. ein paar nuetzliche Methoden zum Suchen.
Wenne r sie Zerlegen will bringen die ihm aber nich so viel


Bye
Christian
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: CNC Parsen (PChar ?)

  Alt 26. Nov 2004, 13:06
Das Zerlegen wuerde ich in mehrere TStringList's machen. Fuer die Werkzeuge sogar in ein array of TStringList (jeweils ohne $ Zeilen).
Das eigentliche Programm geht in eine eigene TStringList (die %%3000 Zeile faellt dabei weg).
Damit werden die Programmteile nun als eine Serie von TStringLists's repraesentiert bei denen jede Liste nur den eigentlichen Inhalt vorhaelt. Das nennt sich teile und herrsche
Jetzt kann man das gleiche Prinzip auf eventuelle Teile des Programms anwenden oder die Zeilen des Programms einzeln analysieren.
Hinterher alles zusammenzusetzen ist dann sicher recht einfach.
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#8

Re: CNC Parsen (PChar ?)

  Alt 29. Nov 2004, 11:33
Danke euch beiden habe es umgestellt auf TStringlist und werde mal mich damit beschäftigen. Klar zerlegt ist dabeu noch nichts, aber habe Denkanstösse dazu bekommen Bis dann zur nächste Frage ..... Coming Soon ..
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#9

Re: CNC Parsen (PChar ?)

  Alt 29. Nov 2004, 15:33
Zitat:
aber habe Denkanstösse dazu bekommen

schau Dir mal die Funktion stringreplace an .. Die Zeilen mit den Punkten willst ja bestimmt aufdröseln oder ?

hiermal noch ein Denkanstoss

Code:
function GetStringNr(const aStr, delim: string; nr: integer): string;
begin
  with TStringList.Create do begin
    Text := StringReplace(aStr, delim, #13#10, [rfReplaceAll]);
    result := strings[nr - 1];
    free;
  end;
end;

BSP

Code:
st := getstringnr(zeile,'.', 1);
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz