acad hispano
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Consulta sobre cuadro

Ir abajo

Consulta sobre cuadro Empty Consulta sobre cuadro

Mensaje por arielbnvo el Mar Jun 16, 2020 11:53 pm

Buen dia. Hice un cuadrito muy sencillo para una rutina que uso para balance de superficies ,tiene tres opciones con radio button y anda bien, solamente que lo puse dentro de un while y cada vez que se vuelve a abrir para cambiar de opcion se desactiva el que habia elegido previamente. Seria una cuestion visual simplemente pero me interesa aprender mas que nada.

esto seria el cuadrito:
cuadrito:dialog {label="Cuadrito balance";
:column {
spacer_1;
:boxed_radio_row {label="------";
:radio_button {label="Cubierta";key="supcub";}
:radio_button {label="Semi cubierta";key="supsem";}
:radio_button {label="Pileta/Espejo";key="supesp";}
spacer_1;
}
}
spacer_1;
ok_cancel;
}


y esto en autolisp:
(setq indice (load_dialog "C:/Carpeta/prueba2.DCL"))          
    (new_dialog "cuadrito" indice)
                       (setq cub (GET_TILE "supcub" ))
                       (setq smc (GET_TILE "supsem" ))
                       (setq esp (GET_TILE "supesp" ))

                       (setq acep (GET_TILE "accept"))
                       (setq canc (GET_TILE "cancel"))  

                       (action_tile "supcub" "(setq cub $value)")
                       (action_tile "supsem" "(setq smc $value)")
                       (action_tile "supesp" "(setq esp $value)")

                       (action_tile "accept" "(setq acep $value)(done_dialog)")
                       (action_tile "cancel" "(setq canc $value)(done_dialog)")
                     
                       (start_dialog)
                       (start_dialog)
                       (unload_dialog indice)
                       (done_dialog)


Consulta sobre cuadro Captur10

Saludos

arielbnvo

Mensajes : 15
Fecha de inscripción : 21/03/2016

Volver arriba Ir abajo

Consulta sobre cuadro Empty Re: Consulta sobre cuadro

Mensaje por arielbnvo el Dom Jun 28, 2020 9:49 pm

Buenas tardes.  Me voy a responder a mi mismo por si alguien tuviera el mismo problema y por ahi le sirve. Encima investigando en internet casi todo esta en ingles y dependo del tradutor de google, asi que si vuelvo a tener el mismo problema por lo menos me va a servir a mi.

El problema es que no se mucho del tema pero estuve investigando y encontre una solucion y por ahora esta funcionando bien, por ahi haya alguien que sepa programar de verdad y sepa resolverlo como corresponde, y principalmente que lo pueda explicar por que esto lo resolvi mas que nada por prueba y error pero ni yo lo termino de entender ja ja.

Primero pongo if por si devuelven nil las variables cuando entro al bucle por primera vez y se crean las mismas con setq y lo guardo en la variable "activado" con $key. Luego se activan o desactivan los botones comparando la variable "activado" con la clave de cada radio_button y cada vez que vuelve a apaecer el cuadrito ya se muestra activado el que active anteriormente, era simplemente una cuestion visual pero lo queria hacer asi.
Saludos.

(if (= cub nil) (progn (setq cub (GET_TILE "supcub" )) (action_tile "supcub" "(setq activado $key)")) (action_tile "supcub" "(setq activado $key)"))
(if (= smc nil) (progn (setq smc (GET_TILE "supsem" )) (action_tile "supsem" "(setq activado $key)")) (action_tile "supsem" "(setq activado $key)"))
(if (= esp nil) (progn (setq esp (GET_TILE "supesp" )) (action_tile "supesp" "(setq activado $key)")) (action_tile "supesp" "(setq activado $key)"))

(if (= activado "supcub") (progn (setq cub "1") (setq smc "0") (setq esp "0") (set_tile "supcub" "1") (set_tile "supsem" "0") (set_tile "supesp" "0")))
(if (= activado "supsem") (progn (setq smc "1") (setq cub "0") (setq esp "0") (set_tile "supsem" "1") (set_tile "supcub" "0") (set_tile "supesp" "0")))
(if (= activado "supesp") (progn (setq esp "1") (setq cub "0") (setq smc "0") (set_tile "supesp" "1") (set_tile "supcub" "0") (set_tile "supsem" "0")))

arielbnvo

Mensajes : 15
Fecha de inscripción : 21/03/2016

Volver arriba Ir abajo

Consulta sobre cuadro Empty Re: Consulta sobre cuadro

Mensaje por nikitonipongo el Vie Jul 24, 2020 12:20 pm

Probar con esto un poco mas estructurado y sencillo. Saludos..
Fichero "Prueba2.DCL":
Código:

cuadrito : dialog {label="Cuadrito balance";
  : column {
    spacer_1;
    : boxed_radio_row {
      label="Opciones:";
      key = "optionselect";
      : radio_button {
        label="Cubierta";
        key="supcub";
      }
      : radio_button {
        label="Semi cubierta";
        key="supsem";
      }
      : radio_button {
        label="Pileta/Espejo";
        key="supesp";
      }
      spacer_1;
    }
  }
  spacer_1;
  ok_cancel;
}

Cógigo lisp:
Código:

(defun c:prueba2 ( / accion idx)
 (if (not optionselect) (setq optionselect "supcub"))
 (if (not pos_dia_prueba2) (setq pos_dia_prueba2 '(-1 -1)))
 (setq idx (load_dialog "E:\\PROGRAMACION\\000_Pruebas\\Prueba2.dcl")
       accion T)
  
 (while accion
  ;;cargar archivo de cuadro de dialogo en pantalla
  (if (not (new_dialog "cuadrito" idx "" pos_dia_prueba2)) (exit))
  
  ;;-----------------------------------
  ;;asignaciones de cuadro de dialogo:
  (set_tile "optionselect" optionselect)

  ;;-----------------------------------
  ;;Acciones de cuadro de dialogo:
  (action_tile "supcub"  "(setq optionselect $key)")
  (action_tile "supsem"  "(setq optionselect $key)")
  (action_tile "supesp"  "(setq optionselect $key)")

  (action_tile "accept"  "(setq pos_dia_prueba2 (done_dialog 1))")
  (action_tile "cancel"  "(setq pos_dia_prueba2 (done_dialog 0))")

  ;;Activación del cuadro de dialogo
  (setq accion (start_dialog))
  
  (cond
   ;;Boton de cancelar
   ((= accion 0)
    (unload_dialog idx)
    (setq accion nil)
   )
   ;;Boton de aceptar
   ((= accion 1)
    (alert (strcat "Ha seleccionado la opción: [ " optionselect " ].\n\nContinue..."))
    ;;Aqui el resto de código que necesite ejecutar con esa opción.
    (princ)
   )
  );c.cond
 );c.while
);c.defun

nikitonipongo

Mensajes : 2
Fecha de inscripción : 08/02/2017

Volver arriba Ir abajo

Consulta sobre cuadro Empty Re: Consulta sobre cuadro

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.