uso CheckBox con 3 opciones
Mi formulario
ver imagen al marca una casilla muestre en el label el resultado al darle click en el boton opcion 1 opcion 2 opcion 3 ejemplo: se marca una casilla: "opcion 1" se marca dos casilla y dira en el label: "opcion 1 , opcion 2" se marca tres casillas: "opcion 1 , opcion 2 , opcion 3" es eso este codigo es un boceto Código:
procedure TForm1.Button1Click(Sender: TObject); |
puedes definir una variable paso
vPaso : String; vPaso := ' '; if Opcion1.Cheked= True Then vPaso := Concat(vPaso,' Opcion1 '); if Opcion2.Cheked= True Then vPaso := Concat(vPaso,' Opcion2 '); if Opcion3.Cheked= True Then vPaso := Concat(vPaso,' Opcion3 '); label1.caption := vPaso; puede k tenga algun error... pero lo hice de memoria:p |
Una Respuesta no muy Buena
Pues mira Arespremium, lo que yo te puedo recomendar sin saber mucho y con mucho codigo, sería esto:
Hacer un if para todos los caso: if((opcion1.cheked=true) AND (opcion2.cheked=true) AND (opcion3.cheked=true)) then label1.caption:= 'opcion1, opcion2 y opcion3'; Y asi para todos pero como te digo es mucho codigo. |
Haber que te parece esto:
Salud OS |
[quote=BlueSteel;226030]puedes definir una variable paso
vPaso : String; vPaso := ' '; if Opcion1.Cheked= True Then vPaso := Concat(vPaso,' Opcion1 '); if Opcion2.Cheked= True Then vPaso := Concat(vPaso,' Opcion2 '); if Opcion3.Cheked= True Then vPaso := Concat(vPaso,' Opcion3 '); label1.caption := vPaso; Creo que va mejor como dice nuestro companero Blue Steel otra opcion seria usar los If anidados Ej: vPaso : String; vPaso := ' '; if Opcion1.Cheked Then vPaso :=Opcion1 Else if Opcion2.Cheked Then vPaso := vPaso+Opcion2 Else if Opcion3.Cheked Then vPaso+Opcion3; label1.caption := vPaso; |
En realidad, la opción que muestra egostar es la más certera. Ofrece un mejor dinamismo y una mayor comprensión. La lógica está correctamente distribuída y no concentrada en un solo punto. Y si observan bien el código de egostar, a pesar de ser simple, puede ser mejorado. Hay un denominador común en el código y puede aprovecharse los "eventos compartidos" para reducirlo.
Saludos, |
La franja horaria es GMT +2. Ahora son las 04:32:28. |
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