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

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  découpage d'une chaine et stockage dans une listbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

découpage d'une chaine et stockage dans une listbox

n°1688110
amteurasm
Posté le 18-02-2008 à 21:58:12  profilanswer
 

Bonjour j'essaie de faire un programme qui supprime les espaces en trop dans une chaine de caractère j'ai donc fait l'algo suivant :
 

Code :
  1. pour i<-1 à longueur(chaine) faire
  2.      si (chaine[i]=' ') et (chaine[i+1]=' ') alors
  3.        chaine[i]<-chaine[i+1]
  4.      fin si
  5.    fin pour


 
a partir de cela j'ai fait le programme en pascal pour delphi :
 

Code :
  1. for i:=1 to length(chaine) do
  2.    begin
  3.    if ((chaine[i]=' ') and (chaine[i+1])) then
  4.        begin
  5.            chaine[i]:= chaine[i+1];
  6.        end;
  7.    end;


mais mon probleme est que ce code ne fonctionne pas et je ne sais pas pourquoi est ce que vous pourriez m'expliquer quelle erreur j'ai fait.


Message édité par amteurasm le 19-02-2008 à 19:15:34
mood
Publicité
Posté le 18-02-2008 à 21:58:12  profilanswer
 

n°1688861
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 19-02-2008 à 20:54:46  profilanswer
 

Salut
 
quand tu sera arrivé à la fin de ta boucle, chaine[i+1] va te donner de la choucroutte car ça correspond au caractère dans (length[chaine]+1)  [:barthaliastoxik]  
 
après je sais pas trop si on peut décaler comme ça dans une chaine enfin si c'est prudent de le faire :??:  
 
à ta place, j'utiliserais une autre variable pour n'y stocker que les caractères de la chaine qui ne sont pas un espace:
 


chaine2:='';
       
for i:=1 to length(chaine) do
 if chaine[i]<>' ' then chaine2:=chaine2+chaine[1];
 
//pis à la limite:
chaine:=chaine2;


 
c'est plus propre comme ça :)


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

  découpage d'une chaine et stockage dans une listbox

 

Sujets relatifs
ActiveX sous Visual .net 2005, chaine en parametre[vba excel] concatenation d'une chaine de caractère
[C/C++] Clear de Listbox [Résolu]listbox
[mysql] Mysql et espaces a la fin d'une chaineC/C++ couper une chaine en deux, distance fixe
faire en sorte d'une chaine de caractère commence par http://[C] pointeur et chaine de caractère
Chaîne de caractère, je débuteComment choisir un e seule lettre dans une chaine de lettre ?? Help !
Plus de sujets relatifs à : découpage d'une chaine et stockage dans une listbox


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