Thema: Delphi Maßeinheiten als Typen

Einzelnen Beitrag anzeigen

Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.252 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Maßeinheiten als Typen

  Alt 11. Okt 2018, 07:46
Genaugenommen gibts 2:

1. Beispiel

Delphi-Quellcode:
Procedure Tuwas(const gramm:integer);overload;
Procedure Tuwas(const kilogram:integer);overload;
das tut so nicht, da der Compiler meint es wären die gleichen Parameter.

2. Beispiel

Procedure TuwasAnderes(const gramm:integer;const Kilogramm:integer); Hier könnte ich z.B. problemlos auch Tonnen übergeben, was u.U. zu recht...interresanten Problemen führen kann.
Mit entsprechenden Typen kann ich sicherstellen, das dort, wo Gramm als Parameter erwartet wird, auch nur Gramm übergeben werden können.

3. Angenehmer Nebeneffekt

Delphi-Quellcode:
var
  a : Gramm;
  b : Kilogramm;
  erg : Gramm;

begin
  a := 10;
  b := 10;
  erg := a+b; //<-- Ergibt 10010 Gramm !
end;
Würde ich hier z.B. einfach integer nehmen, könnte man das Ergebnis in die Tonne treten.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat