|
CoCreate Programmierung : LISP: Verzeichnis mittels Filedialog auswählen
holt am 23.04.2010 um 07:30 Uhr (0)
Hallo!An Walters Vorschlag habe ich auch schon gedacht, die Bedienung ist halt nicht ganz rund. Zitat:Zitat von clausb::value-type :DirectoryLesen sollte man können! (RTFM) Genau das was ich gesucht habe. Nur ein paar Zeilen tiefer. Mit einem kleinen Manko:Es ist offensichtlich nicht möglich ein Vorgabeverzeichnis anzugeben. Bei jeder Aktivierung ist der Dialog wieder am Desktop.Der Parameter :initialdirectory wie bei :value-type :filename zeigt leider keine Wirkung.Liegt wohl an der Art des Dialogs wie er ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: Verzeichnis mittels Filedialog auswählen
der_Wolfgang am 23.04.2010 um 20:41 Uhr (0)
im after-initialiation: old.work.dir = sd-get-current-working-directory sd-set-current-working-directory (initial-dir)im :cleanup sd-set-current-working-directory (old.work.dir)so mal einfach laut gedacht.------------------ Seamonkey Firefox Thunderbird OSD Hilfeseite (de) / help page (en) NotePad++
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: Verzeichnis mittels Filedialog auswählen
holt am 26.04.2010 um 07:37 Uhr (0)
Hallo Wolfgang,ich habe deine Schreibweise mal in LISP-Syntax umgeschrieben, habe mir allerdings nicht viel davon versprochen. Grund:Das Current-Directory war vorher schon nicht der Desktop, der Dialog steht beim Öffnen aber wieder am Desktop.Leider hatte ich recht.Netter Versuch!------------------Gruß aus dem SalzkammergutThomas[Diese Nachricht wurde von holt am 26. Apr. 2010 editiert.]
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : sd-add-menu-button
chris-as am 26.04.2010 um 09:16 Uhr (0)
Hallo Wolfgang,Dein Tipp hat mich auf die richtige Spur gebracht.Mit :buttons (("B2" :label "test5" ushAction (ui_test_5))))klappt es jetzt. Ein kleiner "Schönheitsfehler" bringt mich aber zum verzweifeln. Obwohl in der Hilfe steht ushAction {LISP form} This form will be executed if the user clicks this button. wird die Funktion nicht sofort ausgeführt sondern erst nach einem "Klick" in das Darstellungsfenster.Hast Du da noch einen Tipp?Dankechris-as
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
DieGraetsche am 26.04.2010 um 14:56 Uhr (0)
Hallo zusammen,Ich habe mir heute den neuen OneSpace (V17.00) von der PTC-Seite geladen.Beim testen meiner LISP-Funktionen (mit V16.00 erstellt) ist mir nun aufgefallen, dass nicht mehr alle Funktionen sauber funktionieren! Sehr schlecht.Beim Versuch auf die Funktion "identify-cluster-by-sysid" zuzugreifen, erhalte ich den Fehler (siehe screenshot), das die Funktion undefiniert ist.Ich habe den OneSpace gestartet und dann in der Commandline folgende zeilen eingegeben1. (display (use-package :MEI)) = T2. (d ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
Michael Kahle am 26.04.2010 um 18:44 Uhr (0)
So halbwegs sicher sind eigentlich immer nur dokumentierte Funktionen im OLI-package, alle anderen koennen dem Fortschritt zum Opfer fallen..Recht maechtig ist auch die Lisp-Funktion apropos, z.B.(apropos identify-cluster) (-- gibt nichts) oder(apropos by-sysid) (-- gibt sd-inq-clusters-by-sysid)Keine Ahnung wie offiziell (dokumentiert) und bestaendig diese ist (weil ja kein OLI davor steht), aber koennte sein, das dies die vermisste Funktion ist.------------------Viele Gruesse, Michael - http://www. ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
DieGraetsche am 27.04.2010 um 09:47 Uhr (0)
Besten dank erst mal für eure Antworten.Ich habe mal den Tip von Patrick gemacht. - Die Datei wurde super erstellt.Die Funktion SD-IDENTIFY-CLUSTER-BY-SYSID gibt es auch im OSDM 17.Ich habe folgendes ausgeführt.Code: (setf pStartObj "/p1") (setf pObj (oli::sd-pathname-to-obj pStartObj)) (setf MySysId (oli::sd-inq-obj-contents-sysid pObj)) (setf myobj (OLI::SD-INQ-CLUSTERS-BY-SYSID MySysId)) (cond ((NOT myobj) ) (T (oli::sd-display-message "jetzt den Filename auslesen!") (display (oli::I ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
Patrick Weber am 26.04.2010 um 17:17 Uhr (0)
Information? Nein.Vermutung? Ja.Versuche mal SD-IDENTIFY-CLUSTER-BY-SYSID aus dem #FRAME2 package.Oder exportiere alle aktuell verfügbaren Symbole in eine Datei und suche darin nach identify-cluster o.ä.Einfach Copy&Paste ins ModelingCode:(let* (s p file-stream (lst ()) (foo-all-packages (list-all-packages))) (dolist (p foo-all-packages) (push (format nil "~a" p) lst) (do-symbols (s p) (push s lst)) ) (setf file-stream (open "c://symbole.txt" :direction :output)) (dolist (a (reverse lst)) (f ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
clausb am 27.04.2010 um 14:38 Uhr (0)
Ohne Kenntnis der beteiligten Funktionen interpretiere ich einfach mal nur die Fehlermeldung: Die aufgerufene Funktion (inquire-cluster-filename, nehme ich an) erwartet ein Argument vom Typ DSM::SIMPLE-ENTITY Stattdessen lieferst Du eine Liste von Objekten des Typs SIMPLE-ENTITY------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
DieGraetsche am 27.04.2010 um 15:36 Uhr (0)
Hallo Claus,Besten dank für deine Antwort.Ok das habe ich verstanden. Ich habe mal die Funktion (setf myobj (OLI::SD-INQ-CLUSTERS-BY-SYSID MySysId))durch (setf myobj (OLI::SD-IDENTIFY-CLUSTER-BY-SYSID MySysId))getauscht.Leider sagt mir hier der OneSpace nun, das diese Funktion nicht definiert ist. Wie kann das sein? Ich habe extra die Sysmbol.txt aus dem Eintrag von Patrick Weber mit der Version 17 erzeugt. Hier ist auch noch die Funktion SD-IDENTIFY-CLUSTER-BY-SYSID drin.Benutzen kann ich diese aber nicht ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
clausb am 27.04.2010 um 17:14 Uhr (0)
Zitat:Original erstellt von DieGraetsche:Leider sagt mir hier der OneSpace nun, das diese Funktion nicht definiert ist. Wie kann das sein? Wird halt dran liegen, dass es die Funktion nicht gibt. Zumindest nicht im Package OLI.------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
Patrick Weber am 27.04.2010 um 19:10 Uhr (0)
Zitat:Original erstellt von DieGraetsche:Ich habe extra die Sysmbol.txt aus dem Eintrag von Patrick Weber mit der Version 17 erzeugt. Hier ist auch noch die Funktion SD-IDENTIFY-CLUSTER-BY-SYSID drin.Nach Auffinden der "Funktion" (des Symbols), suchst du rückwärts nach dem Sharp-Zeichen "#". In diesem Package ist die gesuchte "Funktion" enthalten.Beispiel aus v16:Code:#FRAME2 package...IDENTIFY-CLUSTER-BY-SYSID...SD-IDENTIFY-CLUSTER-BY-EID...SD-IDENTIFY-CLUSTER-BY-SYSID...#xyz package------------------Grü ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: CoCreate Modeling V17.00; Package MEI
DieGraetsche am 28.04.2010 um 09:17 Uhr (0)
Hallo Patrick,Ich habe in der Symbol.txt gesucht. Habe die Funktion: SD-IDENTIFY-CLUSTER-BY-SYSIDIn den Packages #COMMON-LISP-USER package und #OLI package gefunden.Ich habe auch mal die symbol.txt angehängt. vielleicht übersehe ich noch was.Danke und Gruß,Die Graetsche
|
In das Form CoCreate Programmierung wechseln |