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

Langage Delphi Discussion :

recupérer des chaines separées par un caractere special


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut recupérer des chaines separées par un caractere special
    Bonjour,

    Pour recupérer les valeurs différentes contenus dans un chaine de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XX;125;une chaine de caractere
    j'utilise cette fonction que j'ai trouvé sur le net :
    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
    la procédure :
    procedure TForm1.Split(const Delimiter: Char; Input: string;
      const Strings: TStrings);
    begin
    	Assert(Assigned(Strings)) ;
      Strings.Clear;
      Strings.Delimiter := Delimiter;
      Strings.DelimitedText := Input;
     
    end;
     
     
    utilisation
    var
    A: TStringList;
     
    begin
    	A := TStringList.Create;
     	try
        for i:=0 to ListBox1.Count-1 do
        begin
          Split(';', ListBox1.Items[i], A) ;
          for j:=0 to A.Count -1 do
          begin
          	ShowMessage(A[j]) ;
          end;
     
        end;
     	finally
       	A.Free;
     	end;
    end;
    Malheureusement elle ne gere pas les espace contenu dans une chaine (ici, "une chaine de caractere" me donne "une").

    Y'a-t-il un moyen de modifier la fonction pour regler le probelem ou dois-je me resigner à en faire une autre avce mes mimines?

    SI tel est le cas auriez vous un moyen simple de la faire.

    Merci d'avance

  2. #2
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    Regarde dans la FAQ a la rubrique traitement des chaines de caracteres et tu trouvera ceci Pos() et donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Procedure TraitementChaine(Chaine:string);
    var
    position:integer;
    i:byte;
    begin
      repeat
        position:=Pos(';',chaine);
        ListBox1.Items.Add(copy(chaine,1,position-1));
        chaine:=copy(chaine,position+1,Length(chaine));
      until Pos(';',chaine)=0;
    ListBox1.Items.Add(copy(chaine,1,Length(chaine)));
    end;
    Voila qui devrait faire l'affaire !
    Sa rempli la ListBox des different champ!

  3. #3
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    Bon developpement et Pense a ajouter si c'est bon!

Discussions similaires

  1. Recupérer des chaines dans un fichier XML
    Par uskiki85 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 14/04/2010, 17h05
  2. Remplacer par un caractere special par macro
    Par lraynal dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/06/2009, 16h39
  3. recuperer des mots separés par une virgule
    Par makohsarah dans le forum Langage
    Réponses: 2
    Dernier message: 07/06/2008, 23h16
  4. Réponses: 16
    Dernier message: 26/01/2006, 09h49
  5. [langage] Compter des chaines de caractères
    Par julfra dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2004, 17h42

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