Dann will ich hier auch mal meine Version der
Unit veröffnetlichen
Das ganze baut auf einen erweiterten Record-Datentyp auf, ist also erst ab Delphi 2006 verfügbar.
Das besondere sind die class Operatoren, welche eine einfache Handhabung der Variablen zur Verfügung stellen.
Die einzelnen Instanzen müssen
nicht zuerst mit Create erstellt und mit Free freigegeben werden!
Beispiel:
Delphi-Quellcode:
procedure foo;
var A, B, C: TBruch;
begin
A := 3; // jetzt steht in A 3/1
B.Zaehler := 8;
B.Nenner := 5; // jetzt steht in B 8/5
B := B + 1; // jetzt steht in B 13/5
C := B * A; // (13/5) * (3/1) = 39/5
C := C / 13; // C = 3/5
showmessage(FloatToStr(C)); // Fließkommazahl! 0,6
end;