Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 26-10-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Delfino.

Coincido con lo dicho por mamcx y roman sobre la consecutividad de los elementos, de no ser así hay que recorrerlos.

También muy acertada la pregunta de Casimiro. Si se trata de tipos enumerados de elementos consecutivos y siendo divisible en subconjuntos, podrías hacer:
Código Delphi [-]
type
  TEnum = Byte;
  TSet  = set of TEnum;

function GetPosEnum(const aSet: TSet; const aEnum: TEnum; const aPaso: Byte): Integer;
begin
  if not(aEnum in aSet) then
    Result := -1
  else if Ord(aEnum) mod aPaso = 0 then
    Result := aPaso
  else
    Result := Ord(aEnum) mod aPaso;
end;

Ejemplo de uso:
Código Delphi [-]
...
var
  s : TSet;
  e : TEnum;
  n : Integer;
begin
  s := [1,2,3,4,5,6,7,8,9,10,11,12];
  e := 11;

  n := GetPosEnum(s, e, 4); // (3 subconjuntos de 4 elementos)
  if n <> -1 then
    ShowMessage(Format('Posición de %d: %d',[e, n])) // Posición de 11: 3
  else
    ShowMessage('valor no encontrado')
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 26-10-2015 a las 23:16:24.
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
Mis habituales problemas al trabajar con conjuntos santiago14 Varios 3 05-08-2011 18:59:38
Manejar conjuntos (sets) en Delphi santiago14 Varios 1 25-08-2010 00:19:33
calculadora de conjuntos...insercion, union,etc sakuragi JAVA 3 19-02-2009 16:46:59
Operaciones de conjuntos. C# sakuragi .NET 2 18-06-2006 22:05:41
funcion de conjuntos,interseccion, union... sakuragi Varios 13 09-09-2005 23:01:52


La franja horaria es GMT +2. Ahora son las 19:08:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi