Ver la Versión Completa : uso de case
juaarias
16-09-2011, 22:52:42
gente queria saber si se pues realizar 2 asignaciones en un misma sentencia del case:
algo asi quisiera sabeer
case (cmbNivel) then
0:lblNivel.caption:=alto;
1:lblNivel.Caption:=medio;
2:lblNivel.Caption:=bajo (y tambien poder hacer aqui=)lblAdvertencia:caption:=¡¡¡PRECAUCION¡¡¡;
ESPERO SE ENTIENDA
Casimiro Notevi
16-09-2011, 22:56:33
gente queria saber si se pues realizar 2 asignaciones en un misma sentencia del case:
algo asi quisiera sabeer
case (cmbNivel) then
0:lblNivel.caption:=alto;
1:lblNivel.Caption:=medio;
2:lblNivel.Caption:=bajo (y tambien poder hacer aqui=)lblAdvertencia:caption:=¡¡¡PRECAUCION¡¡¡;
ESPERO SE ENTIENDA
Hola, se puede, sólo debes encerrarlo entre begin end
case cmbNivel.itemindex of
0:lblNivel.caption:='alto';
1:lblNivel.Caption:='medio';
2:begin
lblNivel.Caption:='bajo';
lblAdvertencia:caption:='¡¡¡PRECAUCION!!!';
end;
end;
¡¡¡Recuerda poner etiquetas al código!!!
juaarias
16-09-2011, 22:57:58
busque y busque y no pude dar con esto gracias genio diculpas soy novato
oscarac
16-09-2011, 23:21:21
casimiro se refiere a estas etiquetas :rolleyes:
http://neftali.clubdelphi.com/images/UtilizarTAGs.png
juaarias
25-09-2011, 22:58:53
estoy intentado agragar a un case que si el itemIndex esta entre a y d, decir por ejemplo categoria UNO,no me doy cuenta como hacerlo ayuda plis jej
case cmbNivel.itemindex of
(a y d):lblNivel.caption:='Unoo';//obvio el y es simbolico muy pseudo jeje
1:lblNivel.Caption:='medio';
2:begin
lblNivel.Caption:='bajo';
lblAdvertencia:caption:='¡¡¡PRECAUCION!!!';
end;
end;
juaarias
25-09-2011, 23:01:27
estoy intentado agragar a un case que si el itemIndex esta entre a y d, decir por ejemplo categoria UNO,no me doy cuenta como hacerlo ayuda plis jej
Código:
case cmbNivel.itemindex of a y d:lblNivel.caption:='Uno'; .
.
end;
ecfisa
25-09-2011, 23:15:45
Hola juarias.
Te pongo un ejemplo con un RadioGroup:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0..1: ShowMessage('0 a 1');
2..3: ShowMessage('2 a 3');
4..5: ShowMessage('4 a 5');
end;
end;
Saludos.
juaarias
17-10-2011, 22:32:54
hola gente queria consultarles sobre donde esta el error en el siguiente codigo:
//calculo estadia
case cmbCantidad.ItemIndex of
(0):begin
case a of
(a<7):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*750);
(a=7):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*4900);
(a=15):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*8000);
end;
(1):begin
case a of
(a<7):(frmFactura.stgFactura.Cells[2,0]:= inttostr(a*750));
(a=7):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*4900);
(a=15):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*8000);
end;
(2):begin
case a of
(a<7):(frmFactura.stgFactura.Cells[2,0]:= inttostr(a*750));
(a=7):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*4900);
(a=15):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*8000);
end;
end;
end;
end;
end;
oscarac
17-10-2011, 22:36:25
te muestra algun tipo de error?
cual es?
ah y que pasa si a es igual a 8 o 9 o menos de 15?
Casimiro Notevi
17-10-2011, 22:39:26
Pues dinos el error que sale, se nos ha averiado la bola de cristal USB ;)
juaarias
17-10-2011, 22:49:57
jjaja perdonen,jajajaj,lo de si es otro valor no hay drama se lo controlares el error que me sales;
E2026 Constant expression expected
Casimiro Notevi
17-10-2011, 22:55:05
No dices en qué linea, pero juraría que es por los paréntesis que has puesto en los case:
(0):
(1):
etc.
Quita esos paréntesis.
juaarias
17-10-2011, 22:56:03
case cmbCantidad.ItemIndex of
(0):begin
case a of
(a<7):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*750); //me señala desde aca paa abajo
(a=7):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*4900);
(a=15):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*8000);
end;
(1):begin
case a of
(a<7)frmFactura.stgFactura.Cells[2,0]:= inttostr(a*750));
(a=7):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*4900);
(a=15):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*8000);
end;
(2):begin
case a of
(a<7)frmFactura.stgFactura.Cells[2,0]:= inttostr(a*750));
(a=7):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*4900);
(a=15):frmFactura.stgFactura.Cells[2,0]:= inttostr(a*8000);
end;
end;
end;
end;
end;
Casimiro Notevi
17-10-2011, 22:56:46
También es porque en los case anidados no has puesto constantes en los valores:
(a<7)frmFactura.stgFactura.Cells[2,0]:= inttostr(a*750));
Eso no vale, debes poner valores constantes. También te faltarían los dos puntos ':'
juaarias
17-10-2011, 23:42:41
valores constantes???
juaarias
17-10-2011, 23:47:48
me especificas un poquito que no me doy cuenta?
Casimiro Notevi
18-10-2011, 00:04:18
Resumiendo, no puedes poner como condición del case (a<7), tienes que poner 1, 2, 3, etc.
Además has puesto case dentro de case, sin su end, aunque esa parte no sé si lo has hecho así realmente o es una equivocación, porque veo que los cierras al final, los end.
juaarias
18-10-2011, 00:19:29
graciasssss por dios que tonto soy, para saber si es menor que 7, debo utilizar 1..6,muchas gracias por su tiempo espero poder algun dia ayudar como uds hacen conmigo genios¡¡¡¡
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.