Progress - Asignar variables a un boton

   
Vista:

Asignar variables a un boton

Publicado por OCTAVIO (11 intervenciones) el 17/06/2009 06:24:21
Tengo varias tablas en una de ellas tengo un field que dice "boton activo en pantalla" (con opciones si y no), ahora quiero saber como puedo hacer para que en otra ventana aparzca ese boton dependiendo si esta activo o no y con el nombre guardado en el registro.

y si esta dentro una categoria, pulsar el boton y me despliege otros botones del contenido de la categoria.

ex.
Alimentos(categoria)-----PRODUCTO1, PRODUCTO2, etc, etc....

he intentado el procedimiento con FOR EACH sobre el boton alimentos para que encuentre todas las subcategorias, y las encuentra pero el problema es como crear los botones para cada subcategoria lo intente creando el boton despues del FOR EACH pero al ejecutar lo crea automaticamente y deshabilitado.

agradeceria mucho su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Asignar variables a un boton

Publicado por CHARLY (22 intervenciones) el 17/06/2009 20:23:33
DEFINE VARIABLE hC AS HANDLE NO-UNDO.
DEFINE VAR vc-ruta AS CHAR NO-UNDO FORMAT "X(50)".
DEFINE VAR vi-objeto AS DECIMAL NO-UNDO INITIAL 0.5.

ASSIGN i = 2. /* Skip the current routine: PROGRAM-NAME(1) */
DO WHILE PROGRAM-NAME(i) <> ?:
IF i = 2
THEN plist = "Currently in : " + PROGRAM-NAME(i).
ELSE plist = "Which was called by: " + PROGRAM-NAME(i).

vc-ruta = PROGRAM-NAME(i).

ASSIGN i = i + 1.
CREATE BUTTON hC
ASSIGN
FRAME = FRAME {&FRAME-NAME}:HANDLE
ROW = 1 + vi-objeto

X = 12
NAME = "Ruta " + STRING(vi-objeto)
VISIBLE = TRUE
SENSITIVE = TRUE
WIDTH-CHARS = 50
HEIGHT-CHARS = 1.

.
ASSIGN vi-objeto = vi-objeto + 1.
END.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Asignar variables a un boton

Publicado por Raziel Salvador (4 intervenciones) el 21/07/2009 23:23:47
Saludos...

La forma mas simple de hacer esto, es usando atributos en el "for each"
cuando definas los controles de tu programa, define estos botones tambien, pero con atributos como "false".

ejemplo:

button1:visible = false.
button1:sensitive = false.

(visible = que se pueda ver en pantalla y sensitive = que se pueda usar el objeto)

y ya haciendo el for each defines el atributo de "true" para que este este activo.

ejemplo:

for each tablaalimentos
no-lock:

if variabledeboton = yes then
do:
assign
button1:visible = true.
button1:sensitive = true.
else

do:
assign
button1.visible = false.
button2.sensitive = false.
end.

end.

De esta manera, se definen los controles, pero no aparecen en pantalla, y solo hasta encontrar el valor "yes" en el campo que mencionas, por el contrario vuelve a desaparecer de pantalla estos controles.

Saludos...

Raziel Salvador Martínez Salazar
Consultor/Programador
TMBSiS, S.A. de C.V.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar