PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Importation fichier texte
Importation fichier texte
Débuté par soyezd, 22 sep. 2017 15:26 - 4 réponses
Membre enregistré
69 messages
Popularité : -1 (1 vote)
Posté le 22 septembre 2017 - 15:26
bonjour et merci d'avance de votre aide

voila mon problème je récupère un fichier texte
http://base-donnees-publique.medicaments.gouv.fr/telechargement.php…
et avec le code ci dessous je dois vider une table qui existe déjà et la mettre à jours avec le nouveau fichier texte
mais impossible il ne m'importe qu'une seule ligne et je bloque vraiment je tourne en rond

cela et pour un logiciel d'aide à la prescription médical d'une association (Médecins Bénévoles)

Merci de votre aide

SI InternetConnecté() ALORS
// MISE A JOUR DE LA TABLE CIS
HPasse(CISCIP,"xxxxxxxxxxxxx")
ToastAffiche("Mise a jour en cours....",toastCourt,cvMilieu,chCentre,VertPastel)
ResAppel est un booléen
IdFichier est un entier
sfichier est une chaîne=gsRepdefaut+"\CIS_CIP_bdpm.txt"
// Ouverture du fichier "C:MonFichierZIP.zip"
IdFichier = fOuvre(sfichier, foCréation)
SI IdFichier <> -1 ALORS
// Récupération du fichier
ResAppel = HTTPRequête("http://base-donnees-publique.medicaments.gouv.fr/telechargement.php?fichier=CIS_CIP_bdpm.txt")
SI ResAppel = Vrai ALORS
// Enregistrement
fEcrit(IdFichier, HTTPDonneRésultat(),Taille(HTTPDonneRésultat()))

FIN
// Fermeture du fichier
fFerme(IdFichier)

FIN
HSupprimeTout(CISCIP)
JAUGE_remplissage..Visible=Vrai
HImporteTexte(CISCIP, sfichier, "CODECIS,codecip7,Libéllédepresentation,statutsadmpresentation,etatcommercialisation,datedeladeclarationcommercialisation,codeCIP13,agrementaucollectivité,tauxremboursement,prixmedoc,Pm1,pm2,indicationremboursementt", TAB + Caract(127) + """" + Caract(127) + RC,hImpSansDélimiteur+hImpIgnoreRubriqueVide+hValDéfaut,JAUGE_remplissage)

SI ErreurDétectée ALORS
Erreur(HErreurInfo())
FIN
JAUGE_remplissage..Visible=Faux
SINON
Info("Poste non connecté Internet")
FIN
Membre enregistré
355 messages
Popularité : +37 (39 votes)
Posté le 22 septembre 2017 - 16:11
Bonjour,

Il semblerait que le séparateur de lignes de ton fichier ne soit pas un RC mais simplement un LF (0x0A) voire même un TAB+LF.

--
Francis MOREL
http://www.SoftProtect.fr
Membre enregistré
69 messages
Popularité : -1 (1 vote)
Posté le 22 septembre 2017 - 18:07
Merci Francis mais comment changer le +RC par le code LF ???
Cordialement
Membre enregistré
3 844 messages
Popularité : +227 (347 votes)
Posté le 22 septembre 2017 - 18:18
Dans ta partie de code :
RC,hImpSansDélimiteur+hImpIgnoreRubriqueVide+hValDéfaut

Je n'ai pas tout repris pour des raisons de lisibilité
Tu remplace RC par Caract(10) (10[déc]=0x0A[hex],) pour LF, Caract(9)+Caract(10) pour TAB+LF.
Je te renvoie à la doc https://doc.pcsoft.fr/fr-FR/index.awp?3044011, partie séparateur pour plus de détails.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
69 messages
Popularité : -1 (1 vote)
Posté le 22 septembre 2017 - 18:19
Merci Francis j'ai trouve pour LF Caract(10)
Cela marche bien
Merci beaucoup de votre Aide
cordialement

didier