Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Question radiobuttons asociados a un edit

Hola a todos. Tengo 4 radiobuttons y un edit, los radiobuttons se asocian con valores numericos, es dedir que al pulsar por ejemplo uno en el campo edit tiene que aparecer el numero 9600, al pulsar otro radiobutton en el edit tiene que aparecer 14400, y asi con los otros 2 radiobuttons (pero con valores distintos, radiobutton3 28800 y radiobutton4 43200). Esto tiene que pasar tambien de manera inversa, es decir, que al poner en el edit el valor 9600 se me active el radiobutton1, 14400 radiobutton2, etc... También hay que hacer que si en el edit se introduce un valor que no es ninguno de los radiobuttons saque un mensaje por pantalla diciendo "error" y se ponga por defecto el radiobutton1. Eso es todo.

GRACIAS POR ANTICIPADO.
Responder Con Cita
  #2  
Antiguo 04-11-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Sería mucho más fácil si trabajaras con un TRadioGroup:
Código:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  Edit1.Text := RadioGroup1.Items[RadioGroup1.ItemIndex];
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  RadioGroup1.ItemIndex := TStringList(RadioGroup1.Items).IndexOf(Edit1.Text);
end;
Esto es trabajando directamente con el texto de los RadioButtons, si tu texto no es igual al valor que pretendes, puedes trabajar con una lista paralela, o con un array.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 05-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Gracias por contestar. El problema es que ya tengo hecho todo el interfaz, y antes de poner los radiobuttons tenía una scrollbar pero necesito los radiobuttons, así que es una faena poner ahora un Tradiogroup. Hay otra forma de hacerlo ??
Responder Con Cita
  #4  
Antiguo 05-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Ya he logrado poner un radiogroup , el código es el siguiente:

procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
Edit1.Text := RadioGroup2.Items[RadioGroup2.ItemIndex];
end;

Y el del edit es:

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

Pero me da un error cuando pulso cualquiera de los radiobuttons:

"EconvertError with message "14400 ' is no a valid integer value

Cçomo puedo solucionarlo ?????

GRACIAS
Responder Con Cita
  #5  
Antiguo 05-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
He puesto:

procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
Edit1.Text := inttostr (RadioGroup2.Items[RadioGroup2.ItemIndex]);
end;

Pero me da un error al compilar:

[Error] Final.pas(366): There is no overloaded version of 'IntToStr' that can be called with these arguments
Responder Con Cita
  #6  
Antiguo 05-11-2003
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Hola haffo, no se si tendrás otro problema pero al menos el error de tu último post se debe a que
Código:
RadioGroup2.Items[RadioGroup2.ItemIndex];
devuelve un string y no un integer, o sea, que te sobra IntToStr en tu declaración.
Saludos
Responder Con Cita
  #7  
Antiguo 05-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Es que si quito el inttostr, al pulsar el radio button me da el error:

"EconvertError with message "14400 ' is no a valid integer value.

Gracias por contestar.
Responder Con Cita
  #8  
Antiguo 05-11-2003
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Hola, el error no lo busques en esa declaración:
Código:
procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
Edit1.Text := RadioGroup2.Items[RadioGroup2.ItemIndex];
end;
Funciona perfectamente si lanzar error, busca que haces con ese valor en el resto del programa para ver donde lo estas usando de nuevo sin tener en cuenta que es un integer, revisa si vuelves a usar el contenido del 'edit.text' en otra parte del programa donde quieras cargarlo en una variable tipo integer o usarlo como valor numérico, por ahí debe estar el error.
Saludos y suerte
Responder Con Cita
  #9  
Antiguo 05-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Puede ser que el error me lo de este procedimiento ???

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

Gracias por tu tiempo.
Responder Con Cita
  #10  
Antiguo 05-11-2003
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Hola, tu sabrás si el error te salta al escribir en el edit1 o al hacer click en el radiobutton2.¿que tipo de veriable es muestreo?
Creo que lo mejor es que coloques un punto de ruptura al principio del evento que te da problema y hags un debug pulsando F8 y ver exactamente donde te da el error, o ... me mandas todo el código asociado y lo reviso, pero claro... mejor es que lo hagas tú.
Saludos
Responder Con Cita
  #11  
Antiguo 05-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ó:
procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
Edit1.Text := RadioGroup2.Items[RadioGroup2.ItemIndex];
end;

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

Pero me da un error cuando pulso cualquiera de los radiobuttons:

"EconvertError with message "14400 ' is no a valid integer value

Vamos a comenzar desde el momento en que introdujiste el RadioGroup.

El evento Click no puede lanzarte ese error ya que no hay ninguna conversión. De manera que, a no ser que haya otros eventos en juego, el error debe producirse en el evento Change, especificamente en la línea

muestreo := strtoint(Edit1.Text);

Aquí no importa qué tipo de variable sea muestreo ya que si no fuera un entero el error te lo marcaría al momento de compilar.

Por alguna razón Edit1.Text no tiene un entero. Dado que el valor de Edit1.Text viene de un item del RadioGroup entonces éste item es el que tiene un texto que no es un número.

Y a juzgar por el mensaje de error parecería que se te coló una comilla antes de 1440. ¿No es así?

// Saludos
Responder Con Cita
  #12  
Antiguo 05-11-2003
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Hola roman, o se le fue un espacio después de 14400.
¡¡¿Quien da más?!!
Saludos
Responder Con Cita
  #13  
Antiguo 05-11-2003
haffo haffo is offline
Miembro
 
Registrado: oct 2003
Posts: 54
Poder: 21
haffo Va por buen camino
Talking

GRACIASSSSSSSSSSSSS . Los dos sois ganadores del concurso, jejeje. Efectivamente tenía espacios detras de los números de los items del radiogroup, los he quitado y voala !!!, funciona !!!.

MIL gracias amigos, no se que habría hecho sin vosotros.
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 17:22:38.


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