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 27-07-2006
[David] David is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Málaga
Posts: 417
Poder: 21
David Va por buen camino
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;
Responder Con Cita
  #2  
Antiguo 27-07-2006
Avatar de HenryAraniva
HenryAraniva HenryAraniva is offline
Miembro
 
Registrado: jun 2005
Ubicación: El Salvador
Posts: 44
Poder: 0
HenryAraniva Va por buen camino
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'
__________________
Cuando la única herramienta es un martillo todos los problemas tienen cara de clavo
Responder Con Cita
  #3  
Antiguo 27-07-2006
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
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.
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #4  
Antiguo 28-07-2006
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 28-07-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Muy elegante tu solución, Héctor!

Edu
Responder Con Cita
  #6  
Antiguo 28-07-2006
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Que interesante... jamas habia visto esa forma de case......
__________________
[Lo que a veces es tan facil, a veces parece imposible]
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
Uso del Case IVAND SQL 4 05-04-2006 17:39:48
Problemas al usar el TUpdateSql zugazua2001 SQL 0 16-08-2005 01:31:58
Herramientas CASE animal Varios 3 16-03-2005 23:43:37
Problemas al usar TDirectoryListBox squenda OOP 3 07-11-2004 20:18:50


La franja horaria es GMT +2. Ahora son las 23:13:00.


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