Einzelnen Beitrag anzeigen

Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#14

Re: Isalpha, IsNum, IsNumeric als eine Function

  Alt 3. Apr 2009, 13:13
@jfheins
Die Lösung ist ja interessant, unabhängig davon, das immer 1 als Ergebnis gezeigt wird.
Insbesondere hier ein Beispiel für die Verwendung von Include.
Hier der Code (von jfheins) lauffähig mit den/dem Fehler/n:
Delphi-Quellcode:
program test3;
{$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.
@R2009 + @Neutral General:
EXIT ist wohl die bessere Wahl. (Bin aus der Übung)

Styleguide lesen? Ok. Aber dies sei erlaubt:
Niemand wird gezungen einen Kommantar abzugeben oder sich meines kurzen Codes anzunehmen.
Seid so nett, bleibt beim Thema. Danke!
  Mit Zitat antworten Zitat