Es soll ein Satz eingegeben werden.
Die meisten Sätze enthalten Interpunktionszeichen und Leerzeichen.
Ich würde Kommata und Leerzeichen nicht gerade als Konsonanten bezeichnen.
Daher würde ich es eher so machen:
Delphi-Quellcode:
procedure TForm1.zaehlenClick(Sender: TObject);
begin
satz:=AnsiUpperString(satz);
vokal:=0;
konsonant:=0;
for i:=1 to length(satz) do
if satz[i] in ['A', 'E', 'I', 'O', 'U'] then
inc(vokal;
else if satz[i] in ['A'..'Z'] then
inc(konsonant);
end;
BTW: Sind Umlaute eigentlich Vokale oder Konsonanten?