|
Programmierung : Nummer in den Speicher mit lisp
SOLID-master am 01.11.2006 um 15:52 Uhr (0)
erst einmal danke für die antworten.folgende situation:ich möchte beim konstruieren mir keine gedanken um den name des teiles machen.beispiel:so bald ich ein neues teil erstellen muss, wird einfach der nameaus "clipboard" per "strg-v" oder "5-tastenmaus" eingefügt. schon istein teil angelegt.am besten wäre es natürlich wenn im hintergrund ein generator läuftund mir dann die nummer zum passenden zeitpunkt liefert.dass ist der hintergrund meiner ganzen aufgabenstellung
|
In das Form Programmierung wechseln |
|
Programmierung : Nummer in den Speicher mit lisp
Hartmuth am 01.11.2006 um 11:21 Uhr (0)
Du kannst dir den für Modeling verfügbaren Arbeitsspeicher mit dem Befehl(UI::UIC-SHOW-MEMORY-USAGE)im Ausgabefenster anzeigen lassen.Wie man ihn allerdings von dort anderes als über manuelles Copy&Paste in die Zwischenablage bringt kann ich dir leider auch nicht sagen.------------------GrüßeHartmuth
|
In das Form Programmierung wechseln |
|
Programmierung : Nummer in den Speicher mit lisp
clausb am 01.11.2006 um 12:10 Uhr (0)
Vor einiger Zeit habe ich in meinem Blog einiges ueber Clipboard-Handling geschrieben. Resultat waren unter anderem zwei Kommandozeilenwerkzeuge, mit denen man den Inhalt des Clipboards lesen und setzen kann - siehe http://www.clausbrod.de/Blog/BlogOnSoftware20060415 Wenn man eines dieser Tools (FileToClipboard) einsetzt, kann man wie folgt zum Ziel kommen: Gewuenschte Speicherinformation in Lisp ermitteln Diese Information als Text in eine Datei schreiben Mittels oli:sd-sys-exec das Tool FileToClipboard a ...
|
In das Form Programmierung wechseln |
|
Programmierung : Aktion für Teilegruppen in Browser-Popup-Menü einfügen
holt am 10.08.2006 um 14:22 Uhr (0)
Hallo,ich stehe wieder einmal vor einem Lisp Problem:ich möchte bei Rechtsklick auf ein Teilgruppen-Feature im Browser eine Aktion starten (die es in V13 noch gab, in V14 jedoch nicht mehr).1. Problem: die Aktion soll nur bei Teilegruppen-Features sichtbar sein. Wie muss ich die is-visible-Funktion erweitern/verändern? (defun is-visible (obj name) (if obj (sd-string-match-pattern-p "*:FEATURE*" (BrowserNode-objPath obj)) nil ))Mit der Funktion sd-cust-feat-inq-props komme ich da nicht ans Ziel, da Browse ...
|
In das Form Programmierung wechseln |
|
Programmierung : Aktion für Teilegruppen in Browser-Popup-Menü einfügen
clausb am 14.12.2006 um 07:43 Uhr (0)
Das folgende Muster faellt mir in Lisp-Code, der hier im Forum diskutiert wird, sehr oft auf:Code: (if some-condition (progn (bla) (fasel) ) ;; else nil )Tipp: Das kann man in Lisp gleichwertig, kuerzer und viel eleganter so schreiben:Code: (when some-condition (bla) (fasel))Wenn man diesen Tipp beherzigt und ausserdem noch die globalen Variablen aus dem Codebeispiel unter Punkt (1) entfernt, bekommt man die folgende, deutlich kuerzere Variante (die dann auch nicht mehr aussieht wie Visual Ba ...
|
In das Form Programmierung wechseln |
|
Programmierung : Aktion für Teilegruppen in Browser-Popup-Menü einfügen
clausb am 14.12.2006 um 08:36 Uhr (0)
In diesem Fall sind die Klammern keine Stilfrage, sondern entscheidend dafuer, wie sich der Code verhaelt:Code: (let ((foobla 42))) (print foobla) ;; Lisp-Fehler!"foobla" ist nur innerhalb des let-Blocks definiert. Benutzt man es ausserhalb, ist es nicht definiert, es sei denn, es gibt eine Variable gleichen Namens in einem umschliessenden Block oder als globale Variable. Also: Lisp-Fehler zur Laufzeit.Meistens will man also eher dieses:Code: (let ((foobla 42)) (print foobla)) ;; gibt 42 ausClaus--------- ...
|
In das Form Programmierung wechseln |
|
Programmierung : Aktion für Teilegruppen in Browser-Popup-Menü einfügen
holt am 14.12.2006 um 08:57 Uhr (0)
Zitat:Original erstellt von clausb:(let ((foobla 42))) (print foobla) ;; Lisp-Fehler!Warum funktioniert das dann in local-functions von Dialogen?------------------Gruß aus dem SalzkammergutThomas Hollerweger
|
In das Form Programmierung wechseln |
|
Programmierung : Aktion für Teilegruppen in Browser-Popup-Menü einfügen
clausb am 14.12.2006 um 10:36 Uhr (0)
Danke fuer das Beispiel.Code: :local-functions ( (testfun () (let (testvar)) (setf testvar 42) (display testvar) ) );local-functionsAuch hier gilt das, was ich schon gesagt habe. Du bekommst nur deswegen keinen Lisp-Fehler, weil (setf) eine neue globale (!) Variable namens "testvar" anlegt, wenn es kein gleichnamiges lokales Symbol findet.Zur Verifikation probiere mal folgende Variante:Code: :local-functions ( (testfun () (let (my-testvar 42)) (display my-testvar) ) );local-functio ...
|
In das Form Programmierung wechseln |
|
Programmierung : Mitdokomentieren einer lsp Datei
clausb am 20.12.2006 um 10:04 Uhr (0)
Zwei Hilfsmittel: (trace) - siehe http://alu.org/HyperSpec/Body/mac_tracecm_untrace.html Der Lisp-DebuggerDer Lisp-Debugger ist normalerweise ausgeschaltet, man kann ihn aber wie folgt aktivieren:Code: (setf si::*enter-break-handler* t)Siehe auch das Dokument "Debugging" in der Onlinehilfe zum Integration Kit.[Diese Nachricht wurde von clausb am 20. Dez. 2006 editiert.]
|
In das Form Programmierung wechseln |
|
Programmierung : Mitdokomentieren einer lsp Datei
clausb am 21.12.2006 um 11:58 Uhr (0)
Mehr zum Thema "Debugging in Lisp" findet Ihr jetzt auf den FAQ-Seiten unter http://www.clausbrod.de/Osdm/OsdmFaqLisp#EnableDebugger - zum Beispiel wird dort auch erklaert, wie man in Lisp Breakpoints setzt.Claus------------------CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/
|
In das Form Programmierung wechseln |
|
Programmierung : Mitdokomentieren einer lsp Datei
Walter Geppert am 21.12.2006 um 10:16 Uhr (0)
Ein primitiver aber ganz wirksamer Weg ist es auch, an den verdächtigen Stellen z.B. (display (format nil "Variable X=~a" x)) einzubauen. Da sieht man erstens, wie weit das Programm noch kommt und hat gleich die Kontrolle, ob auch was vernünftiges dabei rauskommen würde. Wenn dann alles geklappt hat, kommentier ich die Zeilen aus oder schmeiss sie ganz raus------------------meine LISP-Makros sind auf osd.cad.deGrüße aus Wien WalterDC4 Technisches Büro GmbH
|
In das Form Programmierung wechseln |
|
Programmierung : LISP: #J durch Newline ersetzen
holt am 21.12.2006 um 15:02 Uhr (0)
Hallo zusammen,ich möchte einen mehrzeiliger Text aus den eine Datenbankabfrage liefert, in einem Text-Control anzeigen.Der Text wird aus einer logischen Tabekke ausgelesen und enthält bei jedem Zeilenumbruch folgende Zeichen: "#J" und wird genauso im Text-Control (leider ohne die Zeilen tatsächlich umzubrechen) angezeigt.Textbeispiel:St 37-2"#J"Charakteristik : Baustahl"#J#J"Verwendung : Einfache Maschinenbauteile"#J#J"Zusammensetzung : C 0.2, Si 0.35, Mn 0.6, P 0.04, S 0.04"#J"Zerspanbarkeit : Gut"#J"S ...
|
In das Form Programmierung wechseln |
|
Programmierung : ModelManager Abfrage aus LISP
JC Wasti am 11.01.2007 um 14:34 Uhr (0)
Hallo Dieter,genau das hab ich gesucht.Kannst du mir noch sagen wo ich das finde.Eventuell den Hilfepfad o.ä.!Danke schonmal im vorraus.GrußJC Wasti
|
In das Form Programmierung wechseln |