Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: Array [Auszählungstyp] of irgendwas?
17. Dez 2013, 19:37
Und warum nicht so?
Delphi-Quellcode:
type
TEnum = ( Anfang, Mitte, Ende );
const
g_TEnumNames = Array[TEnum] of String = ( 'Anfang', 'Mitte', 'Ende' );
// Wobei dieses nur in der Datenschicht deklariert werden muss, da es nur dort benötigt wird
g_TEnumValues = array[TEnum] of integer = ( 1, 3, 5 );
Das hat auch den Vorteil, dass man auch unterschiedliche Datentöpfe mit unterschiedlichen Kennziffern (für die gleiche Aussage) haben kann, die im Programm aber komplett gleich behandelt werden.
Delphi-Quellcode:
unit LayerDataInhouse;
interface
procedure Save( AEnum : TEnum );
implementation
const
C_TEnumValues : array[TEnum] of integer = ( 1, 3, 5 );
procedure Save( AEnum : TEnum );
begin
Save( C_TEnumValues[AEnum] );
end;
end.
und
Delphi-Quellcode:
unit LayerDataSomethingDifferent;
interface
procedure Save( AEnum : TEnum );
implementation
const
C_TEnumValues : array[TEnum] of integer = ( 25, 3, 9 );
procedure Save( AEnum : TEnum );
begin
Save( C_TEnumValues[AEnum] );
end;
end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
Geändert von Sir Rufo (17. Dez 2013 um 19:44 Uhr)
|