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 11-10-2007
Avatar de skinnerpro
skinnerpro skinnerpro is offline
Miembro
 
Registrado: oct 2007
Posts: 29
Poder: 0
skinnerpro Va por buen camino
El componente RadioButton

Este es el componente RadioButton

Ver RadioButton

Otra con marcador

Tengo tres RadioButton, pero como dice la teoria que de los tres solo queda uno siempre seleccionado.

Como lo puedo hacer en delphi 7?

tengo tres RadioButton
opcion 1
opcion 2
opcion 3

Código Delphi [-]
var
  Form1: TForm1;
  Radio1,Radio2,Radio3: String;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
If RadioButton1.Checked = True then
     Radio1 := 'Opción 1'
else Radio1 := '';
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
If RadioButton1.Checked = True then
     Radio2 := 'Opción 2'
else Radio2 := '';
end;

procedure TForm1.RadioButton3Click(Sender: TObject);
begin
If RadioButton3.Checked = True then
     Radio3 := 'Opción 3'
else Radio3 := '';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
mensaje:=Radio1+' '+Radio2+' '+Radio3;
ShowMessage(mensaje);
end;

que opinan de este codigo, esta bien creado? o se puede mejorar aun mas, saludos
Responder Con Cita
  #2  
Antiguo 11-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
esta bien creado pero yo lo haria asi
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
mensaje:= ''

if Radio1.Checked then
mensaje:= mensaje + Radio1.Caption

if Radio2.Checked then
mensaje:= mensaje + Radio2.Caption

if Radio3.Checked then
mensaje:= mensaje + Radio3.Caption


ShowMessage(mensaje);
end;
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 11-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Puedes usar un TRadioGROUP

En su propiedad Items escribes:
Opción 1
Opción 2
Opción 3

En su propiedad ItemIndex pon un cero (por defecto aparecerá la opción 1 marcada)

y el código Delphi se simplifica a:
Código Delphi [-]
with RadioGroup1 do
  ShowMessage('El elegido del mundo mundial es : '+ Items[ItemIndex])

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 11-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Pues me disculpo, no me di cuenta que era un radio, pense en un checkbox, la mejor opcion es la de Lepe...

Perdon
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 13-10-2007
Avatar de skinnerpro
skinnerpro skinnerpro is offline
Miembro
 
Registrado: oct 2007
Posts: 29
Poder: 0
skinnerpro Va por buen camino
Hola Lepe

Hice de poner 0 en Itemindex del RadioGround1
pero no me deja hacerlo, le ingreso el cero pero se devuelve a -1 por defecto
Responder Con Cita
  #6  
Antiguo 13-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Primero debes agregar los items
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #7  
Antiguo 13-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No deberia, el componente RadioGround permite poner el ItemIndex en cero sin problemas.
Ahora me pregunto, para que ponerlo en cero, si quedara marcada la primera opcion y no saldra el mensaje a menos que se marque otra antes.
Yo dejaria la opcion sin marcar, me parece mas lojico.
Por cierto, la opcion de Lepe, es genial, no se puede esperar menos de sus respuestas, simples y al grano.
Saludos
Responder Con Cita
  #8  
Antiguo 13-10-2007
Avatar de skinnerpro
skinnerpro skinnerpro is offline
Miembro
 
Registrado: oct 2007
Posts: 29
Poder: 0
skinnerpro Va por buen camino
y se podra hacer de otra forma, un codigo mas largo?

Código Delphi [-]
variable
if RadioButton1.Checked := true then;
 controlseleccion
end

controlseleccion=seleccion;

if (seleccion == radiobutton1) then
    ShowMessage(opcion 1);
elseif seleccion == radiobutton2) then
    ShowMessage(opcion 2);
elseif seleccion == radiobutton3) then
    ShowMessage(opcion 3);
end

saludos
Responder Con Cita
  #9  
Antiguo 14-10-2007
Avatar de skinnerpro
skinnerpro skinnerpro is offline
Miembro
 
Registrado: oct 2007
Posts: 29
Poder: 0
skinnerpro Va por buen camino
aca les traigo una imagen de su funcionamiento
esta en formato gif, animada para que la vean

Ver la imagen animada

nota: todavia no me funciona mm mmm, dejo el caso abierto a pesar que cada dia se esconde una nueva revelacion o un nuevo descubrimiento que se pueda obtener, je je je

Saludos

Última edición por skinnerpro fecha: 14-10-2007 a las 08:41:33.
Responder Con Cita
  #10  
Antiguo 14-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Ahora me pregunto, para que ponerlo en cero, si quedara marcada la primera opcion y no saldra el mensaje a menos que se marque otra antes.
Yo dejaria la opcion sin marcar, me parece mas lojico.
Supongo que va en gustos o forma de programar, como bien dices, si ya has marcado una opción, no te deja quitarla. Para mí es una "desventaja", ya que me obliga a controlar esa posibilidad:
Código Delphi [-]
if radioGroup1.itemindex <> -1 then

Dejando marcada un itemindex por defecto, omito esa pregunta. Si se necesita la posibilidad de dejarla "desmarcada", yo agregaría los siguientes items:
- Sin Opciones
- Opción 1
- Opción 2
- ...

Cita:
Empezado por skinnerpro
y se podra hacer de otra forma, un codigo mas largo?
Se podrá hacer de tantas formas como personas se pongan en ello, y de otras tantas más, como ganas tenga de buscarle los cinco pies al gato .

Hay veces que el mejor código no es el más corto, sino el más legible.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 14-10-2007
Avatar de skinnerpro
skinnerpro skinnerpro is offline
Miembro
 
Registrado: oct 2007
Posts: 29
Poder: 0
skinnerpro Va por buen camino
Gracias Lepe

muchas gracias
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Varios radiobutton mjjj Varios 4 23-05-2007 11:15:13
radiobutton ercrizeporta Varios 1 06-05-2007 01:49:18
Radiobutton Marianin Varios 1 18-11-2005 20:51:34
transparencia en un radiobutton Debian Gráficos 1 17-06-2005 16:35:27
RadioButton dmagui Firebird e Interbase 2 14-06-2005 15:34:31


La franja horaria es GMT +2. Ahora son las 17:01:30.


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