Compteur de lettres et mots [Résolu]

luke101 2 Messages postés jeudi 7 décembre 2000Date d'inscription 14 mai 2008 Dernière intervention - 14 mai 2008 à 14:25 - Dernière réponse : Herostnic 24 Messages postés mercredi 4 octobre 2006Date d'inscription 27 juillet 2010 Dernière intervention
- 22 sept. 2008 à 18:20
Bonjour mesdames zé messieurs,


    Je suis débutant en Delphi, et j'aimerais réaliser un petit programme (Simple, me disait-on), qui compterait le nombre de mots et de lettres entrés dans un edit à l'aide d'un code comportant une boucle 'for'. 

En plus précis on aurait:
-un edit
-un memo
-un bouton.

Lorsque l'on appuie sur le bouton, j'aimerais que la phrase entrée dans l'edit soit comptée et affichée dans le memo.
 Un petit exemple qui me facilitera l'explication:
      Si la phrase était la suivante "cette phrase là" on verrait ceci dans le memo après avoir appuyé sur le bouton:
###memo1###
Cette : 5 lettres
phrase: 6 lettres
là: 2 lettres
Nombre de mots: 3

Voili voilou... je croise les doigts en espérant que quelqu'un aura la solution à mon problème.

Merci.
Afficher la suite 

Votre réponse

5 réponses

JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 14 mai 2008 à 15:01
+3
Utile
Regarde ça : (pas de virus ni rien ;p)
Il me semble que c'est ce que tu cherches à faire.
Montre nous là où tu bloques pour que tu puisses le faire par toi même :)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de JulioDelphi
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 14 mai 2008 à 14:47
0
Utile
Salut !
Où en es-tu dans le codage ?
Peux tu nous montrer ton code (même si il ne fonctionne pas encore) ?
Montre nous à quel(s) endroit(s) tu bloques, qu'est ce qui te pose problème.
A bientôt !
Commenter la réponse de JulioDelphi
luke101 2 Messages postés jeudi 7 décembre 2000Date d'inscription 14 mai 2008 Dernière intervention - 14 mai 2008 à 16:27
0
Utile
Désolé pour ce temps de réponse quelque peu long :) Je cherchais désespérément comment finir ce programme, merci pour ton aide, je crois finalement avoir réussi comme il faut, voici tout-de-même le code:

var
  Form1: TForm1;



implementation


{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);


var

    Texte: String;
    Mot: String;
    NbMots: Integer;
    NbCar: Integer;
    i: Integer;
begin
   Texte:= edit1.Text;
   Mot:='';
   NbMots:=0;
   NbCar:=0;

          for i: =1 to length(Texte) do
                if Texte[i] = ' ' then
                       begin
                               Memo1.Lines.Add(Mot+inttostr(nbcar));
                               NbCar:=0;  //Reset de la variable contenant le nombre de caractères lorsqu'on rencontre un espace
                               inc(NbMots);
                       end
                else
                       begin
                              inc(NbCar);
                              Mot: =Mot+Texte[i];
                       end;



end;




end.


Ca pourra peut-être servir à quelqu'un ici, qui sait?  Bonne journée, et merci encore !
Commenter la réponse de luke101
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 14 mai 2008 à 16:47
0
Utile
Moi j'avais ça :



procedure Split (const Delimiter: Char; Input: string; const Strings: TStrings) ;
begin
 Assert(Assigned(Strings)) ;
 Strings.Clear;
 Strings.Delimiter := Delimiter;
 Strings.DelimitedText := Input;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 fTs: TStringList;
 i: integer;
begin
 fTs := TStringList.Create;
 try
  Split(' ', Edit1.Text, fTs) ;
 finally
  for i:=0 to fTs.Count-1 do
   Memo1.Lines.Add(Format( '%s : %d lettre(s)' , [ fTs.Strings[i] , Length(fTs.Strings[i]) ] ));
  Memo1.Lines.Add(Format('Nombre de mots : %d mot(s)',[fTs.Count]);
  fTs.Free;
 end;
end;
Commenter la réponse de JulioDelphi
Herostnic 24 Messages postés mercredi 4 octobre 2006Date d'inscription 27 juillet 2010 Dernière intervention - 22 sept. 2008 à 18:20
0
Utile
JulioDelphi apparament vous tré Dueé!!! Mais Bizzard!;
Commenter la réponse de Herostnic

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.