No se si te he entendido bien, pero si este es el caso, esto te podría ayudar a hacer lo que buscas:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
voc, conso, num, blanco: Integer;
contra: string;
begin
voc := 0;
conso := 0;
num := 0;
blanco := 0;
if Edit1.Text = '' then exit;
contra := UpperCase(Edit1.Text);
for i := 1 to length(contra) do
begin
if (contra[i] in ['A','E','I','O','U']) then
inc(voc)
else if (contra[i] in ['0'..'9']) then
inc(num)
else if (contra[i] in
['B'..'D', 'F'..'H', 'J'..'N', 'P'..'T','V'..'Z', 'Ñ']) then
inc(conso)
else if (contra[i] = ' ') then
inc(blanco);
end;
ShowMessage(Format('Vocales: %d ' + #13 +
'Consonantes: %d ' + #13 +
'Numeros: %d ' + #13 +
'Blancos: %d', [voc, conso, num, blanco]) );
end;
Un saludo