(in-package :foobar) (use-package :oli) (sd-defdialog 'am-sortieren :dialog-title "Testmakro Sortieren" :variables '( ("Zielpunkt") (Zielpunkt :value-type :docupoint :toggle-value-type :defundef) ("Eingabe") (Zahl_1 :value-type :distance :title "Zahl 1" :Prompt-text "1. Zahl angeben." :initial-value 0) (Zahl_2 :value-type :distance :title "Zahl 2" :Prompt-text "2. Zahl angeben." :initial-value 0) (Zahl_3 :value-type :distance :title "Zahl 3" :Prompt-text "3. Zahl angeben." :initial-value 0) (Zahl_4 :value-type :distance :title "Zahl 4" :Prompt-text "4. Zahl angeben." :initial-value 0) (Zahl_5 :value-type :distance :title "Zahl 5" :Prompt-text "5. Zahl angeben." :initial-value 0) (Zahl_6 :value-type :distance :title "Zahl 6" :Prompt-text "6. Zahl angeben." :initial-value 0) (Zahl_7 :value-type :distance :title "Zahl 7" :Prompt-text "7. Zahl angeben." :initial-value 0) (Zahl_8 :value-type :distance :title "Zahl 8" :Prompt-text "8. Zahl angeben." :initial-value 0) (Zahl_9 :value-type :distance :title "Zahl 9" :Prompt-text "9. Zahl angeben." :initial-value 0) (Zahl_10 :value-type :distance :title "Zahl 10" :Prompt-text "10. Zahl angeben." :initial-value 0) );variables :local-functions '((sort-input() (delete 0 (stable-sort (list Zahl_1 Zahl_2 Zahl_3 Zahl_4 Zahl_5 Zahl_6 Zahl_7 Zahl_8 Zahl_9 Zahl_10) #'< ))) (create-sketch() (sd-am-create-sketch :name "Sortieren" :position Zielpunkt :owner_type :current-sheet) ) (create-tableheader() ) (write-table-row(row number) "Write number into table row" (display (format nil "Writing ~A to row ~A~%" number row)) ) ) :Ok-action '(progn (create-sketch) (create-tableheader) (let ((row 1)) (dolist (number (sort-input)) (write-table-row row number) (incf row))) );progn );sd-def