Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#12

Re: Anzahl der Felder in einem Record

  Alt 19. Jan 2009, 12:05
Properties im Varianten Teil sind leider auch nicht möglich, aber sowas wäre da schon möglich:

- intern alle nötigen Felder jedes Types erstellen
- und nach Außen, dann jeweils pasend zu den Einzelrecords, die Properties auf diese Felder verteilen
- hier könnte man auch Setter-/Gettermethoden verwenden, um z.B. noch einen Identifierer su beschreiben, welcher angibt, welche Version (welche Property-Gruppe) verwendet wurde
Delphi-Quellcode:
Type
  MyRecord = Record
  Private
    iFeld1: Integer;
    iFeld2: String;
    iFeld3: String;
    iFeld4_1: String;
    iFeld4_2: Integer;
  Public
    Property Rec1_Feld1: Integer Read iFeld1 Write iFeld1;
    Property Rec1_Feld2: String Read iFeld2 Write iFeld2;
    Property Rec1_Feld3: String Read iFeld3 Write iFeld3;

    Property Rec2_Feld1: Integer Read iFeld1 Write iFeld1;
    Property Rec2_Feld2: String Read iFeld2 Write iFeld2;
    Property Rec2_Feld3: String Read iFeld3 Write iFeld3;
    Property Rec2_Feld4: String Read iFeld4_1 Write iFeld4_1;

    Property Rec3_Feld1: Integer Read iFeld1 Write iFeld1;
    Property Rec3_Feld2: String Read iFeld2 Write iFeld2;
    Property Rec3_Feld3: Integer Read iFeld4_2 Write iFeld4_2;
  End;
Delphi-Quellcode:
Type
  MyRecord = Record
  Private
    iType: Integer; // oder 'nen SET
    iFeld1: Integer;
    iFeld2: String;
    iFeld3: String;
    iFeld4_1: String;
    iFeld4_2: Integer;
  Public
    Property Rec1_Feld1: Integer Read iFeld1 Write SetRec1Feld1;
    Property Rec1_Feld2: String Read iFeld2 Write SetRec1Feld2;
beim Speichern dann entweder über iType die Speichermethode wählen, alles speichern oder alles abweichend von einem Defaultwert speichern.
$2B or not $2B
  Mit Zitat antworten Zitat