IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Décomposer un paragraphe


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de smail21
    Profil pro
    Inscrit en
    Février 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2005
    Messages : 152
    Par défaut Décomposer un paragraphe
    Salam
    j'ai un odcument Txt, dont je dois parcourir, recenser les mots qu'il contient et les copier dans un Tmémo.
    les mots sont séparés par :Un espace blanc ' , .
    Merci

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    la question est ?
    si tu veut les extraire il te suffit de parcourir le fichier
    et a chaque separateur ajouter le nouveau mot trouvé dans le memo

    exemple algorithmique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    tansque pas fin de fichier faire
     Caracetre := lireCaractere(fichier) 
     si caractere = Separateur Alors
     faire
       ajoutemotsdansmemo(mottemps)
        mottemps := '';
     Fin faire
    sinom  
      mottemps := mottemps+ Caractere
    fin tansque
    @+ Phil

  3. #3
    Membre confirmé Avatar de smail21
    Profil pro
    Inscrit en
    Février 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2005
    Messages : 152
    Par défaut
    c'est bon j'ai pu les séparer et les extraire, autrement!
    merci

  4. #4
    Membre confirmé Avatar de smail21
    Profil pro
    Inscrit en
    Février 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2005
    Messages : 152
    Par défaut
    j'ai pu séparer les mots du texte, mais j'ai toujours un probleme avec le dernier mot, car pour le détécter je dois relire la fin du texte, aprè la boucle d electure, pour le trouver.
    je ne peux pas m'expliquer mieux que ça, alors je vous donnes le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    procedure TFentree.Button1Click(Sender: TObject);
    var F: TextFile; // F de type fichier texte
        szLigne,transit: String;
        i,n,j: Integer;
        
    begin
    n:=0;
    transit:='';
      if open2.execute then
      begin
        Edit1.Text:=Open2.FileName;
        Memoi.clear; // efface toutes les lignes du mémo
        AssignFile(F, Open2.FileName); //A partir de maintenant, F désigne le fichier portant comme nom le nom récupéré par OpenDialog1
       try
        Reset(F); // ouvre le fichier F (F doit déjà exister)
        while not EOF(F) do // tant que l'on est pas arrivé à la fin du fichier
        begin
          Readln(F, szLigne);// lit ligne du fichier et la met dans L puis se positionne sur la ligne suivante
          for i:=1 to Length(szLigne) do
             begin
              trouv:=false;
               if(szLigne[i]  in ['"', '-','''', ' ']) then
                begin
                   Memoi.text:=memoi.text+' '+transit+szLigne[i];
                   n:=n+1;
                   Memo3.text:=memo3.text+transit;
                  memo3.Lines.Add(#13);
                  transit:='';
                end
                else
                begin
                transit:=transit+szLigne[i];
                end;
             end;
              Memoi.text:=memoi.text+' '+transit; // inserer le dernier mot dans le mémoI, car la boucle ne le détecte pas       
        end;
          labn.caption:='N = '+inttostr(n+1);//nombre des mots trouvés
        
       finally
        CloseFile(F); // ferme le fichier
      end;
    end;
    end;

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    Je n'ai pas lu votre code de manière tres méticuleuse, mais j'ai cru comprendre que votre problème est que vous ne detecter pas le dernier mot de chaque ligne.

    Avez vous essayer d'ajouter ' ' a la fin de chaque ligne apres le readln.

  6. #6
    Membre confirmé Avatar de smail21
    Profil pro
    Inscrit en
    Février 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2005
    Messages : 152
    Par défaut
    Merci Tardiff !
    avec un simple rajour d'un espace blanc à szLigne, j'ai pu supprimé la moitié du code.
    voici le nouveau code de la procédure précédente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    procedure TFentree.Button2Click(Sender: TObject);
    var F: TextFile; // F de type fichier texte
        szLigne, transit: String;
        i,n,j: Integer;
        trouv:boolean;
    begin
    trouv:=false;
    n:=0;
    transit:='';
    ind:=java.value;
      if open2.execute then
      begin
        Edit2.Text:=Open2.FileName;
        Memoj.clear; // efface toutes les lignes du mémo
        AssignFile(F, Open2.FileName); //A partir de maintenant, F désigne le fichier portant comme nom le nom récupéré par OpenDialog1
       try
        Reset(F); // ouvre le fichier F (F doit déjà exister)
        while not EOF(F) do // tant que l'on est pas arrivé à la fin du fichier
        begin
          Readln(F, szLigne);// lit ligne du fichier et la met dans L puis se positionne sur la ligne suivante
          szligne:=szligne+' ';
                 for i:=1 to Length(szLigne) do
             begin
                trouv:=false;
                if(szLigne[i]  in ['"', '-','''', ' ']) then
                begin
                Memoj.text:=memoj.text+' '+transit+szLigne[i];
                n:=n+1;
                //**** inserer ce mot dans le tableau
                for j:=0 to ind-1 do
                   if (alpha[j]=transit) then  trouv:=true;
     
                   if (trouv=false) and (transit<>'') then
                   begin
                   alpha[ind]:=transit;
                   ind:=ind+1;
                   Memo3.text:=memo3.text+transit;
                   memo3.Lines.Add(#13);
                   end;
                //***********************************
              transit:='';
                end
                else
                begin
                transit:=transit+szLigne[i];
                end;
             end;
     
        end;
     
       labm.caption:='M = '+inttostr(n);
       java.value:=ind;
       finally
        CloseFile(F); // ferme le fichier
      end;
    end;
    end;

  7. #7
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    sinon a la sortie de la boucle tu incluer le transit si il etait different de vide

    @+ Phil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Décomposer une colonne adresse en plusieures colonnes
    Par frechy dans le forum Requêtes
    Réponses: 5
    Dernier message: 03/10/2005, 20h12
  2. interface graphique...comment la décomposer???
    Par menuge dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 27/09/2005, 19h42
  3. Garder les style de paragraphe dans un formulaire
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 10/08/2005, 14h04
  4. Décomposer une valeur pour en retirer les octets ?
    Par AsmCode dans le forum Algorithmes et structures de données
    Réponses: 34
    Dernier message: 26/07/2005, 19h01
  5. Espace entre paragraphes
    Par Laskar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 03/04/2005, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo