Ver Mensaje Individual
  #14  
Antiguo 09-11-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Reputación: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por chino150 Ver Mensaje
Esto es lo que e logrado gracias a su ayuda
...
...
...
pero debo de darle varios click al boton del mensaje para llegar al resultado final.
El problema que veo es que el ShowMessage lo has puesto dentro del ciclo for; la idea principal es que primero se ejecute el ciclo(se haga todo el calculo necesario para saber la cantidad de vocales,consonantes,etc) y al final recien se muestre los resultados, fuera del ciclo for.
De ésta manera:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 i,cont,numVoc, numConso :Integer;
 const
 Alfabeto=['A'..'Z'];
 Vocales=['A','E','I','O','U','Á','É','Í','Ó','Ú'];
 Consonantes=Alfabeto-Vocales;
begin
NumVoc := 0;
NumConso := 0;
for i:= 0 to Length(Memo1.Text) - 1 do begin //<- aqui empieza el ciclo for
 if UpCase(Memo1.Text[i]) in Vocales then
 Inc(NumVoc);
 if UpCase(Memo1.Text[i]) in Consonantes then
  Inc(NumConso);
  end;//<-Aqui termina el ciclo for 
Cont := Length( Memo1.Text);
 ShowMessage(' letras: '+(IntToStr(Cont)) + ' Vocales: '  + (IntToStr(NumVoc))  +'Consonantes:  '+ (IntToStr(NumConso))); ;
    end;
end.
Nota: seguro está que tu código se puede optimizarlo mejor, pero como eres nuevo en programacion no te voy a exigir demasiado.
Saludos..
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 09-11-2010 a las 22:33:52.
Responder Con Cita