PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Je dois fréquemment importer des fichiers FoxPro
Je dois fréquemment importer des fichiers FoxPro
Iniciado por Michel, 19,abr. 2020 17:17 - 6 respuestas
Miembro registrado
127 mensajes
Publicado el 19,abril 2020 - 17:17
Bonjour,
Je dois fréquemment importer des fichiers FoxPro dans mes analyses Wind Eve ( : dictée vocale ... Peut-être à l'origine de leurs pubs ... ?)

Plus sérieusement :

Tout se passe bien dans/depuis l'analyse : création du fichier à l'aide du composant Microsoft (Microsoft OLE DB Provider for Visual FoxPro : VFPOLEDB) . Le fichier FoxPro pouvant être correctement importé/régénéré à volonté.

La manip. permet également de créer un fichier d'automatisation : < IMPORT.wdv > en l’occurrence ...
(cf. : "Options de l'import _ Enregistrer les paramétres de la conversion dans un fichier")

... fichier qui en théorie réalise le processus ci-dessus ; en moins fastidieux et plus rapide …
C'est là que ça se gâte : l'importation a bien lieu mais produit un fichier tronqué : qui a toutes les rubriques requises mais seulement 20 % des enregistrements (par ex. : 4000 au lieu de 20 000).

Autrement dit, ceci :
LanceAppli( ...
"D:\WINDEV 25_32\Programmes\WDConver.exe" + ...
" /SCRIPT=D:\WINDEV_S\IMPORT.wdv")

... ne fonctionne pas ; ou en tout cas, mal.
Comment remédier à cela ?
NB : WinDev 25 (32 bits : nécessaire pour le 'OLE DB') et Win10 ... tous deux à jour.

--
Merci encore,
Mike

• Soyez indulgents : je ne suis pas programmeur !
Miembro registrado
127 mensajes
Publicado el 19,abril 2020 - 19:26
Suite : ...
Il s'agit d'un bug Windev, car la commande :

[ D:\WINDEV 25_32\Programmes > ] WDConver.exe /SCRIPT=D:\WINDEV_S\IMPORT.wdv

... exécutée directement depuis une fenêtre 'DOS' (et ici le répertoire de < WDConver.exe >) fonctionne parfaitement au point de corriger l'erreur du :
LanceAppli( ... )

??

--
Merci encore,
Mike

• Soyez indulgents : je ne suis pas programmeur !
Miembro registrado
4.362 mensajes
Publicado el 19,abril 2020 - 20:06
Bonjour,
Ce n'est pas un bug, c'est le comportement normal de LanceAppli quand le nom du programme ou son chemin comporte des espaces.
Tout est expliqué dans la doc.

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
127 mensajes
Publicado el 19,abril 2020 - 21:08
Bien vu !
Mais avant de te lire, j'ai effectivement pensé que ce type d'instruction (fenêtre de commande) n'aimait les espaces et ai donc réinstallé Windev dans < D:\WINDEV_25_32 > : plus d'espaces donc ...

et le :
LanceAppli("D:\WINDEV_25_32\Programmes\WDConver.exe /SCRIPT=D:\WINDEV_S\IMP_HONO.wdv")

... ne fonctionne pas non plus !?

Il faudrait écrire ça comment ?

--
Merci encore,
Mike

• Soyez indulgents : je ne suis pas programmeur !
Miembro registrado
127 mensajes
Publicado el 20,abril 2020 - 12:03
Dingue !!
Si dans
(NB : assistant pour < LanceAppli > ... )
Procedure IMPORT_HONO

bLancé est un booléen
sParamètres est une chaîne = " /SCRIPT=D:\_Extract\import_HONO.wdv"

// Lance l'application
bLancé = LanceAppli("D:\WINDEV_25_32\Programmes\WDConver.exe" + sParamètres, exeActif, exeNonBloquant, "D:\WINDEV_25_32\Programmes\")

SI ErreurDétectée ALORS
Erreur()
FIN

... je mets un point d’arrêt sur le < SI ErreurDétectée ALORS > tout fonctionne parfaitement ; y compris après la reprise de la fin de la procédure ...
Si je retire le point d’arrêt : fichier corrompu (cf. supra ... ) à l'arrivée ... !!??

Une idée ?

--
Merci encore,
Mike

• Soyez indulgents : je ne suis pas programmeur !
Miembro registrado
127 mensajes
Publicado el 20,abril 2020 - 12:21
NB : la neutralisation du < SI > :
//SI ErreurDétectée ALORS
// Erreur()
//FIN
... mène également au bug !
Comprenne qui pourra ...

--
Merci encore,
Mike

• Soyez indulgents : je ne suis pas programmeur !
Miembro registrado
127 mensajes
Publicado el 20,abril 2020 - 14:12
Pour finir : la réponse est dans mon message <n-2> (en comptant celui-ci) ...
Je vous laisse deviner ...

--
Merci encore,
Mike

• Soyez indulgents : je ne suis pas programmeur !