Die Strings label27.caption und DBEdit21.text sind, wenn die jeweilige Rechnung als bezahlt markiert wurde, gleich und sollte then ausführen. Bei Rechnungen die als nicht bezahlt markiert sind, sollte der else-Zweig ausgeführt werden. Zum vergleichen der beiden Strings verwende ich folgende Funktion:
Delphi-Quellcode:
function vergleicheStringsN(s1, s2:string; n:Word): Boolean;
var i: Word;
function delLZ(s: string): string;
var ss: string;
i, j: Word;
begin
j:=0; ss:='';
for i:=1 to Length(s) do
begin
if (s[i] <> ' ') and (s[i] <> '-') then
begin
Inc(j);
ss:= ss + s[i]
end;
if j=n then Break
end;
Result := UpperCase(ss)
end;
begin
if delLZ(s1)=delLZ(s2) then Result:=True else Result:=False;
end;
var flag:word;
Button1 hat folgende Prozedur:
Delphi-Quellcode:
procedure TRechnung.Button1Click(Sender: TObject);
begin
Table1.Post;
Table1.Refresh;
Timer1.Enabled:=True;
end;
Timer1:
Delphi-Quellcode:
procedure TRechnung.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=False;
if Table1.EOF then begin
spSkinButton17.Enabled:=True;
end else begin
Button3Click(nil); //wieder zurück
end;
end;