Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Problemas al usar case (https://www.clubdelphi.com/foros/showthread.php?t=34128)

David 27-07-2006 21:01:01

Problemas al usar case
 
Tengo un case así y me da error , en el >0 y <0 obviamente , como hago para los valores mayores y menores de 0 .

Cómo tendria que hacer este código

Código Delphi [-]
var 
i : integer ;
valor : string;

case i of
0 : valor := ' lo que sea ';
>0 : valor := ' xxx' ;
<0 : valor := 'lo que sea también';
end;

HenryAraniva 27-07-2006 21:11:17

hasta donde entendí, para lo que quieres hacer sería mejor utilizar un if así:

if i = 0 then
valor := 'blablabla'
else
if i >0 then
valor := 'otra cosa'
else
valor:='xxxxx'

ilichhernandez 27-07-2006 21:19:47

Al case no se le pueden dar valores de mayor que o menor que, deben ser
tiop numericos, de texto o boolean.... al menos esos salen en los manuales que he revisado....

Case var of

true : blabla

false : blabla

o puede ser

1: blabla
2:blabla


o tambien

uno : blabla
dos:blabla

en todo caso coincido con el compañero que respondio antes , el if es el indicado para este caso.

Héctor Randolph 28-07-2006 01:12:10

La sentencia case también acepta rangos.

Prueba de esta forma:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  I:Integer;
begin
  I:=1000;
  case I of
   0: ShowMessage('Cero');
   1..High(Integer): ShowMessage('Mayor a cero');
   else ShowMessage('Menor a cero');
  end;
end;

Saludos

epuigdef 28-07-2006 07:19:04

Muy elegante tu solución, Héctor!

Edu

ilichhernandez 28-07-2006 17:14:19

Que interesante... jamas habia visto esa forma de case......


La franja horaria es GMT +2. Ahora son las 14:52:59.

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