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