Ver Mensaje Individual
  #11  
Antiguo 06-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Reputación: 27
delphi.com.ar Va por buen camino
Eso lo aseguro, que el compilador lo reduce a la mínima expresión, tenía la idea de que había una directiva al compilador para modificar esto, pero no la encotré.

Por otro lado, aquí tienen un ejemplo como otros conjuntro extaños siguen ocupando lo mínimo indispensable:
Código Delphi [-]
type
  TMiTipo1 = (msValorA1, msValorA2, msValorA3);
  TMiSet1  = set of TMiTipo1;

  TMiTipo2 = (msValorB1 = 253, msValorB2, msValorB3);
  TMiSet2  = set of TMiTipo2;

  {$MINENUMSIZE 4}
  TMiTipo3 = (msValorC1, msValorC2, msValorC3);
  TMiSet3  = set of TMiTipo3;
  {$MINENUMSIZE 1}

  TMiTipo4 = 0..31;
  TMiSet4  = set of TMiTipo4;

  TMiTipo5 = 1..32;
  TMiSet5  = set of TMiTipo5;

  TMiTipo6 = 'a'..'z';
  TMiSet6  = set of TMiTipo6;
....

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Lines.Add(Format('1> Tamaño: %d Tipo: %d Valor del Primer Item:%d', [SizeOf(TMiSet1), SizeOf(TMiTipo1), Integer(msValorA1)]));
  Memo1.Lines.Add(Format('2> Tamaño: %d Tipo: %d Valor del Primer Item:%d', [SizeOf(TMiSet2), SizeOf(TMiTipo2), Integer(msValorB1)]));
  Memo1.Lines.Add(Format('3> Tamaño: %d Tipo: %d Valor del Primer Item:%d', [SizeOf(TMiSet3), SizeOf(TMiTipo3), Integer(msValorC1)]));
  Memo1.Lines.Add(Format('4> Tamaño: %d Tipo: %d', [SizeOf(TMiSet4), SizeOf(TMiTipo4)]));
  Memo1.Lines.Add(Format('5> Tamaño: %d Tipo: %d', [SizeOf(TMiSet5), SizeOf(TMiTipo5)]));
  Memo1.Lines.Add(Format('6> Tamaño: %d Tipo: %d', [SizeOf(TMiSet6), SizeOf(TMiTipo6)]));
end;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita