folgendes Problem.
Ich will einen Stringgrid durchsuchen, dessen Inhalte auseinander nehmen und auf standardtisierte Eingabe überprüfen.
Da es sich um eine Turingtafel handelt, muss die eingabe x, zy, u entsprechen, was x, z, y und u sind, seht ihr ja im Programm.
Problem dabei: es funktioniert einfach nicht, und ich hab partout keine Ahnung wo mein problem liegt.
Fehlermeldungen liegen insofern vor, dass er als falsch ansieht was eigentlich richtig ist.
der text:
Delphi-Quellcode:
for i:=1 to (StrToInt(edit1.text)) do
begin
for j:=1 to 3 do
begin
ts:=copy(stringgrid1.cells[i,j],0,1);
IF NOT (ts='x') OR (ts='X') OR (ts='0') OR (ts='1')
then
begin
showmessage('Die Eingabe "'+stringgrid1.Cells[i,j]+'" ist nicht regelkonform. Bitte überarbeiten.');
korrekt:=false;
end;
ts:=copy(stringgrid1.cells[i,j],3,1);
IF NOT ((ts='z') OR (ts='Z')) AND (korrekt=true)
then
begin
showmessage('Die Eingabe "'+stringgrid1.Cells[i,j]+'" ist nicht regelkonform. Bitte überarbeiten.');
korrekt:=false;
end;
ts:=copy(stringgrid1.cells[i,j],4,1);
IF NOT ((ts='0') OR (ts='1') OR (ts='2') OR (ts='3') OR (ts='4') OR (ts='5') OR (ts='6') OR (ts='7') OR (ts='8') OR (ts='9')) AND (korrekt=true)
then
begin
showmessage('Die Eingabe "'+stringgrid1.Cells[i,j]+'" ist nicht regelkonform. Bitte überarbeiten.');
korrekt:=false;
end;
ts:=copy(stringgrid1.cells[i,j],6,1);
IF NOT ((ts='R') OR (ts='r') OR (ts='N') OR (ts='n') OR (ts='L') OR (ts='l')) AND (korrekt=true)
then
begin
showmessage('Die Eingabe "'+stringgrid1.Cells[i,j]+'" ist nicht regelkonform. Bitte überarbeiten.');
korrekt:=false;
end;
end;
end;
Danke für die Hilfe, tipps reichen auch...