Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1367 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] String Tokeniser, Explode?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] String Tokeniser, Explode?

n°163124
AGA
La boîte à Bokeh!
Posté le 21-06-2002 à 09:47:24  profilanswer
 

salut existe 'til une fonction ds Delphi qu permet de séparer une chaine en plusieurs?
 
comme Explode en PHP ou String Tokenizer en Java?

mood
Publicité
Posté le 21-06-2002 à 09:47:24  profilanswer
 

n°163127
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-06-2002 à 09:54:22  profilanswer
 

ExtractStrings mais c'est chiant parce qu'il prend les séparateurs comme espaces si les éléments sont pas entre guillements.
Enfin faut lire l'aide...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°193001
JackyG
Posté le 09-08-2002 à 15:17:58  profilanswer
 

:bounce:

AGA a écrit a écrit :

salut existe 'til une fonction ds Delphi qu permet de séparer une chaine en plusieurs?
 
comme Explode en PHP ou String Tokenizer en Java?  




 
Debutant en Delphi, j'ai trouvé sur un site ces 2 fonctions:
Explode et Implode
//----------------------------------------------------------
function Explode(ch : string;sep: string = ';';):TStringList;
var
p : integer;
begin
p := pos(sep,ch);
explode := TStringList.Create;
while p > 0 do begin
    explode.Add(copy(ch,1,p-1));
    if p <= length(ch) then ch := copy(ch,p+ length(sep),length(ch));
    p := pos(sep,ch);
end;
if length(ch)>0 then explode.Add(ch);
end;
//------------------------------
function Implode(lst:TStringList;sep : string =';';):string;
var
    i : integer;
    s : string;
begin
i:= 0;
while i < lst.Count - 1 do begin
     s := s + lst[i] + sep;
     i := i + 1;
end;
if i < lst.Count then s := s + lst[i]; //Ne mets pas de séparateur sur le dernier élément
result := s;
end;
 
 
Bonne prog
A+

n°193018
zion
Plop
Posté le 09-08-2002 à 15:49:42  profilanswer
 

Si il a attendu la réponse, le mec il est patient  :lol:


---------------
Informaticien.be - Lancez des défis à vos amis
n°193022
JackyG
Posté le 09-08-2002 à 15:57:43  profilanswer
 

Zion a écrit a écrit :

Si il a attendu la réponse, le mec il est patient  :lol:  




 
La raison est que je viens de découvrir ce forum, il ya moins d'une heure

n°193037
zion
Plop
Posté le 09-08-2002 à 16:18:01  profilanswer
 

JackyG a écrit a écrit :

 
 
La raison est que je viens de découvrir ce forum, il ya moins d'une heure
 




 
Benh tu as répondu a un topic du 21 juin, c'est bien louable de répondre, mais la c'est surement trop tard  :D  
 
Au fait, rien de tel qu'un TStringList avec le CommaText, ou le DelimitedText  ;)


---------------
Informaticien.be - Lancez des défis à vos amis
n°193466
os2
Posté le 10-08-2002 à 14:46:45  profilanswer
 

Zion a écrit a écrit :

 
 
Benh tu as répondu a un topic du 21 juin, c'est bien louable de répondre, mais la c'est surement trop tard  :D  
 
Au fait, rien de tel qu'un TStringList avec le CommaText, ou le DelimitedText  ;)  




sur un autre forum, j'avais posté une question début septembre, je viens de reçevoir la réponse par courriel....
j'ai fini le cours en janvier...
c'est quand même drôle


---------------
Borland rulez: http://pages.infinit.net/borland
n°261576
AGA
La boîte à Bokeh!
Posté le 05-12-2002 à 13:13:51  profilanswer
 

:jap:  ;)

n°262682
zion
Plop
Posté le 06-12-2002 à 03:13:21  profilanswer
 

Quoi, t'en avais encore besoin?
 
[:rofl]


---------------
Informaticien.be - Lancez des défis à vos amis
n°264764
AGA
La boîte à Bokeh!
Posté le 08-12-2002 à 15:42:37  profilanswer
 

non :D

mood
Publicité
Posté le 08-12-2002 à 15:42:37  profilanswer
 

n°982520
azubal
Posté le 15-02-2005 à 17:31:30  profilanswer
 

toc toc, cest moi (3 ans apres :D)
les fct explode et implode m'interressent mais c'est plein d'erreur :(
et je debute en delphi :(
 
help

n°982699
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-02-2005 à 20:05:36  profilanswer
 

on suppose que la variable s contient la chaîne à couper et que l'on veut couper sur des tirets :

Code :
  1. L := TStringList.Create;
  2. try
  3.   L.Delimiter := '-';
  4.   L.QuoteChar := #0;
  5.   L.DelimitedText := s;
  6.   // ici tu utilises les éléments de la liste, puis on a détruit à la fin :
  7. finally
  8.   L.Free;
  9. end;


Message édité par antp le 15-02-2005 à 20:06:32

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1323198
trueslash
(╯°□°)╯︵ MMM
Posté le 11-03-2006 à 08:03:45  profilanswer
 

up :bounce:
j'arrive pas a faire marcher le bouzin si le delimiter contient plus d'un caractere :/
 

n°1323199
trueslash
(╯°□°)╯︵ MMM
Posté le 11-03-2006 à 08:19:28  profilanswer
 

pour préciser un peu plus, je travaille avec les donnees de packet TCP correspondant a du traffic http, donc en gros j'ai des trucs de la forme  
 
xxxxxxxx'#$D#$A'xxxxxxxxxxxxxxxxx'#$D#$A'xxxxxxxxxxxxxxxxx
 
edit: ce qui est byzarre, c'est que si j'affiche la chaine dans un showmessage, les retours a la ligne sont geres :/


Message édité par trueslash le 11-03-2006 à 08:41:06
n°1323520
KangOl
Profil : pointeur
Posté le 11-03-2006 à 23:23:48  profilanswer
 

le $D$A correspond au retour a la ligne :o
 

n°1323572
trueslash
(╯°□°)╯︵ MMM
Posté le 12-03-2006 à 08:54:54  profilanswer
 

ouais, j'ai reussi a faire un truc qui marche mais pas tres propre, en fait, ce sont surtout les quotes qui m'intriguent  
 
si j'ai le temps + tard, je referrais un truc plus propre


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] String Tokeniser, Explode?

 

Sujets relatifs
Delphi : Peut-on charger une image sur le fond d'une fiche ?[php] cai koi un string?
Delphi Eviter les "éclairs" lors du passage d'une fiche à une autre...Delphi : garder les données de ma fiche pour la prochaine exécution !
Delphi ou C++Builder, FreeReport => utiliser le composant RichText?Comment on programme un Tray icon dans Delphi?
port com avec delphi?[ JAVA ] Comment effacer un espace vide dans une String ?
[Delphi] de l'aide pour un logiciel de gestionPbm de connexion client/server avec les sockets Delphi !
Plus de sujets relatifs à : [Delphi] String Tokeniser, Explode?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR