Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Werte aus Dialog in Dialog übertragen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Werte aus Dialog in Dialog übertragen (1705 mal gelesen)
cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 23. Mai. 2013 10:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Bin vom Urlaub zurück und stürze mich auf ein interessantes Thema mit DCL.
Und zwar habe ich einen Dialog, in dem einmal ein Auswahlmöglichkeit von Textblöcken steht und eine Voransicht wo man sieht was in dem Textblock steht.

Soweit kein Problem

Jetzt möchte ich bspw. neue Textblöcke hinzufügen, dazu habe ich einen Add button integriert. Bei Drücken erscheint ein neuer Dialog mit der Abfrage Name Textblock und Textblockvoransicht.

Die neueingegebenen Werte möchte ich das sie gleich in dem vorherigen Dialog angezeigt werden.

Welchen Funktionen kämen dazu in DCL infrage ?

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 23. Mai. 2013 10:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Für Listen: start_list  +  add_list + end_list
sonst : set_tile

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 23. Mai. 2013 12:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich bin soweit gekommen den Dialog aufzubauen, eine vorgegebene Liste als Textblockname und -voransicht einzugeben
Wenn ich jetzt auf den Add-button klicke erscheint zwar die Abfrage für neue Eingabe, allerdings werden die nicht in den Variablen Selection und Preview abgelegt.

Irgendetwas mache ich falsch ?

Code:

(defun c:test ( / file tmp dch return)
  (cond
    (
      (not
        (and (setq file (open (setq tmp (vl-filename-mktemp nil nil ".dcl")) "w"))
          (write-line "
                    CHAN : dialog {label = \"NOTES\";
                          : list_box {label = \"Choose Selection :\";key = \"selections\";height = 12;}
                          : list_box {label = \"Preview :\";key = \"preview\";width = 50;height = 5;}
                          : boxed_row {
                                    : button {key = \"Okay\";label = \" Okay \";is_default = true;}
        : button {key = \"Cancel\";label = \" Cancel \";is_default = false;is_cancel = true;}
        : button {key = \"Add\";label = \" Add \";is_default = false;is_cancel = true;}
        }
      }
                      ADD : dialog {label = \"Add\";
                          : row {
                          : edit_box {key = \"Selection\";label = \"Selection:\";edit_width = 25;height = 1;value = \"\";}
                              }
                          : edit_box {key = \"Preview\";label = \"Preview:\";edit_width = 25;height = 1;value = \"\";}
                          ok_cancel;
                          } "


                      file
                      )
            (not (close file))
            )
        )
      )
    )
 
  ;; Run Dcl menu dialog
  (if (<= (setq dcl_id (load_dialog tmp)) 0)
    (alert "Error loading DCL file.")
    )
  (if (not (new_dialog "CHAN" dcl_id))
    (alert "Error loading  dialog.")
    )
  (princ)
 
 
  ;; function selects tabell
  ;; read in dialog
  (if (null NAMES)
    (setq NAMES (list '("1" "TEST1") '("2" "TEST2") '("3" "TEST3"))) ;testweise
    )
   
  (start_list "selections")
  (mapcar 'add_list (mapcar 'car NAMES))
  (end_list)
  (action_tile "selections" (strcat "(progn (setq SIZ $value)"
                                    "(start_list \"preview\")"
                                    "(mapcar ' add_list (setq txt (cdr (assoc (nth (atoi siz)(mapcar 'car NAMES))NAMES))))"
                                    "(end_list)"
                                    "(mode_tile \"accept\" 2))"
                            )
  )
  (action_tile "Okay" (strcat "(progn "
"(setq txt (car txt))"
"(done_dialog 1))"
                        )
  )
  (action_tile "cancel" "(done_dialog 0)")
 
  (action_tile "Add" (strcat "(if (<= (setq dcl_id (load_dialog tmp)) 0)
                              (alert \"Error loading DCL file.\")
                              )"
                            "(if (not (new_dialog \"ADD\" dcl_id))
                              (alert \"Error loading  dialog.\")
                              )
                            (start_dialog)"
                    )
  )

; hier will ich jetzt erreichen, dass der neue Textblockname eingefügt wird
  (start_list "Selection")
  (add_list "(setq Selection $value)")
  (add_list "(setq Preview $value)")

  (setq res (start_dialog))
  (unload_dialog dcl_id)
 

  (vl-file-delete fname)
  (princ)
  )


------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 23. Mai. 2013 14:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Hallo Dirk,
vielleicht solltest Du erstmal ein bißchen "aufräumen", sieht ziemlich durcheinander aus. In die Action_tile-Anweisungen würde ich (auch wenn es geht) nicht soviel reinpacken, ist unübersichtlich. Als Beispiel habe ich die Funktion "Add" beigepackt, diese wird durch
(action_tile "Add" "(add Siz Names tmp)") aufgerufen, die notwendigen Variablen werden übergeben. In der Funktion werden dann die EditBoxen "Selection" und "Preview" mit Werten gefüllt. Die Funktion kann dann z.B. die sinnvolle Rückgabe des neu eingegebenen Wertes haben.

[code]
(defun c:test ( / file tmp dch return)
  (cond
    (
      (not
        (and (setq file (open (setq tmp (vl-filename-mktemp nil nil ".dcl")) "w"))
          (write-line "
                    CHAN : dialog {label = \"NOTES\";
                          : list_box {label = \"Choose Selection :\";key = \"selections\";height = 12;}
                          : list_box {label = \"Preview :\";key = \"preview\";width = 50;height = 5;}
                          : boxed_row {
                                    : button {key = \"Okay\";label = \" Okay \";is_default = true;}
        : button {key = \"Cancel\";label = \" Cancel \";is_default = false;is_cancel = true;}
        : button {key = \"Add\";label = \" Add \";is_default = false;is_cancel = true;}
        }
      }
                      ADD : dialog {label = \"Add\";
                          : row {
                          : edit_box {key = \"Selection\";label = \"Selection:\";edit_width = 25;height = 1;value = \"\";}
                              }
                          : edit_box {key = \"Preview\";label = \"Preview:\";edit_width = 25;height = 1;value = \"\";}
                          ok_cancel;
                          } "


                      file
                      )
            (not (close file))
            )
        )
      )
    )

  ;; Run Dcl menu dialog
  (if (<= (setq dcl_id (load_dialog tmp)) 0)
    (alert "Error loading DCL file.")
    )
  (if (not (new_dialog "CHAN" dcl_id))
    (alert "Error loading  dialog.")
    )
  (princ)


  ;; function selects tabell
  ;; read in dialog
  (if (null NAMES)
    (setq NAMES (list '("1" "TEST1") '("2" "TEST2") '("3" "TEST3"))) ;testweise
    )
 
  (start_list "selections")
  (mapcar 'add_list (mapcar 'car NAMES))
  (end_list)
  (action_tile "selections" (strcat "(progn (setq SIZ $value)"
                                    "(start_list \"preview\")"
                                    "(mapcar ' add_list (setq txt (cdr (assoc (nth (atoi siz)(mapcar 'car NAMES))NAMES))))"
                                    "(end_list)"
                                    "(mode_tile \"accept\" 2))"
                            )
  )
  (action_tile "Okay" (strcat "(progn "
"(setq txt (car txt))"
"(done_dialog 1))"
                        )
  )
  (action_tile "cancel" "(done_dialog 0)")

  (action_tile "Add" "(add Siz Names tmp)")
 

; hier will ich jetzt erreichen, dass der neue Textblockname eingefügt wird
  (start_list "Selection")
  (add_list "(setq Selection $value)")
  (add_list "(setq Preview $value)")

  (setq res (start_dialog))
  (unload_dialog dcl_id)

  (vl-file-delete fname)
  (princ)
  )


;;;AddFunktion
(defun Add  (SIZ NAMES TMP / DCL_ID )
  (if (<= (setq dcl_id (load_dialog tmp)) 0)
    (alert "Error loading DCL file.")
    )
  (if (not (new_dialog "ADD" dcl_id))
    (alert "Error loading  dialog.")
    )

  (set_tile "Selection" (car(nth (atoi siz)NAMES)))
  (set_tile "Preview" (cadr(nth (atoi siz)NAMES)))
  (start_dialog)
  )
[code]

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Koordinatenausgabe Youtube

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 23. Mai. 2013 14:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Jörn!

Kann man eigentlich andersherum über den Add dialog, neue Werte in var NAMES ablegen, die wiederum im aufgefrischten Note dialog angezeigt werden. Oder ist das nicht im Sinne von DCL machbar ?

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 23. Mai. 2013 15:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Hallo Dirk,
naklar.
1. mit Get_Tile holst Du Dir die Werte aus den EditBoxen "Selection" und "Preview" und speicherst die z.B. in die Varialblen "SelectionGet" und "PreviewGet".

(setq NAMES (list '("1" "TEST1") '("2" "TEST2") '("3" "TEST3")))

2. Prüfen mit (if(assoc SelectionGet NAMES)

JA: (subst (list SelectionGet PreviewGet)(assoc SelectionGet NAMES)NAMES)
NEIN: (append NAMES (list(list SelectionGet PreviewGet))) => Vl-Sort hinterher damit die Reihenfolge wieder stimmt.

Die aktuelle Liste NAMES wird von der Funktion "Add" zurückgegeben und dann mußt Du im vorhergehenden Dialogfenster die Liste wieder aktualisieren.

Das aber alles nur so auf die Schnelle als Gedankenansatz, gibt sicherlich noch mehr Möglichkeiten das zu lösen.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Koordinatenausgabe Youtube

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 23. Mai. 2013 15:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

ich hab immer ne Funktion DLG-CHECK :

z.B.
(defun DLG-CHECK(/ ABSTAND)
  (if (setq LMIN(distof(get_tile  "LMIN")))
    (list
      LMIN
      (=(get_tile  "DELETE" )"1")       
      (list
          (=(get_tile  "CIRCLE" )    "1")
          (=(get_tile  "ARC"    )    "1")
          (=(get_tile  "PLINE"  )    "1")
          (=(get_tile  "LINE"  )    "1")
          (=(get_tile  "SPLINE" )    "1")
          (=(get_tile  "ELLIPSE")    "1")
        )         
      )
      (alert "Numerischer Wert für Objektlängengrenzwert erforderlich!")
    ) 
  )

die dann in der DLG-Run-Routine aufgerufen wird :
(defun DLG-RUN()
....
(action_tile "OK" "(setq RETURN(DLG-CHECK))(done_dialog 1)")                                         
(action_tile "CANCEL" "(setq RETURN nil)(done_dialog 0)")
...
RETURN
)

damit werden die Dialogsachen zurückgegeben


------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 23. Mai. 2013 15:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die HG, mir fehlt es einfach noch an Wissen, wobei ich die Seiten auf AFRAlisp und Jeffery Sanders durchgegangen bin. Vielleicht ist das Thema noch ein wenig zu avanciert für mich.

Meine erste Frage ist, wenn ich die (set_tile "ABC") funktion verwende, speichere ich im DialogObjekt "ABC" einen Wert
Korrekt?
Und wenn ich danach die Funktion (get_tile "ABC") aufrufe müsste ich doch umgekehrt den zuvor eingegebenen Wert erhalten.
Ich steige da nicht ganz durch ?!

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 23. Mai. 2013 15:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Irgendwie hakt meine Netzverbindung. Jörn hat bereits auf meine Frage geantwortet.

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 24. Mai. 2013 09:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Kurze Rückmeldung, ich bin jetzt soweit gekommen, dass ich in dem Add dialog Werte eingeben kann, die in die Variablen GetSelection und GetPreview geschrieben werden.
Drücke ich aber dann auf okay um den Add dialog abzuschliessen, schliesst es mir auch den Notes dialog,(also den Eingangsdialog).

Was muss ich tun, damit das nicht eintritt, sondern die Liste NAMES aufgefrischt und im Dialog Notes richtig angezeigt wird ?

[edit]
Ein Ausschnitt, wie ich im Add dialog die Variablen erzeuge

Code:

(action_tile "Add" (strcat "(if (<= (setq dcl_id (load_dialog tmp)) 0)
                              (alert \"Error loading DCL file.\")
                              )
                            (if (not (new_dialog \"ADD\" dcl_id))
                              (alert \"Error loading  dialog.\")
                              )
                            (action_tile \"Selection\"
                                          (strcat (set_tile \"Selection\" \"Enter Textblock Name Here\")
                                                  (mode_tile \"Selection\" 2)
                                                  (action_tile \"Selection\" \"(setq GetSelection $value)\")
                                                 
                                                 
                                                  (action_tile \"Preview\"
                                                              (strcat (set_tile \"Preview\" \"Enter Textblock Value Here\")
                                                                      (mode_tile \"Preview\" 2)
                                                                      (action_tile \"Preview\" \"(setq GetPreview $value)\")
                                                                      (start_dialog)
                                                                      )
                                                 
                                                  )
                                          )
                            )"
                      )
  )
  ; Auffrischen der Liste Names nach Eingabe neuer Werte im Add dialog
  (setq NAMES (append NAMES (list (list GetSelection GetPreview))))

[Diese Nachricht wurde von cadplayer am 24. Mai. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 24. Mai. 2013 10:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Hallo Dirk,
tu Dir einen Gefallen und pack alles aus dem Action_Tile-Ausdruck in eine eigene Funktion, dann wird das sehr viel übersichtlicher.

Aus einer Edit_box erhälst Du den Wert zur Laufzeit über
(get_tile KEY) => (setq GetPreview (get_tile "Preview"))

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Koordinatenausgabe Youtube

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 24. Mai. 2013 11:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Deine Abruffunktion "Add" habe ich getestet. Läuft bei mit nicht ...few arguments...
Ich muss die Sache erstmal heute auf sich beruhen lassen, ich dreh mich nämlich im Kreis..

[Diese Nachricht wurde von cadplayer am 24. Mai. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 24. Mai. 2013 12:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Hallo Dirk,
dann hast Du wohl noch einen Tipfehler drinnen, es müssen exakt soviel Argumente übergeben werden wie es auch in der Funktion definiert ist.
(action_tile "Add" "(add Siz Names tmp))

Die Funktion "Add" erwartet genau 3 Argumente: Siz, Names und tmp

Übrigens, die Funktion habe ich nur als Beispiel reingepackt um Dir zu zeigen, wie man es machen kann.
Vielleicht noch ein hilfreicher Link für die Variablenübergabe:
http://www.tutorial.autolisp.info/funktionen2.html


------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Koordinatenausgabe Youtube

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 24. Mai. 2013 13:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

3 Argumente: das ist mir bekannt.
netter Verweis
Die Abfrage get_tile muss man nur in die Funktion einfügen, damit ich letztendlich einen Wert in GetSelection erhalte.

Vom deinem Ansatz ist es mir klar jetzt. Du willst quasi mit der Abruffunktion beide Werte für GetPreview und GetSelection abfragen.

Ist das so ausführbar, wie es meine Funktion mit action_tile, letzteres Codebeispiel schon ausführt.
Ich finde es allerdings übersichtlich genug, finde daher Unterfunktionen überflüssig.

Mein letzteres Problem ist lediglich, dass ich die neue NAMES variable im Eingangsdialog "NOTES" auffrischen will, um dann mit dem neu hinzugefügten Textblock weiterarbeiten kann.

Sorry, wenn mein code wiedermal ziehmlich unübersichtlich ausfällt. Ich versuche immer meine Beispiele weiterzuentwickeln. Höre daher immer gern Eure Kritiken und Vorschläge.

Danke vielvielmals.

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 24. Mai. 2013 17:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Zitat:
...Drücke ich aber dann auf okay um den Add dialog abzuschliessen, schliesst es mir auch den Notes dialog,(also den Eingangsdialog). Was muss ich tun, damit das nicht eintritt ...

Das kannst Du mit den Rückgabewerten von start_dialog bzw. done_dialog steuern.

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 27. Mai. 2013 12:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


test_notesENGL3.LSP

 
Muss ich denn den Dialog CHAN, also den ersten Dialog neu laden ?

Zweites Problem ist, (princ NAMES) liefert mir die geänderte Liste in der Variable NAMES, allerdings kann ich sie nicht abrufen - gibt es da einen Trick ?

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

[Diese Nachricht wurde von cadplayer am 27. Mai. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 27. Mai. 2013 14:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich


test.lsp

 
Hallo Dirk,
ich habe 3 Sachen im Code geändert:
1. Im DCL-Write-Teil habe ich für den Button "Add" die Attribute is_default = false;is_cancel = true; herausgenommen.
2. Ich habe die Funktion chan:set hinzugefügt, die kann dann gleichzeitig für die Initialisierung des 1. Dialogfensters und für die Action_tile-Anweisung "Add" verwendet werden.
3. Die Rückgabe der Funktion "Add" ist die Liste NAMES, dann kann auch damit das erste Dialogfenster aktualisiert werden.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Koordinatenausgabe Youtube

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 27. Mai. 2013 16:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für deine schnelle Hilfe - funktioniert enwandfrei. Konkrete Angaben mache ich dir morgen. Mir sind nur einige Dinge unklar und brauche da mal deine Gedankengänge.
Entschuldige, wenn ich es so sage - es aber nicht so meine: Mir kommt es manchmal so vor in der Programmierung, alles umgekehrt aufzuzäumen

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 28. Mai. 2013 10:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Jörn!

Deine Zeilen leuchten mir zwar ein,ABER
nicht wirklich, wie die Funktionen action_tile, start_dialog, done_dialog arbeiten.

Fragen, die auftreten
- was ist eigentliche eine tile
- bedient action_tile einfach gesagt, was mit der tile passieren soll
- start_dialog steht prinzipiell am Ende, wird erst hier der Dialog gestartet in dem Zusammenhang was macht dann done_dialog

Vielleicht wirken die Fragen etwas durcheinander. Vielleicht kennt jemand eine gute Seite, da die Afralisp seite nur einen Einstieg bietet, aber beispielweise die Dialog-vorlagen-befehle nicht weiter erklärt werden.
Bisher bin ich soweit gekommen, dass mit action_tile die

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

[Diese Nachricht wurde von cadplayer am 28. Mai. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Abteilungsleiter Technisches Facilitymanagement (m/w/d)

Werden Sie Teil unseres ELW-Teams, das gerne Verantwortung übernimmt - für Umwelt, für Menschen, für Wiesbaden.

Wir sind der kommunale Entsorger für Abfälle und Abwasser in Wiesbaden und gehören zu den technisch führenden Entsorgungsfachbetrieben in Hessen. Wir sorgen für eine saubere Stadt, halten Rohstoffe im Kreislauf und erzeugen erneuerbare Energien. Wir betreiben eine Deponie, zwei moderne Klärwerke und das 800 km lange Kanalnetz....

Anzeige ansehenTeamleitung, Gruppenleitung
Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

erstellt am: 28. Mai. 2013 10:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Hallo cadplayer

Diese Seiten sind sehr gut.

http://www.jefferypsanders.com/autolisp_DCL.html

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 28. Mai. 2013 10:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Stimmt, die Seite hab ich bisher nur überflogen - Danke

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz