Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: String auf Buchstaben testen

  Alt 3. Aug 2006, 17:50
Hang down your head Tom Dooley,

hast du deinen Code schon mal ausprobiert? Sobald das erste alphabetische Zeichen gefunden wird, meldet deine Funktion Erfolg. Du musst deine Logik anpassen. Hier noch eine Alternative, die von deinem Problem etwas abstahiert und dadurch andere Verwendungen ermöglicht:

Delphi-Quellcode:
const
  LCASE = 'abcdefghijklmnopqrstuvwxyzäöü';
  UCASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ';
  ALPHA = LCASE + UCASE + 'ß';

function ContainsOnly(const s, chars: String): Boolean;
var
  i : integer;
begin
  i := 0;
  Result := s <> ''; // eine Frage der Definition ...
  while Result and (i < Length(s)) do
  begin
    Inc(i);
    Result := Pos(s[i], chars) > 0;
  end;
end;

procedure TDemoForm.DemoButtonClick(Sender: TObject);
var
  s: String;
begin
  s := '';
  while InputQuery('Alpha-Test', 'String', s) do
    ShowMessage(IfThen(ContainsOnly(s, ALPHA), 'is alphabetic', 'is NOT alphabetic'));
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat