Compteur de lettres et mots [Résolu]

Messages postés
2
Date d'inscription
jeudi 7 décembre 2000
Dernière intervention
14 mai 2008
- - Dernière réponse : Herostnic
Messages postés
24
Date d'inscription
mercredi 4 octobre 2006
Dernière intervention
27 juillet 2010
- 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

Meilleure réponse
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
3
Merci
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 :)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de JulioDelphi
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
0
Merci
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
Messages postés
2
Date d'inscription
jeudi 7 décembre 2000
Dernière intervention
14 mai 2008
0
Merci
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
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
0
Merci
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
Messages postés
24
Date d'inscription
mercredi 4 octobre 2006
Dernière intervention
27 juillet 2010
0
Merci
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.