MANIPULATION DES FICHIERS EXTERNES

Signaler
Messages postés
164
Date d'inscription
dimanche 1 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2007
-
Messages postés
13
Date d'inscription
vendredi 23 janvier 2004
Statut
Membre
Dernière intervention
23 février 2013
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13508-manipulation-des-fichiers-externes

Messages postés
13
Date d'inscription
vendredi 23 janvier 2004
Statut
Membre
Dernière intervention
23 février 2013

Question,
si j'ai un champ de vide et donc deux ; qui se suivent, comment faut-il faire pour le remonter correctement dans une base, car sinon les champs se décallent!

merci

ced
Messages postés
2
Date d'inscription
vendredi 20 avril 2012
Statut
Membre
Dernière intervention
19 avril 2004

Encore une petite aide... Si comme moi, vous avez deux tab qui se suivent (en gros deux champs vides), il faut faire une petite moulinette:
<cfloop condition = "#Find("#Chr(9)##Chr(9)#", "#ligne#",1)#">
<cfset ligne=Replace(#ligne#, "#Chr(9)##Chr(9)#", "#Chr(9)#Empty#Chr(9)#", "All")>
</cfloop>
Et voili :D
Messages postés
2
Date d'inscription
vendredi 20 avril 2012
Statut
Membre
Dernière intervention
19 avril 2004

Merci beaucoup, ce code m'a fait gagner pas mal de temps ;o)
Pour informations:
- les deux chaines "Chr(13) & Chr(10)" correspondent à une nouvelle ligne ("the two-character string Chr(13) & Chr(10) is the newline string" d'après la doc de Coldfusion).
- Si vos champs sont séparés par des tabulations il faut remplacer ";" par #chr(9)#, ce qui donne:
<cfset PROD_REF = #GetToken('#ligne#',1,'#chr(9)#')#>

Voili
+
Messages postés
164
Date d'inscription
dimanche 1 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2007
1
Pour le premier exemple, il est aussi possible d'utiliser un driver texte et de déclarer le fichier en tant que base, en indiquant quel est le séparateur des champs. Pour maintenir le contenu c'est plus simple à utiliser.