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

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Couper un string avec des délimiteurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Couper un string avec des délimiteurs

n°342881
tatan
Posté le 25-03-2003 à 18:45:29  profilanswer
 

J'aimerais savoir comment couper un string en delphi avec des délimiteurs pour les mettre dans un tableau.
 
Exemple j'ai une phrase et je met chaque môt dans un tableau.

mood
Publicité
Posté le 25-03-2003 à 18:45:29  profilanswer
 

n°342894
davidmarli
Posté le 25-03-2003 à 19:06:43  profilanswer
 

salut,
 
ben avec quelque chose comme cela;
 
Procedure extraire_mot(s:string);
var i,l,j: integer;
    temp:string;
begin
 l:=length(s);
 i:=1;
 j:=1;
 repeat
   temp:='';  
    repeat
     temp:=temp+s[i];
     i:=i+1;
    until i=' ';
  t[j]:=temp;
  j:=j+1;
  i:=i+1;
 until i=l;
end;
 
où test un array[1..motmax] of string;


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°342933
Ciler
Posté le 25-03-2003 à 20:19:03  profilanswer
 

davidmarli a écrit :

salut,
 
ben avec quelque chose comme cela;
 
Procedure extraire_mot(s:string);
var i,l,j: integer;
    temp:string;
begin
 l:=length(s);
 i:=1;
 j:=1;
 repeat
   temp:='';  
    repeat
     temp:=temp+s[i];
     i:=i+1;
    until i=' ';
  t[j]:=temp;
  j:=j+1;
  i:=i+1;
 until i=l;
end;
 
où test un array[1..motmax] of string;
 


 
Toi t'aimes pas les repeat until [:meganne]


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°342935
MagicBuzz
Posté le 25-03-2003 à 20:21:14  profilanswer
 

y'a pas un équivalent du "split" du VB ?
 
c'est quand même plus simple...
 
en VB par exemple, c'est :
 
myTab = split(myString, delimiter)

n°343014
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-03-2003 à 21:39:42  profilanswer
 

Très étrangement, non, y a pas.
Enfin, y a mais il coupe aussi sur les espaces donc c'est pourri.
Mais bon, il suffit de l'écrire une fois et le mettre dans une unit "mesfonctions" qu'on utilise où on veut hein :o
À la longue on se fait comme ça plein de petites fonctions utiles.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°343300
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-03-2003 à 23:40:07  profilanswer
 

Sinon je repense à un truc : y a une solution un peu bidouille :
 

Code :
  1. var
  2.   original: string;
  3.   liste: TStringList;
  4. begin
  5.   liste := TStringList.Create;
  6.   liste.Text := StringReplace(original, delimiteur, #13#10, [rfReplaceAll]);
  7.   // ici liste contient la liste des chaînes que tu peux parcourir tranquillement
  8.   // et éventuellement aller copier dans un tableau
  9.   liste.Free
  10. end;


Message édité par antp le 25-03-2003 à 23:40:30

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°343790
MagicBuzz
Posté le 26-03-2003 à 13:43:11  profilanswer
 

Ah ouais en effet, c'est pas bête comme système :jap:

n°344502
Ciler
Posté le 26-03-2003 à 22:28:39  profilanswer
 

Carrement pas bourrin non plus... sacre ANTP  :D


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°344506
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-03-2003 à 22:35:25  profilanswer
 

ça a l'avantage de marcher sans bugs et de ne pas devoir connaître à l'avance le nombre de mots :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°344522
Ciler
Posté le 26-03-2003 à 22:45:00  profilanswer
 

antp a écrit :

ça a l'avantage de marcher sans bugs et de ne pas devoir connaître à l'avance le nombre de mots :D


 
c ce que je disais... efficace et pas bourrin  :jap:


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
mood
Publicité
Posté le 26-03-2003 à 22:45:00  profilanswer
 

n°1704565
bf77170
Posté le 19-03-2008 à 13:14:02  profilanswer
 

Bonjour,  
 
Dans le meme genre, je cherche a splitter un sting en fonction de sa longeure par rapport aux champos destinataire. En gros, il s'agit d'un montant en lettre du genre  
"Dix mille six cent vingt euros et trente centimes" que j'aimerai , en fonction de la longeur pouvoir repartir sans couper les mots sur un ou deux champ .  
Si mon champ 1 fait 29car, cele amen par ex a couper euro (en perdant le "s". . Dance ce cas, ce mot doit donc aller dans le champ 2 avec la suite.
 
Et la, je bloque !! Mon expezroience est quand meme limitée !!  
J'utilise Delphi6 Pro, etr merci dr'avance a ceux qui pourrait me donner un debut de piste, sans passer par un tableau ou il faudrait ensuite reparcourir ce tableau, lister la log des mots;...etc


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

  Couper un string avec des délimiteurs

 

Sujets relatifs
[java] un petit pb entre String et Bytestring et replace tt les ocurence
strstr donne un pointeur, mais j'aimerai un(e) string =)[C]condition string qui marche pas !
string ou char * ?Convertir une classe String en int ???
[Access] j'arrive pas a transformer un stringSTL - Comment faire l'équivalent d'un "trim" sur une basic_string
Comment transfomer de l'hexa en char ou en String ?Mettre UNE String en couleur.. + jouer un son
Plus de sujets relatifs à : Couper un string avec des délimiteurs


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