Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
AW: Wert "nicht gesetzt" bei primitiven Datentypen - wie?
3. Mai 2018, 11:08
Je nach Anwendungsfall könnte auch eine Universallösung sinnvoll sein:
Delphi-Quellcode:
type
TNullableValue = record
IsNull: Boolean;
ValueBool: Boolean;
ValueInt: Integer;
ValueString: string;
{ usw. }
end;
Das nennt sich Variant, bzw. es ist der kleine Bruder davon (oder Schwester oder Geschlechtsunentschiedener)
@Whookie: Nein, "höhere" Typen dürfen/können nicht in variante Teiles des Records rein.
Delphi-Quellcode:
type
TNullableValue = Record
case ValueType: {Integer}TEinEnumMitDenNamenDerTypenUndNullIstAuchEinTyp of
0: (ValueBool: Boolean);
1: (ValueInt: Integer);
2: (ValueString: PChar);
{ usw. }
666: ({IsNull: Boolean = True});
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
Geändert von himitsu ( 3. Mai 2018 um 11:13 Uhr)
|