GuenterS hat dir ja den Fehler bereits korrigiert... Dennoch ein paar Anmerkungen zu deiner Struktur, die, wie ich finde, nicht wirklich schön aufgestellt ist:
- Dein SetZero Methode aus der TForm1 Klasse gehört nicht dorthin, sondern innerhalb deiner TZins Klasse.Damit bist du unabhängig, die Methode auch für andere Instanzen zu nutzen
- Wenn du schon Set-Methode in der TZins Klasse definierst, dann würde ich auch eine Property drumrumlegen. Auch würde ich nicht innerhalb der TZins Klasse die Konvertierung von String nach Float vornehmen, sondern das nur von aussen. Deine TZins Klasse macht dann mehr, was man von ihr erwartet: Man übergibt Werte, und lässt sich was ausrechnen. Es ist nicht Aufgabe der TZins Klasse, diese String-Float Konvertierungen vorzunehmen.
- Auch die Get-Funktionen sollten einen String zurückliefern. Im Übrigen sollten sowohl die Get und Set Methoden von aussen nicht zugänglich sein, sondern nur über die Properties angesprochen werden... Hier mal am Beispiel von Kapital:
Delphi-Quellcode:
interface
type
TZins = class (TObject)
private
function GetKapital: single;
procedure SetKapital(const Value: single);
public
property Kapital : single read GetKapital write SetKapital ;
end;
implementation
{ TZins }
function TZins.GetKapital: single;
begin
return ...
end;
procedure TZins.SetKapital(const Value: single);
begin
FKapital := value ;
end;
end.