(in-package :examples) (use-package :oli) (sd-defdialog 'mehrfachtextaenderung :dialog-title "MehrfachtextÌnderung" :toolbox-button t ;; oder nil.. das ist geschmacksache. ;-) :variables '((textstring :value-type :string :title "String" :prompt-text "Neuen Text eingeben." :initial-value nil :size :third ) (texte :selection *sd-anno-text-seltype* :multiple-items t :title "Text(e)" :prompt-text "Text(e) anklicken." :size :third :after-input (progn (text-aendern texte) ) ) ) :local-functions '((text-aendern (textliste) (let (text textpunkt) (progn (dolist (text textliste) (progn (setf textpunkt (sd-execute-annotator-function :fnc (format nil "~a ~a ~a ~a ~a ~a ~a" "INQ_SELECTED_ELEM GLOBAL TEXTS" (sd-get-annotator-position :object text) "let punkt (STR (INQ 101))" "let punkt_s (DOCU_CSTRING_TO_LSTRING punkt)" "(DOCU_OPEN_CONNECTION_TO_SD)" "(DOCU_ADD_LINE_TO_SD punkt_s)" "(DOCU_CLOSE_CONNECTION_TO_SD)" ) ) ) (sd-execute-annotator-command :cmd (format nil "~a ~s ~a ~a ~a" "CHANGE_TEXT" textstring "GLOBAL" textpunkt "END" ) ) ) ) (setf texte nil) ) ) ) ) :cancel-action '(sd-execute-annotator-command :cmd "END") :cleanup-action '(sd-execute-annotator-command :cmd "END") )