Probems with done_dialog

Probems with done_dialog

svucic
Advocate Advocate
819 Views
2 Replies
Message 1 of 3

Probems with done_dialog

svucic
Advocate
Advocate

Hi everyone,

 

i'having troubles with seting a variable when exiting a DCL. 

 

(action_tile "ecs" " (done_dialog 1) (setq userclick nil)")
(action_tile "oki" "(saveVars) (done_dialog)(setq userclick T)")

Whatever I do useclick is always T.

 

Here is my code, simplified

 

(defun C:EditAtrBlk ()

  (setq var0 nil )
  (setq var1 nil )
  (setq var2 nil )
  (setq var3 nil )
  (setq var4 nil )
  (setq var5 nil )
  ;(setq var6 nil )
  (setq var7 nil )
  (setq var8 nil )
  (setq var9 nil )
  ;(setq var10 nil )
  ;(setq var11 nil )
  (setq var12 nil )
  (setq var13 nil )
  (setq var14 nil )
  ;(setq var15 nil )
  (setq var16 nil )
  (setq var17 nil )
  (setq var18 nil )

(defun saveVars()
  (setq var0 (atoi (get_tile "atr110")))
  (setq var1 (atoi (get_tile "atr111")))
  (setq var2 (atoi (get_tile "atr112")))
  (setq var3 (atoi (get_tile "atr113")))
  (setq var4(get_tile "atr114"))
  (setq var5 (atoi (get_tile "mylist1")))
  (setq var6 (get_tile "atr115"))
  (setq var7 (atoi (get_tile "mylist2")))
  (setq var8 (atoi (get_tile "mylist3")))
  (setq var9 (atoi (get_tile "mylist4")))
  ;(setq var10 (get_tile "atr116"))
  (setq var11 (get_tile "atr117"))
  (setq var12 (atof (get_tile "atr118")))
  (setq var13 (atoi (get_tile "mylist5")))
  (setq var14 (atoi (get_tile "mylist6")))
  (setq var15 (get_tile "atr119"))
  (setq var16 (atoi (get_tile "mylist7")))
  (setq var17 (atoi (get_tile "mylist8")))
  (setq var18 (get_tile "znkid"))
  (setq var190 (get_tile "atr120"))
  (setq var200 (get_tile "atr121"))
)



  (if (and (setq d (vl-filename-mktemp nil nil ".dcl")) (setq f (open d "w")))
    (progn (write-line
             (strcat
			   "insertatr: dialog { 
			   label = \"Unesi Atribute\"; 
			   
			   " ": boxed_column {
			   fixed_width = true;
			   alignment = centered;
			   edit_width = 100;



			   " ": edit_box {
			   key = znkid;
			   label = \"ID:\";
               edit_width = 35;
               initial_focus = true;
			   } 
*
*
*
*
*
*
*
*				
				" ": column {
			   " ": edit_box { 
 			   key = \"atr121\";
               label = \"+\";
               edit_width = 5;
               value = \"000.00\";
               initial_focus = true;  
				} }
				}
				
			   : errtile {alignment = centered;}
			   
			   " ": boxed_row { 
			   label = \"\"; 
			   fixed_width = true; 
			   alignment = centered;
			   " ": button { 
			   label = \"Okay\"; 
			   key = \"oki\"; 
			   is_default = true;
			   height = 1.75; 
			   width = 12;}
			   " ": button { 
			   label = \"Exit\"; 
			   key = \"esc\"; 
			   is_cancel = true; 
			   height = 1.75; 
			   width = 12;}
			   }}"
			)
             f
           )
           (close f)
    )
    (alert "Can't load the temporary file <!>")
  )
 



  ;/////////////////// PT1 KATEGORIJA /////////////////////////////
	
	(setq codespath (findfile "params.ini"))
	(setq lstdescrpt nil)
	(setq pt1 (dos_getini "1" nil codespath))
	(setq pt1x (dos_getini "1" nil codespath))
	
	(repeat (setq in (length pt1))

		(setq a (car pt1))
		(setq b (cdr pt1))
	
		
			
		(setq elementpt1 (dos_getini "1" a codespath))


				(setq lstdescrpt (cons  elementpt1 lstdescrpt))

				(setq pt1 b)

				)
				
		(setq myListdecrpt (reverse lstdescrpt))
;------------------------------------------------------------


*
*
*
*
*
*
*



;///////////////// ROAD EXTERNAL CODE ////////////////////

(setq codespath (findfile "codes.ini"))
  (setq roadlist (dos_getini "sr_road" nil codespath))
  (setq roadlist1 (dos_getini "sr_road" nil codespath))
  (setq MyListRoad roadlist)
 
		
;------------------------------------------------------------



  (if(not(setq dcl_id (load_dialog d)))
    (progn
      (alert "The DCL file could not be loaded.")
      (exit)
    )
    (progn
      (if (not (new_dialog "insertatr" dcl_id))
        (progn
          (alert "The definition could not be found inside the DCL file")
          (exit)
        )
        (progn
		
		;atrsta atrplus atrsta1
		
		  (set_tile "atrsta" "1")
		  (mode_tile "atrsta" 0)
		  
		  (set_tile "atrsta1" "200.00")
		  (mode_tile "atrsta1" 0)
		
		  (setq varmecategory "100")
		  (set_tile "atr111" varmecategory)
		  (mode_tile "atr111" 1)		
		
		  (setq varmesubcategory "100")
		  (set_tile "atr112" varmesubcategory)
		  (mode_tile "atr112" 1)
		
		  (setq varmeclass "100")
		  (set_tile "atr113" varmeclass)
		  (mode_tile "atr113" 1)
		
		  (cond 

			((= blkvar "portal")        
					(setq codename (nth codelstportalval portallist1))
					(set_tile "atr114" codename)
					(mode_tile "atr114" 1)			
			)
	 
			((= blkvar "stub")        
					(setq codename (nth codelstpillarval pillarlist1))
					(set_tile "atr114" codename)
					(mode_tile "atr114" 1)			
			)
			
			((= blkvar "ResetkastiNosac")        
					(setq codename (nth codelstgridval gridlist1))
					(set_tile "atr114" codename)
					(mode_tile "atr114" 1)			
			)
			
			((= blkvar "ElektricniStub")        
					(setq codename (nth codelstelectricalval electricallist1))
					(set_tile "atr114" codename)
					(mode_tile "atr114" 1)			
			)
			)
		
		  (setq idnosaca (dos_guidgen))
		  (setq idnosaca1 (substr (repeat 5 (setq idnosaca (vl-string-subst "" "-" idnosaca))) 1 14))
		  (setq varid (strcat "A" idnosaca1))
		  (if editvarvpt
		  (progn
		  (set_tile "znkid" editid)
		  (mode_tile "znkid" 1)
		  )
		  (progn
		  (set_tile "znkid" varid)
		  (mode_tile "znkid" 1)
		  )
		  )
  
		  (set_tile "atr115" edtrespcontractor)
		  (mode_tile "atr115" 0)
		  
		  
		  (if (or (not var190) (= var190 "") (= var190 0) (= var190 nil))
		  (progn
			(setq stationcode "0")
			)
		  (progn
			(setq stationcode  var190)
		  ))
		  (set_tile "atr120" stationcode)
		  (mode_tile "atr120" 0)  
		  
		  
		  (if (or (not var200) (= var200 "") (= var200 nil))
		  (progn
			(setq stationcode1 "000.00")
			)
		  (progn
			(setq stationcode1  var200)
		  ))
		  (set_tile "atr121" stationcode1)
		  (mode_tile "atr121" 0) 
		  
		  
		 ;(if (or (not var11) (= var11 "") (= var11 "0") (= var11 nil) (= (type VAR11) 'INT) (= (type VAR11) 'REAL))
		 ;(progn
		;(setq externcode "eksterna sifra puta")
		;)
		 ;(progn
		;(setq externcode  var11)
		 ;))
		 ;(set_tile "atr117" externcode)
		 ;(mode_tile "atr117" 0) 
		 
		  
		  (if (or(not var15) (= var15 "") (= var15 nil) (= (type VAR15) 'INT) (= (type VAR15) 'REAL))
		  (progn
			(setq defdoccode "broj rjesenja")
			)
		  (progn
			(setq defdoccode var15)
		  ))
		  (set_tile "atr119" defdoccode)
		  (mode_tile "atr119" 0) 
		  
		  
		  (start_list "atr111" 3)
          (mapcar 'add_list mylistdecrpt)
          (end_list)
		  
		  (start_list "atr112" 3)
          (mapcar 'add_list myListdecrpt1)
          (end_list)
		  
		  (start_list "atr113" 3)
          (mapcar 'add_list myListdecrpt2)
          (end_list)
		  
		  
		  (start_list "mylist1" 3)
          (mapcar 'add_list myList1)
          (end_list)
		  (set_tile "mylist1" edtcontractor)
		  
		  
		  (start_list "mylist2" 3)
          (mapcar 'add_list myList2)
          (end_list)
		  (set_tile "mylist2" edtprincipal)
		  
		  (start_list "mylist3" 3)
          (mapcar 'add_list myList3)
          (end_list)
		  (set_tile "mylist3" edtonload)
		  
		  (start_list "mylist4" 3)
          (mapcar 'add_list myList4)
          (end_list)
		  
		  (start_list "mylist5" 3)
          (mapcar 'add_list myList5)
          (end_list)
		  
		  (start_list "mylist6" 3)
          (mapcar 'add_list myList6)
          (end_list)
		  
		  (start_list "mylist7" 3)
          (mapcar 'add_list myList7)
          (end_list)
		  
		  (start_list "mylist8" 3)
          (mapcar 'add_list myList8)
          (end_list)
		  
		  (_parsini "codes.ini" "sr_road")
		  (start_list "atr117" 3)
          (mapcar 'add_list inilist200)
          (end_list)
		  
		  (set_tile "error" "Zapis stacionaze u formatu 0 + 0.000")
		  
          (action_tile "ecs" " (done_dialog) (setq userclick nil)")
          (action_tile "oki" "(saveVars) (done_dialog)(setq userclick T)")
          (setq ddiag(start_dialog)) 
          (unload_dialog dcl_id)

          )
        )
      )
    )
	
	(if (not userclick)
	(exit)
	)

	(setq roadlstindx (atoi var11))
	(if (= roadlstindx 0)
		(progn
			(alert "Nije izabrana eksterna sifra puta!")
		)
		(progn
			(setq roadexterncode (nth roadlstindx inilist100))
		)
	)
	
*
*
*
*
*
*
*
*
	
	(setq var1 (atoi (nth var1 pt1x )))
	(setq var2 (atoi (nth var2 pt2x )))
	(setq var3 (atoi (nth var3 pt3x )))
	
	(setq stationcode1 (rtos (atof var190) 2 0))
	(setq stationcode2 (rtos (atof var200) 2 2))
	(setq stationcode (strcat stationcode1 "+" stationcode2))
	

	
   
	);end of insertatrblk
0 Likes
Accepted solutions (1)
820 Views
2 Replies
Replies (2)
Message 2 of 3

svucic
Advocate
Advocate
Accepted solution

I managed to solve it by adding the status to done_dialog. Like this:

 

          (action_tile "ecs" "(done_dialog 0) (setq userclick nil)")
          (action_tile "oki" "(saveVars) (done_dialog 1)")
          (setq ddiag(start_dialog)) 
          (unload_dialog dcl_id)

          )
        )
      )
    )
	))
	
	(if (= ddiag 0)
	(progn	
	(princ)
	)
	(progn 
	(princ)
	)
	)
0 Likes
Message 3 of 3

john.uhden
Mentor
Mentor

That's the correct way to do it.  Good job!

John F. Uhden

0 Likes