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 05-07-2007
luigi_cr luigi_cr is offline
Miembro
 
Registrado: jul 2007
Ubicación: Costa Rica
Posts: 39
Poder: 0
luigi_cr Va por buen camino
como crear un enum en delphi

no se si se puede no soy my distro programando en delphi, en JAVA se decaran primero los tipos y despues el enum
public static final int SEASON_WINTER = 0;
public static final int SEASON_SPRING = 1;
public static final int SEASON_SUMMER = 2;
public static final int SEASON_FALL = 3;
enum Season { WINTER, SPRING, SUMMER, FALL }

gracias por la ayuda...
Responder Con Cita
  #2  
Antiguo 05-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Como comprenderas, de Java, no se nada, pero me suena a la declaracion de variables publicas de tipo integer y a un array (season).
Tal vez si explicas lo que quieres hacer, pueda colaborar.
Saludos
Responder Con Cita
  #3  
Antiguo 05-07-2007
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
Poder: 27
delphi.com.ar Va por buen camino
Simplemente puedes definir un tipo enumerado, y el compilador decidirá según los datos de la enumeración el espacio a reservado de la variable:
Código Delphi [-]
uses
  SysUtils, Dialogs;

type
  TEnumeracion1 = (Valor1 = 1, Valor2 = 2, Valor3 = 3);
  TEnumeracion2 = (eValor1 = 1, eValor2 = 2, eValor3 = 30000);

begin
  ShowMessageFmt('Enum1: %d, Enum2: %d', [SizeOf(TEnumeracion1), SizeOf(TEnumeracion2)]);
end.

Es bueno saber, que como las variables son representadas por tipos numéricos estándard, pueden contener algun valor que no este definido en la enumeración:
Código Delphi [-]
type
  TEnumeracion = (Valor1 = 5, Valor2 = 27, Valor3 = 60);

var
  C: TEnumeracion;
begin
  C := TEnumeracion(70);
  ShowMessage(IntToStr(Integer(C)));
end.

Si no defines los valores de la enumeración, serán correlativos iniciando de cero:
Código Delphi [-]
type
  TEnumeracion = (Valor1, Valor2, Valor3);

begin
  ShowMessageFmt('Valor 1: %d, Valor 2: %d, Valor 3: %d', [Integer(Valor1), Integer(Valor2), Integer(Valor3)]);
end.
o del último valor asignado:
Código Delphi [-]
type
  TEnumeracion = (Valor1 = 100, Valor2, Valor3);

begin
  ShowMessageFmt('Valor 1: %d, Valor 2: %d, Valor 3: %d', [Integer(Valor1), Integer(Valor2), Integer(Valor3)]);
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
  #4  
Antiguo 05-07-2007
luigi_cr luigi_cr is offline
Miembro
 
Registrado: jul 2007
Ubicación: Costa Rica
Posts: 39
Poder: 0
luigi_cr Va por buen camino
Gracias

otra pregunta puedo hacer la enumeracion de Strings????
Responder Con Cita
  #5  
Antiguo 05-07-2007
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
Código Delphi [-]
TEnumString = class
  private
       FKeys : TStrings;
       FValues : TStrings;
       procedure setString(index: string): string;
       function getString(index: string; value : string): string;
  public
       constructor create;
       property items[index : string]: string read getString write setString; default;
       function add(key, value : string): integer;
end;

constructor TEnumString.create;
begin
  FValues := TStringList.create;
  FKeys := TstringList.create;
end;

function TEnumString.add(key, value : string): integer;
begin
  FValues.add(value);
  result := FKeys.add(key);
end;

function TEnumString.getString(index: string): string;
begin
    result := FValues[FKeys.indexOf(index)] ;
end;

procedure TEnumString.setString(index: string; value : string): string;
begin
        FValues[FKeys.indexOf(index)] := value;
end;
__________________
self.free;

Última edición por droguerman fecha: 05-07-2007 a las 23:29:28.
Responder Con Cita
  #6  
Antiguo 05-07-2007
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
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por luigi_cr
otra pregunta puedo hacer la enumeracion de Strings????
Los tipos enumerados solo pueden ser de datos ordinales... Que bien podrían ser el ídice de un array de strings

¿Qué es lo que quieres hacer?... ¿Para qué lo piensas utilizar?

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
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
como crear una dll en Delphi Trigger Varios 7 11-09-2010 17:42:13
cómo crear ventana de inicio como la de word o delphi? jpcancino Varios 2 14-03-2007 02:56:02
Como crear un Escenario en Delphi??? OlimpuZ Gráficos 2 10-03-2007 17:32:32
Como crear un objeto en Delphi ? Delphiboy OOP 3 31-01-2006 20:39:15
NO ENTRA -> if Enum.Text = adoquery1.FieldByName('numero').AsString then sakuragi Conexión con bases de datos 3 29-05-2005 18:11:06


La franja horaria es GMT +2. Ahora son las 12:57:19.


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