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

  FORUM HardWare.fr
  Programmation

  [VB] problème de saut de ligne dans fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] problème de saut de ligne dans fichier

n°13995
Gourou
Posté le 13-02-2001 à 08:39:18  profilanswer
 

Je vous explique mon pb :  
Je veux convertir un fichier txt en HTML... je remplace donc des caractères par d'autres chaines de caractères avec une fonction "replaceall" qu'un forumeur m'a donné :  
chbrln = Chr(13) & "<br>"
'ouverture du fichier en lecture
Open Text1.Text For Input As #1
Do Until EOF(1)
Input #1, cdc2
replaceall cdc2, "à", "à"
[...]
replaceall cdc2, "> <", "><"
'il faut mettre un saut de ligne après un <BR> pour le moteur de recherche
 
replaceall cdc2, "<br>", chbrln
 
Text2.Text = Text2.Text & " " & cdc2
Loop
 
Close #1
 
Voila mais ca marche pas : plantage du style boucle infinie...
Où est donc la solution ???
Ca plante depuis que j'ai rajouté la ligne
replaceall cdc2, "<br>", chbrln
 
HELP !

mood
Publicité
Posté le 13-02-2001 à 08:39:18  profilanswer
 

n°14093
omega2
Posté le 13-02-2001 à 14:29:32  profilanswer
 

A tout les coup, le replaceall est une instruction du genre (en algo):
 1)cherche première occurence.
 2) si trouvé alors remplace puis retour en 1
 3) fin de la fonction
Comme tu remplace <BR> par <BR>+c (c étant un caractère), il trouve toujours un <BR>. Donc boucle infinie.

n°14098
omega2
Posté le 13-02-2001 à 14:40:47  profilanswer
 

Pour la solution, je laisse faire les pro du VB. A mon avis, un :
replaceall cdc2, "<br>", "<brt>"
replaceall cdc2, "<brt>", chbrln  
pourras corrigé ton problème. Le seul défault, c'est qu'il changera également tout les "<brt>" contenue dans ton fichier.
L'autre solution, c'est d'utilisé deux chaines (ch1 et ch2)et de faire une boucle.
Avant la boucle, tu met ch1 à vide et ch2 à la valeur de cdc2.
Dans cette boucle, tu cherche la position du premier "<br>" dans cdc2, tu concatène ch1 avec la partie de ch2 qui précède le "<br>" + la chaine de remplacement chbrln .Dans la chaine ch2, tu mes toute la partie de ch2 qui suit le "<br>".
Enfin, tu ne sort de la boucle que s'il n'y a plus de "<br>" dans ch2.
Une fois sortie de la boucle, tu remplace cdc2 par ch1.
 
Bonne chance et bon codage.

n°14107
Gourou
Posté le 13-02-2001 à 15:05:39  profilanswer
 

Pour vous faire une idée de la chose, voici la fonction remplaceall...
 
Function replaceall(searchstring As String, findstring As String, replacestring As String) As String
Dim curpos As Long
curpos = 1
 
Do Until InStr(searchstring, findstring) = 0
curpos = InStr(curpos, searchstring, findstring)
searchstring = Left$(searchstring, (curpos - 1)) & replacestring & Right$(searchstring, (Len(searchstring) - curpos - Len(findstring) + 1))
Loop
 
replaceall = searchstring
 
End Function

n°14117
Gourou
Posté le 13-02-2001 à 15:17:44  profilanswer
 

omega2 : ca marche pas plus ton truc...

n°14127
Gourou
Posté le 13-02-2001 à 16:02:33  profilanswer
 

si ca marche, désolé... c'est juste un peu plus long que d'hab...


---------------
Gourou 2001 : vive le glandage, c ma raison d'être !!!

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

  [VB] problème de saut de ligne dans fichier

 

Sujets relatifs
[php] "Ligne de commande" ?probleme de limitation de variables en C++
Extracteur de fichierProblème VB6 at ADO
Problème con mais important pour moi..[JAVA][PHP] problème include ...
Comment faire ouvrir auto.. un fichier exe dans une page web ?[ASP] Komment effacer une ligne ? j'ai honte
comment lire un fichier avec delphiproblème de saisie de chaines de caractères en JAVA
Plus de sujets relatifs à : [VB] problème de saut de ligne dans fichier


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