Angelo2449
Guest
Hallo alle,
Ich versuche, einen Code zu schreiben, der die Verwendung externer Programme in Lisp vorsieht:
Ich habe Fehler, weil ich das Programm nicht stoppen kann, bevor das externe Programm seinen Job macht.
Ich werde es erklären.
Ich benutze Masken, die in einer Art visuellen Basis für Eingabe und Datenspeicher geschrieben werden, die Daten müssen dann von der Lisp gelesen werden, um fortzufahren.
Ich habe den Eindruck, dass die Datei, um die Daten auf der Festplatte zu extrahieren, bevor sie aus dem Grundprogramm gespeichert werden.
alle Versuche unternommen, die Weiterentwicklung der Lispe zu vermeiden, wenn nicht nach der Ausführung des Grunds, waren nutzlos.
Weiß irgendjemand davon?
Danke.
Ich versuche, einen Code zu schreiben, der die Verwendung externer Programme in Lisp vorsieht:
Code:
(defunc c: referral (/ zweite Zeile Referenz und Flagcontrol txt1 txt2 lungnomebase name base lung cxbb cybb czbb stringa1 and1 notax station)
(falls)
(Progn)
(startapp "c:\autocadsupporto\liberty\rif.exe "c:\autocadsupport\\\liberty\\rif.tkn")
(Auszug)
)
)
(setq fc1 (findfile "c:\\\\\autocadsupport\\\\\datirilievo.dat"))
(falls fc)
(vl-file-delete "c:\\autocadsupport\dati\datirilievo.dat")
)
(setq fc2 (findfile "c:\\\autocadsupporto\dati\\resposta.dat"))
(falls fc)
(vl-file-delete "c:\\autocadsupport\\dati\resposta.dat")
)
(setq fc3 (findfile "c:\\\\\autocadsupporto\\note\\\\\\\\\\nota.dat"))
(falls fc)
(vl-file-delete "c:\\\autocadsupport\\\note\\\nota.dat")
)
(falls)
(Alert "die Referenzlinie wurde bereits eingefügt")
)
(startapp "c:\\autocadsupport\\\liberty\\datigps.exe "c:\\autocadsupport\\\\\\\datigps.tkn")
(Sectq und 1 nil)
(sing)
(= ed1 nil)
(setq ed1 (entsel "\nselect the reference line : ")))
)
(Sects flagged nil)
(while)
(seq markiert (findfile "c:\\\\\autocadsupporto\dati\\\datirilievo.dat"))
)
(wenn es markiert ist)
(Progn)
(setq fp3 (open "c:\\\autocadsupport\\\dati\datirilievo.dat" "r"))
(setq aktuelles Datum (read-line fp3))
(setq jetzt (read-line fp3))
(setq pdop (read-line fp3))
(Schließe fp)
)
)
(setq ed1 (entget (car ed1))
(setq txt1 (cdr 1 ed1)
(setq txt2 (cdr 10 ed1)
(setq lung (strlen txt1)
(- Lunge 77)
(Setq Basisname (substr txt1 1 lungnomebase))
(setq station nil)
(setq notax nil)
(startapp "c:\autocadsupporto\liberty\\stazione.exe "c:\\autocadsupport\\\liberty\\stazione.tkn")
(Sectq Flagcontrol nil)
(while)
(setq flagcontrol (findfile "c:\\\\\autocadsupporto\\note\\\\\\\nota.dat"))
)
(wenn Flagcontrol
(Progn)
(princ "\n")
(setq fp2 (open "c:\\\\\\autocadsupporto\note\\\\nota.dat" "r"))
(setq station (readline fp2))
(setq notax (read line fp2))
(Schließe fp)
)
)
(setq pos1 (- (strlen txt1) 58)
(setq xyz (substr txt1 pos1 34)
(Setq cxb (substr xyz 1 11)
(setq cyb (substr xyz 13 10)
(setq czb (substr xyz 24 11)
(setq cxbb (atof cxb))
(setq cybb (atof cyb))
(setq czbb)
(setq note2 (strcat name puntobase " - " notax " - " station))
(setq Referenz (strcat "1|" Station "0.000" xyz "0.0000,000| wgs84-rtf2000] " nota2 "")")
(setq secondlinea (strcat "6|l1|" heute Datum "-" jetzt "rtrtk|pdop=" pdop "")")
(sing)
(und (/= re "s") (/= re "n")
(s/n)
(setq re (getstring)
(seq re (strcase re)
)
(falls)
(Progn)
(setq fp1 (open "c:\\\autocadsupport\\\\librettopregeo.dat" "a"))
(Referenz der Schreibzeile fp1)
(writing line secondline fp1)
(Schließe fp)
(Start "c:\\autocadsupporto\liberty\ok.exe "c:\autocadsupport\\liberty\\ok.tkn")
(Sectq Referenz nil)
(zweite Zeile nil)
)
)
(falls)
(startapp "c:\\autocadsupporto\\liberty\no.exe "c:\autocadsupport\\\liberty\\\no.tkn")
)
(setq ind)
(setq index(strcat ind nomepuntobase))
(seq primariga) 1)
Ende
Ich werde es erklären.
Ich benutze Masken, die in einer Art visuellen Basis für Eingabe und Datenspeicher geschrieben werden, die Daten müssen dann von der Lisp gelesen werden, um fortzufahren.
Ich habe den Eindruck, dass die Datei, um die Daten auf der Festplatte zu extrahieren, bevor sie aus dem Grundprogramm gespeichert werden.
alle Versuche unternommen, die Weiterentwicklung der Lispe zu vermeiden, wenn nicht nach der Ausführung des Grunds, waren nutzlos.
Weiß irgendjemand davon?
Danke.