Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Wert "nicht gesetzt" bei primitiven Datentypen - wie?

  Alt 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)
  Mit Zitat antworten Zitat