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 :

.CommaText et .Add


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut .CommaText et .Add
    Bonjour,

    Je travaille sous Delphi 2006 Win32.

    Je réceptionne une chaine de caractère avec des virgules. Je les rajoute sans problème à la TListBox.

    Cette importation de chaine avec des virgules est une boucle. Donc en moyenne toutes les 3 secondes il importe une nouveau groupe de mots à rajouter les uns après les autres dans le TListBox.

    Le problème est qu'à chaque fois que l'on arrive à un nouveau groupe, il supprime les informations enregistrées précédemment.

    Actuellement, mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.Items.CommaText := Extract(memo1.Text);
    Et j'aimerais rajouter quelque chose du genre, pour que d'une boucle à l'autre les informations se rajoutent et ne se remplacent pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.Items.Add(Extract(memo1.Text));
    En résumé : Comment puis je coupler ces deux fonctions : CommaText et Add ?

    D'avance merci pour vos réponses.



    xenos

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Extract est une fonction de ton cru ?
    Ce n'est pas la méthode de l'objet TList ?

    @+

  3. #3
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut
    Extract n'est pas une méthode de l'objet TList.

    Je peux donc sans problème changer le nom de cette fonction.

  4. #4
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Si comme je l'imagine ta fonction Extract te renvoie un TStringList, dans ce cas c'est assez simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ListBox1.Items.AddStrings(Extract(Memo1.Text));
    @+

  5. #5
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut
    La fonction renvoie un String :

    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
    function Extract(const AInputString : string) : string;
    const
      EmailRE = '[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+';
     
    var
      r : TRegExpr;
     
    begin
      Result := '';
      r := TRegExpr.Create;
     
      try
        r.Expression := EmailRE;
     
        if r.Exec (AInputString) then
          Repeat
            Result := Result + r.Match [0] + ',';
          Until not r.ExecNext;
        finally r.Free;
      end;
    end;

  6. #6
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Le plus simple est d'envoyer directement l'extraction de tes adresses sur la ListBox. La fonction Extract devient la procédure suivante:
    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
     
    procedure ExtractToListBox(ListBox: TListBox; const AInputString : string);
    const
      EmailRE = '[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+';
     
    var
      r : TRegExpr;
     
    begin
      Result := '';
      r := TRegExpr.Create;
     
      try
        r.Expression := EmailRE;
     
        if r.Exec (AInputString) then
          Repeat
            ListBox.Items.Add(r.Match[0]);
          Until not r.ExecNext;
        finally r.Free;
      end;
    end;
    @+ Claudius

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

Discussions similaires

  1. message : cannot add new member
    Par meli0207 dans le forum MFC
    Réponses: 3
    Dernier message: 06/06/2005, 14h52
  2. Réponses: 3
    Dernier message: 25/04/2005, 13h38
  3. Réponses: 3
    Dernier message: 30/03/2005, 23h15
  4. developpement d'add-on
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/02/2005, 09h15
  5. add int
    Par Bernybon dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/02/2004, 14h26

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