Also die Regeln für die Funktions-Parameter müssen dem Programm beigebracht werden -> programmieren
Funktionen in der Hauptform -> igitt, Trennung von Ein- Ausgabe und Code
Definiere Dir für die Funktionen jeweils eine Klasse, die sich selbst auf Konsistenz prüft.
Über das Formular füllst du die entsprechende Klasse. Wenn alles ok, dann kann man auf OK drücken, sonst nicht.
Hier mal eine Beispiel-Klasse:
Delphi-Quellcode:
TDaten = class
private
FData1 : integer;
FData2 : integer;
procedure SetData1( Value : integer );
procedure SetData2( Value : integer );
public
property Data1 : integer read FData1 write SetData1;
property Data2 : integer read FData2 write SetData2;
function OK : Boolean;
end;
procedure TDaten.SetData1( Value : integer );
begin
FData1 := Value;
end;
procedure TDaten.SetData2( Value : integer );
begin
FData2 := Value;
end;
function TDaten.OK : Boolean;
begin
Result := ( FData1 <> FData2 ) and ( FData1 <> 0 ) and ( FData2 <> 0 );
end;
Diese Klasse liefert über TDaten.OK nur dann True, wenn Data1 ungleich Data2 und beide Werte nicht 0 sind.
Denkbar wäre jetzt auch noch eine Funktion, die mir einen beschreibenden Text zurückgibt (z.B. "Die Werte müssen unterschiedlich sein!")
Dann kann man sich auch den Assistenten sparen und der Anwender kann nach Herzenslust im Formular rumklicken, bis alles im grünen Breich ist.
cu
Oliver