Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 27-05-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Me jugaría la cabeza a que es un problema de rango de los conjuntos.

Verás, un conjunto en Delphi tiene un máximo de 255 elementos, porque la estructura interna del conjunto usa 8 bits.

Cuando uno crea un conjunto "al vuelo" (con "[" y "]") si los valores sobrepasan el máximo de 8 bits ocurreo overflow y por eso si uno intenta evaluar valores mayores a 255, pues... no funciona porque los valores fueron truncados.

Por ejemplo:

Código Delphi [-]
var a, b, c: Integer;
begin
  a:= 270;
  b:= 345;
  c:= 30;
  if c in [a..b] then ShowMessage('sí');
end;

Da que 30 está entre 270 y 345 . Eso es porque en realidad el conjunto [a..b] quedó formado por los valores 14 y 89.

Así, si uno hace:

Código Delphi [-]
var a, b, c: Integer;
begin
  a:= 270;
  b:= 345;
  c:= 300;
  if c in [a..b] then ShowMessage('sí');
end;

Va a decir que 300 no está entre 14 y 89, aunque uno pensó que era entre 270 y 345...

EDITO: Esto es en Delphi 7, no sé si los conjuntos de D2009 serán igual.

Última edición por Lord Delfos fecha: 27-05-2010 a las 22:03:55.
Responder Con Cita
 



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
El programa se queda "colgado" mientras copia y luego "despierta" NeWsP OOP 5 10-03-2010 22:05:40
Problemas con fechas, cambiar de formato "mm/dd/aaaa" a "dd/mm/aaaa" nurilla Firebird e Interbase 6 18-02-2010 13:40:53
"OBJECT OR CLASS TYPE REQUIRED" en "APPLICATION EXENAME" Xavierator Varios 3 27-10-2008 09:09:50
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53
Tiene delphi Problemas con "Pentum M"? akela Varios 4 05-10-2005 00:24:40


La franja horaria es GMT +2. Ahora son las 16:18:50.


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