Einzelnen Beitrag anzeigen

Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Variablen doppelt (float und str) verwalten?

  Alt 18. Feb 2022, 10:55
Vielleicht ist es für mich noch zu früh am Morgen, aber bei uns bin ich hiermit eigentlich glücklich geworden:

Für Einheiten eigenen Typ definieren, wie z.B.
Delphi-Quellcode:
type
  /// <summary>Luftdruck in <b>kPa</b></summary>
  TAirPressure = Single;

  /// <summary>Temperatur in °C</summary>
  TTemperature = Single;
Wenn man das dann irgendwo auf dem Bildschirm oder anzeigt gibt es einen IUnitFormatter mit z.B
Delphi-Quellcode:
IUnitFormatter = interface
  function format(
    const airPressure: TAirPressure;
    const digits: Byte = 0
  ): String; overload;
  function format(
    const temperature: TTemperature;
    const digits: Byte = 1
  ): String; overload;
end;
Dann beschränkt sich das Anzeigen in Edit-Feldern, Grids usw. meist auf ein simples: Text := myFormatter.format(myTemperature); Ist der Benutzer dann z.B. so verrückt dass er statt °C lieber diese komischen Ami-Einheiten (°F und so) haben will, wird zur Laufzeit einfach der Formatter ausgetauscht der dann als Ergebnis nicht "40,1 °C" sondern "60.4 °F" ausgibt.
  Mit Zitat antworten Zitat