Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Question condicion IF

Hola a todos. Mi problema es el siguiente. Tengo un campo edit1 y un radiogroup2 con cuatro radiobuttons (9600 14400 28800 43200), al pulsar un radiobuttons un valor entero se coloca en el campo edit1 y viceversa, es decir, si coloco un valor en el edit1 el radiobutton asociado a ese numero se activa. Bien hasta ahora funciona perfectamente, pero quiero hacer que en el caso de que se introduzca en el edit1 un valor que no sea 9600 o 14400 o 22800 o 43200, saque un mensaje por pantalla (que ya lo tengo hecho) y se coloque por defecto en el radiobutton perteneciente al 9600, y que a su vez el campo edit se ponga en 9600. Tengo el siguiente codigo hecho pero cuando introduzco el primer digito en el edit1 ya me sale el mensaje anteriormente dicho. El código es el siguiente.

Gracias por anticipado.


procedure TForm1.Edit1Change(Sender: TObject);
begin
RadioGroup2.ItemIndex := TStringList(RadioGroup2.Items).IndexOf(Edit1.Text);
muestreo:=strtoint(edit1.text);

if (muestreo<>9600) or (muestreo<>14400) or (muestreo<>18800) or (muestreo<>43200) then
begin
showmessage('Frecuencia de muestreo no disponible, se usará 9600 Hz por defecto.');
muestreo:=9600
end
end;



procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
Edit1.Text :=RadioGroup2.Items[RadioGroup2.ItemIndex];
muestreo:=strtoint(edit1.text);
end;
Responder Con Cita
  #2  
Antiguo 06-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por lo mismo que ya te diste cuenta no puedes usar el evento OnChange. La validación tendría que ser hasta que el usuario termine de escribir el dato.

Te convendría más usar el evento OnExit del Edit.

// Saludos
Responder Con Cita
  #3  
Antiguo 06-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Si lo pongo onexit no me hace nada , es decir, pongo un valor en el edit y no hace nada. Cuando me voy a otro edit por ejemplo me salta el mensaje aunque introduzca un valor correcto.
Responder Con Cita
  #4  
Antiguo 06-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
haffo comentó:
Código:

if
  (muestreo<>9600) or (muestreo<>14400) or 
  (muestreo<>18800) or (muestreo<>43200)
then
begin
  { mensaje de error }
end;
La falla está aquí. Te queda de tarea estudiar por qué.

// Saludos
Responder Con Cita
  #5  
Antiguo 06-11-2003
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
EStoy de acuerdo con Roman tu bronca esta en el IF, esta mal planeado solo checa un poco lo de matematicas lógicas y encontraras la respuesta a tu bronca, este tipo de error es de lo mas común y como para ti aveces es invisible hasta que otro checa tu codigo... saludos

tip: no es lo mismo un OR que un AND
Responder Con Cita
  #6  
Antiguo 06-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
torito comentó:
tip: no es lo mismo un OR que un AND
¡Hey! No vale soplar en el examen!

Responder Con Cita
  #7  
Antiguo 06-11-2003
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
jajajaja solo fue un tip, jejeje
Responder Con Cita
  #8  
Antiguo 06-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Hola de nuevo. Jejeje es verdad era una AND, las prisas son malas consejeras. Ya he solucionado el problema lo único que me falta es qué instrucción debo poner si quiero que al mostrar el mensaje de error (que coloca la variable muestreo en 9600) se me active el radiobutton 9600.

GRACIAS.
Responder Con Cita
  #9  
Antiguo 06-11-2003
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
intentale con
form1.ActiveControl:=radiobutton6;

saludos
Responder Con Cita
  #10  
Antiguo 06-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
haffo comentó:
lo único que me falta es qué instrucción debo poner si quiero que al mostrar el mensaje de error (que coloca la variable muestreo en 9600) se me active el radiobutton 9600.
Usa la propiedad ItemIndex del RadioGroup.

Ahora que, aunque es cuestión de gustos, yo en lugar de ponerlo en 9600 dejaría el RadioGroup tal como esté en esos momentos y pondría en Edit el valor correspondiente. Esto es, si el usuario había seleccionado 1440 y escribe un dato incorrect, que el Edit regrese a 1440

// Saludos
Responder Con Cita
  #11  
Antiguo 06-11-2003
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
ahhhh caray, ya me confundi... estas trabajando con radiogroup o con radiobuttons??? por que si es con radiogrop sigue el consejo de roman, pero si es con radiobuttons te aconsejaria que siguieras mi sugerencia, o si de plano nada mas es el uso del cheked del radiobutton deria asi:

radiobutton.Cheked:=true;

y asunto arreglado

saludos
Responder Con Cita
  #12  
Antiguo 06-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Smile

Eran un radiogroup, ya está todo solucionado, gracias a todos.

Un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:43:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi