Sooo, ich hab den Code mal etwas verändert.
Sets eingebaut und das goto entfernt
Was haltet ihr davon?
Delphi-Quellcode:
program test;
{$APPTYPE CONSOLE}
uses SysUtils;
// Dies ist unser ErgebnisTyp:
type TCharTyp = (Ziffer, Zeichen, Andere);
type TStringTyp = set of TCharTyp;
function CheckStr(Str:string):TStringTyp;
var
i:Integer;
begin
// "Fehlerbehandlung"
if Str = '' then
begin
Result := [];
exit;
end;
for i:=1 to Length(Str) do
begin
if str[i] in ['0'..'9'] then
Include(Result, Ziffer);
else if str[i] in ['a'..'z','A'..'Z'] then
Include(Result, Zeichen);
else
Include(Result, Andere);
if Result = [Ziffer, Zeichen, Andere] then
break;
end;
end;
begin
//Zum Testen:
Writeln(Ord(checkstr('') = []));readln;
Writeln(Ord(Ziffer in checkstr('190')));readln;
writeln(Ord(Zeichen in checkstr('az')));readln;
Writeln(Ord([Zeichen, Ziffer] = checkstr('az10')));readln;
Writeln(Ord([Zeichen, Ziffer] <= checkstr('az10 !?.,;:-_<>')));readln;
end.
(Es könnte sein, dass es nicht kompiliert - mangels Delphi im Editor geschrieben)