Strings beginnen in Delphi an Position 1. Somit brauchst du deine Schleifen nur von 1-5 statt 0-4 laufen zu lassen und das Problem sollte gelöst sein.
Bitte benutzer beim nächstenmal die Delphi Code Tags
Delphi-Quellcode:
procedure Tzt.btndreierpaschClick(Sender: TObject);
var
i,j,comp:integer;
str:string;
begin
btndreierpasch.enabled := false;
btnbegin.enabled := true;
comp:=1;
str:=lbl1.caption+lbl2.caption+lbl3.caption+lbl4.c aption+lbl5.caption;
for i:=1 to 5 do
begin
if comp < 3 then
begin
comp:=1;
for j:=i+1 to 5 do
begin
if (str[i])=(str[j]) then
comp:=comp+1;
end;
end;
end;
if comp >= 3 then
lbldreierpasch.caption:=(inttostr (strtoint(lbl1.caption)+ strtoint(lbl2.caption)+ strtoint(lbl3.caption)+ strtoint(lbl4.caption)+ strtoint(lbl5.caption)));
lblN.caption := '0';
Gruß, Norbert