• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Finden Sie die Liste aller Systemvariablen, um sie zu speichern / sie am Eingang / Ausgang eines Lisps wiederherstellen

  • Ersteller Ersteller x11start
  • Erstellt am Erstellt am

x11start

Guest
jetzt seit vielen Jahren in meiner Liste, Ich benutze 2 einfache Funktionen: Modi und Modi
... und b_err verwenden, um die plötzlichen "Ausgänge" aus der Funktion zu verwalten, vielleicht mit dem esc-Schlüssel.
;
---------------------------------------------------------------------------------------------------------------
; Umgebungsvariableneingabe
---------------------------------------------------------------------------------------------------------------
(defun modes (a)
(Setq mlst()
(Länge a)
(Setq mlst (Append mlst (list (car a) (getvar (car a))))))))
(Satz a)
)
)
---------------------------------------------------------------------------------------------------------------
; wiederherstellt Umgebungsvariablen
---------------------------------------------------------------------------------------------------------------
(defun moder)
(Länge ml)
(Setvar (caar mlst) (cadar mlst)
(Setq mlst)
)
)
;---------------------------------------------------------------------------------------------------------------------------------------------------
; Fehlerhandler (Fehlermanagement)
;---------------------------------------------------------------------------------------------------------------------------------------------------
(defun b_err (st)
(moder) ; wiederherstellt gespeicherte Variablen
(setq *error* älterr; wiederherstellen alter *error* Handler

;;; Fügen Sie hier andere Systemvariablen oder Befehle vor dem Ausgang zu laufen

(princ)
)

Diese Funktionen ermöglichen es mir, eine Liste von eingehenden Systemvariablen zu speichern:
;
(Modi '("osmode" "orthomode" "limcheck" "cmdecho" "clayer" "attdia")
;

... und dann den Wert zum Ausgang wiederherstellen:
;
(moder)
;

aber meine Absicht wäre es, es mit allen Variablen zu tun!
Dies würde mir erlauben, keine Probleme mehr zu haben, wenn die Lispe auf besonders "exotischen" Konfigurationen verwendet wurde (!):

Ich lancierte vor kurzem meine Lispe perfekt arbeiten, auf dem PC meines Freundes und das Ergebnis war nicht derjenige, der wollte: er verwendet Null nach oben und stündliche Rotation statt gegen den Uhrzeigersinn.
alles gelöst durch die Erinnerung und Wiederherstellung (mit Moden und Moder) der Angbase und Angdir Variablen... aber wenn ich alle Variablen gerettet hätte, hätte es alles von Anfang an funktioniert!

Nach dieser langen Prämisse ist meine Frage: Gibt es eine Möglichkeit, die Liste der Systemvariablen zu extrahieren?

Ich nehme an, es ist notwendig, mit tblsearch etc. zu rüsten. ... und ich muss sagen, ich kann nicht viel tun!
Bitte helfen Sie dem Forum!
 
Danke... Das kann ein Anfang sein.... aber ich werde versuchen, eine Lippe zu finden, aus der nur der Teil des Codes, den ich brauche, extrahiert wird.
Dank für die Antwort.
 
Ich fand eine Datei im Internet: einmal geladen (kann durch das Laden der Last von einer anderen lisp), Sie müssen die Variablen mit (savev) speichern, dann am Ausgang sie wiederherstellen (restorev).
wir sagen, dass es eine Lösung ist vielleicht ein wenig "Grace", da die Variablen ausdrücklich in der Liste aufgeführt sind und nicht "Käufung" mit einigen "magischen" Methode tblsearch..
Dies bedeutet, dass, wenn wir beabsichtigen, diese Lippe auf gstarcad auf zwcad oder progecad zu drehen, anstatt auf autocad... Sie sollten zuerst einen Modivar und kopieren / einfügen Sie die aufgeführten Variablen (und dann löschen Sie diese in read-only). .
Wie auch immer, es scheint wie eine interessante Lösung!
 

Anhänge

Hallo alle
Ich entwerfe mein Problem, nach einer langen Zeit schreibe ich eine lisp Routine und ich vergaß, welche Tasten Sie auf der Tastatur eingeben müssen, um die Programmvariablen auf der Befehlszeile anzeigen zu können.
Danke.
 
tblsearch zeigt nicht die Liste der Systemvariablen.
Das ist die Gliederung die die verschiedenen Tabellen auflisten.
Meiner Meinung nach ist die Erinnerung an alle Variablen der falsche Weg, es liegt an Ihnen, die Arbeitsumgebung vorzubereiten, um sicherzustellen, dass Ihr Programm immer mit den gleichen Ergebnissen dreht, eingestellt, was Sie brauchen, verfolgen Sie die Änderungen und wenn es der Fall ist, dass es die Änderungen wiederherstellt.
das veröffentlichte Beispiel ist einer der Fälle, die Sie drängen können, um das Programm zu verbessern und die Korrektur auf andere zu erweitern, ohne auf extreme Mittel zurückgreifen zu müssen, die die Verwaltung von Hunderten von Variablen beinhalten.

Hi.
 
Hallo alle
Ich entwerfe mein Problem, nach einer langen Zeit schreibe ich eine lisp Routine und ich vergaß, welche Tasten Sie auf der Tastatur eingeben müssen, um die Programmvariablen auf der Befehlszeile anzeigen zu können.
Danke.
Sie müssen den Ausrufpunkt vor die Variable setzen.

z.B. nach einem (setq pippo "ciao")

um den Pip-Wert zu sehen, den Sie auf der Kommandozeile schreiben müssen....

!
 
rpor66 Sie sind perfekt richtig... aber meine erste Frage war, dass ich gezwungen war, schnell Lösungen zu finden, um Lisp auf Software (gstarcad anstelle von autocad) und in einem Unternehmen anders als das, in dem es Jahre zuvor getan wurde...
jetzt, da die Notsituation zurückgekehrt ist... Ich erkannte, dass es vielleicht besser ist, die einzelne Variable einzuführen, als Lösungen zu finden, die die Lispe unnötig verlangsamen würden.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben