Page 1 of 1

Problemas con RadioButtons

Posted: Wed Oct 31, 2007 1:26 pm
by jrestojeda
Hola a todos,

Estoy intentando definir un grupo de RadioButtons pero cuando ejecuto mi programa están los dos Radios seleccionados.
Como puedo hacer para que solo esté uno solo seleccionado y el otro no.
Cuando selecciono uno el otro debe estar .f. y viceversa.

Lo estoy haciendo así:

Code: Select all

DEFINE DIALOG oDlg RESOURCE "CEM44_LIQ_FEC" OF oWnd ICON "ICONO_PPAL";
   TITLE "Por favor, seleccione"

   REDEFINE BTNBMP Btn1 ID 200 OF oDlg RESOURCE "ACEPTAR" LEFT;
      ACTION IfImp:=.t., oDlg:End();
      TOOLTIP "Aceptar";
      PROMPT "Aceptar"

   REDEFINE BTNBMP Btn2 ID 201 OF oDlg RESOURCE "CANCELAR" LEFT;
      ACTION  oDlg:End(),L:=0;
      TOOLTIP "Cancelar y salir";
      PROMPT "Cancelar"

   REDEFINE RADIO oTur VAR vTur    ID 100 OF oDlg ON CLICK (Tipo1:="T") UPDATE
   REDEFINE RADIO oTot VAR vTot    ID 101 OF oDlg ON CLICK (Tipo1:="O") UPDATE
   REDEFINE GET oFech1 VAR vFech1  ID 102 OF oDlg PICTURE "@D" VALID(!EMPTY(vFech1))
   REDEFINE GET oFech2 VAR vFech2  ID 103 OF oDlg PICTURE "@D" VALID(vFech2>vFech1)

ACTIVATE DIALOG oDlg CENTERED
Probé poniendo en el workshop los Radio como "Auto Radio Button"
Pero no funciona correctamente.
El problema es cuando se abre el diálogo los dos Radio Buttons estan en .t.

Desde ya muchas gracias.
Saludos, Esteban

Amigo...

Posted: Wed Oct 31, 2007 1:46 pm
by leandro
Amigo creo que estan mal definidos los radio button, ya que minimo deben de tener dos opciones para que funcionen:

Code: Select all

DEFINE DIALOG oDlg RESOURCE "CEM44_LIQ_FEC" OF oWnd ICON "ICONO_PPAL"; 
   TITLE "Por favor, seleccione" 

   REDEFINE BTNBMP Btn1 ID 200 OF oDlg RESOURCE "ACEPTAR" LEFT; 
      ACTION IfImp:=.t., oDlg:End(); 
      TOOLTIP "Aceptar"; 
      PROMPT "Aceptar" 

   REDEFINE BTNBMP Btn2 ID 201 OF oDlg RESOURCE "CANCELAR" LEFT; 
      ACTION  oDlg:End(),L:=0; 
      TOOLTIP "Cancelar y salir"; 
      PROMPT "Cancelar" 

   REDEFINE RADIO oTur VAR vTur    ID 100,105 OF oDlg ON CLICK (Tipo1:="T") UPDATE 
   REDEFINE RADIO oTot VAR vTot    ID 101,106 OF oDlg ON CLICK (Tipo1:="O") UPDATE 
   REDEFINE GET oFech1 VAR vFech1  ID 102 OF oDlg PICTURE "@D" VALID(!EMPTY(vFech1)) 
   REDEFINE GET oFech2 VAR vFech2  ID 103 OF oDlg PICTURE "@D" VALID(vFech2>vFech1) 

ACTIVATE DIALOG oDlg CENTERED

Espero te sirva

Posted: Wed Oct 31, 2007 1:59 pm
by cmsoft
Creo que tendrias que poner algo asi

Code: Select all

DEFINE DIALOG oDlg RESOURCE "CEM44_LIQ_FEC" OF oWnd ICON "ICONO_PPAL"; 
   TITLE "Por favor, seleccione" 

   REDEFINE BTNBMP Btn1 ID 200 OF oDlg RESOURCE "ACEPTAR" LEFT; 
      ACTION IfImp:=.t., oDlg:End(); 
      TOOLTIP "Aceptar"; 
      PROMPT "Aceptar" 

   REDEFINE BTNBMP Btn2 ID 201 OF oDlg RESOURCE "CANCELAR" LEFT; 
      ACTION  oDlg:End(),L:=0; 
      TOOLTIP "Cancelar y salir"; 
      PROMPT "Cancelar" 

   REDEFINE RADIO oTur VAR vTur    ID 100,101 OF oDlg ON CLICK IF(vTur,Tipo1:="T",Tipo1:="O") UPDATE 
   REDEFINE GET oFech1 VAR vFech1  ID 102 OF oDlg PICTURE "@D" VALID(!EMPTY(vFech1)) 
   REDEFINE GET oFech2 VAR vFech2  ID 103 OF oDlg PICTURE "@D" VALID(vFech2>vFech1) 

ACTIVATE DIALOG oDlg CENTERED 
Espero que te sirva el ejemplo

Posted: Wed Oct 31, 2007 2:21 pm
by jrestojeda
Gracias a todos por su ayuda.

Ya he logrado solucionarlo con una combinación de las dos ayudas.
Hice como dice "cmsoft" pero con la unica diferencia que con el condicional tiraba un error. Solo le saque el condiconal y funcionó perfecto.

Quedó así:

Code: Select all

   REDEFINE RADIO oTur VAR vTur    ID 100,101 OF oDlg;
      ON CLICK Tipo1:="T",Tipo1:="O" UPDATE

Gracias a todos por su ayuda.
Saludos, Esteban