Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [D5] Type Enum Werte zuweisen (https://www.delphipraxis.net/129334-%5Bd5%5D-type-enum-werte-zuweisen.html)

API 17. Feb 2009 09:58


[D5] Type Enum Werte zuweisen
 
Hi

Delphi 5 kennt diese Syntax nicht. Wie setzt man dies in D5 um?

Delphi-Quellcode:
type
  TSomeEnum = (Enum1 = 1, Enum2 = 6, Enum3 = 80);

himitsu 17. Feb 2009 10:14

Re: [D5] Type Enum Werte zuweisen
 
Zitat:

Zitat von API
Hi

Delphi 5 kennt diese Syntax nicht. Wie setzt man dies in D5 um?

Delphi-Quellcode:
type
  TSomeEnum = (Enum1 = 1, Enum2 = 6, Enum3 = 80);

da kannst du entweder auf andere Typen umsteigen.


Delphi-Quellcode:
type
  TSomeEnum = Byte;

const
  Enum1 = 1;
  Enum2 = 6;
  Enum3 = 80;
oder du mußt mit Füllwerten arbeiten
Delphi-Quellcode:
type
  TSomeEnum = (fill0, Enum1, fill2, fill3, fill4, fill5, Enum2...
In D5 war es noch nicht möglich die Werte vorzubelegen.



und ob sowas ginge, weiß ich jetzt nicht (ab D7 ist dieses jedenfalls nicht möglich ... davor konnt ich jetzt nicht testen)
Delphi-Quellcode:
const
  Enum1 = 1;
  Enum2 = 6;
  Enum3 = 80;

type
  TSomeEnum = (Enum1, Enum2, Enum3);
[edits] so viele Vehler
[noch'n edit] man, bin ich blöd

Satty67 17. Feb 2009 11:16

Re: [D5] Type Enum Werte zuweisen
 
Zitat:

Zitat von himitsu
oder du mußt mit Füllwerten arbeiten
Delphi-Quellcode:
type
  TSomeEnum = (fill0, Enum1, fill2, fill3, fill4, fill5, Enum2...

Das knallt aber dann spätestens bei einem
Delphi-Quellcode:
 aArray : array[TSomeEnum] of Type;
Ich musste wegen sowas auch schon den kompletten Quellcode anpassen.

himitsu 17. Feb 2009 11:26

Re: [D5] Type Enum Werte zuweisen
 
Zitat:

Zitat von Satty67
Ich musste wegen sowas auch schon den kompletten Quellcode anpassen.

Delphi-Quellcode:
type TSomeEnum = (Enum1 = 1, Enum2 = 6, Enum3 = 80);
var aArray: array[TSomeEnum] of Integer;

Length(aArray) = 80;
bei sowas muß man eh aufpassen
denn aarray ist nicht 3 Felder klein ... es ist ja 80 groß
>
Delphi-Quellcode:
Array[Low(TSomeEnum)..High(TSomeEnum)] = Array[1..80]
[edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit]

Satty67 17. Feb 2009 11:35

Re: [D5] Type Enum Werte zuweisen
 
Ja, wenn der letzte Wert definiert ist.

Mein Problem hatte ich mit
Delphi-Quellcode:
 TVersion = (Version2 = 2, Version3, Version4);


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz