Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   uso de case (https://www.clubdelphi.com/foros/showthread.php?t=75758)

juaarias 16-09-2011 22:52:42

uso de case
 
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

Cita:

Empezado por juaarias (Mensaje 412386)
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

Código Delphi [-]
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

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

juaarias 25-09-2011 22:58:53

que hay de nuevo con el case,je,consulta
 
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 Delphi [-]
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

que hay de nuevo con el case,je,consulta
 
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:
Código Delphi [-]
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:
Código Delphi [-]
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

case dentro de case?
 
hola gente queria consultarles sobre donde esta el error en el siguiente codigo:
//calculo estadia
Código Delphi [-]
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

case dentro de case?
 
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

Código Delphi [-]
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:
Código Delphi [-]
(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

case dentro de case?
 
valores constantes???

juaarias 17-10-2011 23:47:48

case dentro de case?
 
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

case dentro de case?
 
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¡¡¡¡


La franja horaria es GMT +2. Ahora son las 21:30:45.

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