Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#8

Re: Isalpha, IsNum, IsNumeric als eine Function

  Alt 3. Apr 2009, 10:13
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)
  Mit Zitat antworten Zitat