|
Programmierung : Liste in LISP sortieren
clausb am 11.07.2007 um 18:35 Uhr (0)
Das weiss ich jetzt nicht auswendig, aber ich nehme mal an, dass ein :docupoint eine Struktur von Typ gpnt2d ist. Wenn dem so ist, dann gelten dafür die ganz allgemeinen Regeln für Strukturen jedweder Art in Lisp: Für jeden "Slot" in der Struktur werden automatisch Zugriffsfunktionen erzeugt, deren Namen sich aus dem Strukturnamen und dem Slotnamen zusammensetzt. Die Zugriffsfunktion für die x-Koordinate in einer gpnt2d-Struktur heisst dann also "gpnt2d_x". Erzeugt wird eine Struktur immer mit "make-strukt ...
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
der_Wolfgang am 11.07.2007 um 17:10 Uhr (0)
noxx,wenn Du im Abschnitt :local-functions deines Dialogs die Funktion create-tableheader definierst, *SO* wie in Deinem letzten posting geschrieben, hast Du genau da einen syntax fehler eingebaut.Guck Dir noch mal **genau** an wie die stelle aussieht in der Vorlage die Claus erstellt hast......................immer noch nix gesehen????ok.. in mimimaler Ergaenzung der Clausschen Vorlage:Code:....(create-tableheader() (pprint "mach mir den header") )....----------------------------------noch ein TIP:fuer de ...
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
noxx am 11.07.2007 um 17:55 Uhr (0)
Sorry, aber ich probiert nun schon alles, aber immer kommt ne andere Fehlermeldung Auch finde ich Null Infos wie aus dem :docupoint (Zielpunkt) die Koordinaten X+Y bekomme.Wills ja gerne lernen, aber die Hilfe in OSD ist leider nicht die besteCode:(create-tableheader()(sd-am-create-geo-straight:rectangle (gpnt2d ((Zielpunkt) (Zielpunkt) (+ Zielpunkt 100) (+ Zielpunkt -10))):Owner_type sketch:Owner "Sortieren"))
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
der_Wolfgang am 11.07.2007 um 20:37 Uhr (0)
Ein :docupoint ist kein gpnt2d.Ein kleiner dialog zeigt ganz fix mit einem pprint, was dahinter steckt:Code:(oli::sd-defdialog a_am_point :variables ((punkt :value-type :docupoint :after-input (pprint punkt))))Ein :docupoint ist kein gpnt2d, sondern also ein GPNTDOCU.Und damit die Lernkurve nicht zu sehr abflacht ;-p, kannst Du jetzt herausfinden wie das so mit Strukuren denn so ist.. ... Eine vorhandene OSDModeling Dokumentation, die von "OneSpace Designer Integration Kit - Concepts and Tutorials" verlin ...
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
JC Wasti am 23.02.2007 um 11:53 Uhr (0)
Hallo Zusammen,folgendes Problem:Ich hab ne Liste und möchte die sortieren, und zwar zuerst nach der Spalte5 und dann nach Spalte1!Die Liste sieht folgendermaßen aus:( (name01 1 A0 1:1 1) (name01 1 A0 1:1 2.1) (name01 2 A0 1:1 5) (name01 2 A0 1:1 10.1) (name01 2 A0 1:1 15.A) (name01 2 A0 1:1 17) (name01 2 A0 1:1 17.1) (name01 2 A0 1:1 18) (name01 2 A0 1:1 18.A) (name01 2 A0 1:1 18.Z) (name01 2 A0 1:1 18.AA) (name05 1 A4 1:2 1) (name05 1 A4 1:2 3) (name05 1 A4 1:2 10) (name07 2 A3 1:5 A) (name07 2 A3 1:5 A. ...
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
clausb am 12.07.2007 um 10:15 Uhr (0)
Die Fehlermeldung sagt es schon recht klar: Im Package "FOOBAR" (in dem offenbar Dein Testcode implementiert ist) gibt es keine Funktion namens "gpntdocu_x". Es fehlt vermutlich ein geeignetes (use-package). In welchem Package gpntdocu_x definiert ist, weiss ich gerade nicht auswendig, aber vielleicht kann Wolfgang helfen.Eine huebsche Einfuehrung zu Packages in Common Lisp findest Du unter http://www.flownet.com/gat/packages.pdf Claus------------------CoCreate OneSpace Modeling FAQ: http://www.clausbrod. ...
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
noxx am 12.07.2007 um 14:15 Uhr (0)
Ich gebe es erst mal auf. Die Hilfe von OSD bringt einem kein Stück weiter Laut Beispiel in dem Int-Kit soll schon dieser Befehl zu einem Erfolg (!) führen:(sd-am-create-geo-straight :2pos (list 0,0 100,100) :Owner_type :current-frame)Stattdessen kommt es nur zu einer weiteren Fehlermeldung:Unzulässiger Aufruf ein AktionsroutineWenn das schon so kompliziert ist ein einfaches Rechteck zu zeichnen, dann sollte ich wohl die Finger erstmal davon lassen Gruss und danke nochmal
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
Walter Geppert am 12.07.2007 um 14:10 Uhr (0)
Zitat:Original erstellt von der_Wolfgang:Eine vorhandene OSDModeling Dokumentation, die von "OneSpace Designer Integration Kit - Concepts and Tutorials" verlinkt ist, befasst sich *auch* mit dem Dialoggenerator und picks im Annotation, und deren Bestandteile.Eine hervorragend diplomatische Variante von RTFM ------------------meine LISP-Makros sind auf osd.cad.deGrüße aus Wien WalterDC4 Technisches Büro GmbH
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
clausb am 12.07.2007 um 14:50 Uhr (0)
Der "unzulaessige Aufruf" bedeutet meist, dass ein sd-call-cmds zuwenig oder zuviel im Spiel ist.Sieht so aus, als koennte man diese Funktion nur innerhalb eines Dialogs verwenden. Sehr unschoen. Ich habe das intern als Fehler gemeldet (es sollte wohl wenigstens in der Doku vermerkt werden). Danke fuer die Meldung.Claus------------------CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/[Diese Nachricht wurde von clausb am 12. Jul. 2007 editiert.]
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
der_Wolfgang am 13.07.2007 um 00:04 Uhr (0)
Zitat:Original erstellt von noxx:Ich gebe es erst mal auf. Die Hilfe von OSD bringt einem kein Stück weiter replace "einem" by "dich im Moment". Du rumpelst im Moment an zu vielen Ecken und es fehlen doch ein etwas mehr Kenntnisse als Du vielleicht momentan aus Dir herauswringen kannst. IMvHO versucht Du es im moment etwas mit der Brechstange. Das geht nicht gut. Claus hat Dir schon hinweise auf "Literatur" geliefert. Zitat:Laut Beispiel in dem Int-Kit soll schon dieser Befehl zu einem Erfolg (!) führen ...
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
der_Wolfgang am 13.07.2007 um 00:08 Uhr (0)
Jetzt habe ich doch noch was vergessen.. Bei der docu zu oli::sd-am-create-geo-straight wird auf ein 80 zeiliges Beispiel verwiesen, hast du das mal in Ruhe seziert?------------------Seamonkey Firefox Thunderbird Seamonkey auf deutsch
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
noxx am 29.06.2007 um 11:59 Uhr (0)
Muss das hier leider nochmal vorholen, weil ich es immer noch nicht hinbekommen habe:Beschreibe die Funtion mal etwas genauer:Ich habe mir ein LISP gebastelt, welches mir ein Menü in der Hauptleiste anlegt (siehe Bild).Hier gebe ich Zahlen in unterschiedlicher Reihenfolge ein (Varibalen sind Zahl_1 bis Zahl_20), einige bleiben "0" (wie auch im Bild)Mit diesen eingegebenen Zahlen muss ich später etwas rechnen (z.B Ergebnis_1 = Zahl_1 * PI)Wenn ich das nun so durchrappeln lass, sind natürlich die Ergebnisse ...
|
In das Form Programmierung wechseln |
|
Programmierung : Liste in LISP sortieren
noxx am 02.07.2007 um 17:16 Uhr (0)
Habe hier mal ein kleines Lisp zum testen gebastelt, vielleicht kann das einer ja editieren, dass es so ist, wie ich es wollte.Also, wenn man zB folgendes eingibt:Zahl_1: 2Zahl_2: 4Zahl_3: 1Zahl_4: 7Zahl_5: 3 den Rest 0soll am Ende diese Folge rauskommen1234700000Code:(sd-defdialog am-sortieren :dialog-title "Testmakro Sortieren" :variables ( ("Eingabe") (Zahl_1 :value-type :distance :title "Zahl 1" :Prompt-text "1. Zahl angeben." :initial-value 0) (Zahl_2 :value-type :distance :ti ...
|
In das Form Programmierung wechseln |