PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → V10 import texte HImportTexte "séparateur" ?
V10 import texte HImportTexte "séparateur" ?
Iniciado por arsesis1, 28,may. 2007 13:35 - 17 respuestas
Publicado el 28,mayo 2007 - 13:35
Bonjour ,
je voudrais importer un fichier texte dans une table memoire (VOITURE)
avec comme colonnes dans la table :idvoiture , marque ,modele , couleur , prix

le fichier que je dois importer ce trouve dans c:\voiture.txt :

exemple du contenu du fichier texte :

peugeot;207;rouge;diesel;10000;
renault;clio;vert;essence;6000;

ect...
------------------------------------------------------------------------------------------
Dans l'aide :
HimporteTexte("CLIENT","C:\Unexemple\Client.txt"..."NOM,ADRESSE,LOGO", hvaldefaut, "Jauge1")
-------------------------------------------------------------------------------------------
J'ai déduit :
HimporteTexte("VOITURE","C:\voiture.txt","marque ,modele , couleur , prix", hvaldefaut, "Jauge1")
---------------------------------------------------------------------------------------------
Je ne comprends pas les séparateurs comment ecrire la syntaxe ?
La syntaxe de la phrase est elle bonne ? les guillemets ?


Voila si un senior de la programmation pourrais se servir de mon exemple est inscrire la bonne phrase qu'il me faut ecrire pour que mon exemple fonctionne avec le séparateur ";"

Merçi d'avance
Publicado el 28,mayo 2007 - 14:26
Mille excuses j'ai oublié dans mon exemple le moteur !

Table memoire : VOITURE
idvoiture,marque,modele,couleur,moteur,prix

cordialement,
Publicado el 28,mayo 2007 - 14:26
L'aide nous dit :

<Séparateurs> : Chaîne de caractères (avec guillemets)

Liste des séparateurs utilisés pour les colonnes, les chaînes, les lignes et les décimales.
Les différents séparateurs sont séparés par le caractères caract(127) (pour compatibilité avec WinDev 5.5).
<Séparateur de colonnes> + Caract(127) + <Séparateur de chaînes> + Caract(127) + <Séparateur de lignes> + Caract(127) + <Séparateur de décimale>

<Séparateur de colonnes> : Chaîne de caractères (par défaut ",").
<Séparateur de chaînes> : Caractère (par défaut ")
<Séparateur de lignes> : Chaîne de caractères (par défaut RC, c'est à dire Caract(13)+Caract(10))
<Séparateur de décimales> : Caractère (par défaut "." ou ",")



Donc, sauf erreur de ma part, ça donnerait pour ton cas:
HimporteTexte("VOITURE","C:\voiture.txt","marque ,modele , couleur , prix", ";"+Caract(127)+Caract(34)+Caract(127)+Caract(127)+RC+Caract(127)+",", hvaldefaut, "Jauge1")

Si tes chaines sont entre guillemets.
Si ce n'est pas le cas, j'imagine que Caract(34) devient ""

A tester, tiens nous au courant :)

Cordialement
Publicado el 28,mayo 2007 - 15:56
Re
Merci pour ta réponse , j'ai tapé tout bien est j'ai l'erreur : Aucune syntaxe d'import texte correspond ?
c'est vraiment une prise de tete cette commande ...
Pourquoi ne peux t'on pas mettre simplement le séparateur (;)

j'ai du mal à comprendre pourquoi mettre tous ces "caract"
j'essaye plein de combinaisons mais je n'arrive toujours pas à avoir le declic pour ces séparateurs .

merçi quand meme ;o)
Publicado el 28,mayo 2007 - 17:05
Dans ce cas là,
Passe donc par une lecture séquentielle de ton fichier,
récupère les rubrique avec extraitchaine()
et fais les hajoute() à la main....

Ca prendra sûrement moins de temps pour coder ça, que de capter comment marche HImporteTexte ^^

pour info, en +/- pseudo code:

sLigne est une chaine

sLigne=fLitLigne(tonfichiertxt)
tantque sLigne <> EOT
monfichierhf.marubrique1 = extraitchaine(sLigne, ";", 1)
monfichierhf.marubrique2 = extraitchaine(sLigne, ";", 2)
monfichierhf.marubrique3 = extraitchaine(sLigne, ";", 3)
etc...

hAjoute(monfichierhf)

sLigne=fLitLigne(tonfichiertxt)
Fin

cordialement
Publicado el 28,mayo 2007 - 18:11
Merci cocolapin :o)
---------------------------------------------------------------------------

peugeot;207;rouge;essence;6000;
renault;clio;vert;diesel;4000;
bmw;211;orange;gaz;10000;

---------------------------------------------------------------------------
peut on me dire ce qui est le séparateur de colonnes ?
ce qui est le séparateur de chaine ?
ce qui est le séparateur de ligne ?

La est peut etre mon problème pour comprendre la syntaxe de "HImporteTexte"
Publicado el 28,mayo 2007 - 19:08
Bonjour,

Le séparateur de colonne est le ; (les colonnes, sont marque, modèle,
couleur, etc)
le séparateur de chaine réfère à certains types de fichiers texte ou les
chaines sont entourées de " " (par exemple, alors que les valeurs
numériques ne le sont pas (permet à excel, par exemple, de TYPER les
colonnes)

Le séparateur de ligne est traditionnellement un Retour cahriot+line
feed sous dos/windows, alors que sous unix c'est en général un Line feed
tout seul... Chaque 'ligne' étant un enregistrement différent...

Cordialement

--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com/index FR.html


skype:fabriceharari?add




Novice wrote:
Merci cocolapin :o)
---------------------------------------------------------------------------

peugeot;207;rouge;essence;6000;
renault;clio;vert;diesel;4000;
bmw;211;orange;gaz;10000;

---------------------------------------------------------------------------
peut on me dire ce qui est le séparateur de colonnes ?
ce qui est le séparateur de chaine ?
ce qui est le séparateur de ligne ?

La est peut etre mon problème pour comprendre la syntaxe de "HImporteTexte"
Publicado el 28,mayo 2007 - 19:20
Pour moi,
séparateur de colonne = ";"
séparateur de chaine = ""
séparateur de ligne = RC

Mais bon, c'est ce que je t'ai proposé, et ça n'a pas l'air de marcher...

Si quelqu'un peut éclairer notre lanterne

ps: à moins que le séparateur de chaine ne soit espace " "
Publicado el 29,mayo 2007 - 00:36
"Novice " <arsesis1@yahoo.fr> a écrit dans le message de
news:465ae1b8@news.pcsoft.fr...

Merci cocolapin :o)
--------------------------------------------------------------------------

-

peugeot;207;rouge;essence;6000;
renault;clio;vert;diesel;4000;
bmw;211;orange;gaz;10000;

--------------------------------------------------------------------------

-
peut on me dire ce qui est le séparateur de colonnes ?
ce qui est le séparateur de chaine ?
ce qui est le séparateur de ligne ?

La est peut etre mon problème pour comprendre la syntaxe de

"HImporteTexte"
>
peugeot;207;rouge;essence;6000;
renault;clio;vert;diesel;4000;
bmw;211;orange;gaz;10000;

Moi je ne met pas de ; a la fin car il considere encore un autre champ.

peugeot;207;rouge;essence;6000
renault;clio;vert;diesel;4000
bmw;211;orange;gaz;10000

DGD
Publicado el 29,mayo 2007 - 00:37
J'ai trouvé !! du moins cela rentre dans mon fichier HF


----------------------------------------------------

fichier HF : VOITURE
-----------------------------------------------------
ex d'une ligne du fichier texte :

renault;clio;verte;diesel;6000; -->deliminateur colonne: ";" et RC deliminateur ligne

-------------------------------------------------------------------------------------------------------
HImporteTexte(VOITURE,"C:\auto.txt","marque,modele,couleur,type,prix", ";"+ Caract(127)+RC , hImpSansDélimiteur, "Jauge1")

-------------------------------------------------------------------------------------------------------


En fin de compte ce que j'ai pu comprendre c'est que je n'ai pas de déliminateur de chaine ! donc il faut rajouter :" hImpSansDélimateur"

Si cela peut servir pour d'autre ... et merci à tous de votre aide
Publicado el 29,mayo 2007 - 08:45
Oui je me suis rejouie un peu tot !

je lit la premiere ligne seulement bouhhhhhhhh

effectivement si j'enleve le ";" de la fin du fichier cela marche
mais je ne peux enlever le ";" de la fin de mon fichier , il doit avoir une astuce ....

Dans le LST68 il y a un exemple d'import de fichier , cela fonctionne trés bien il m'avale mon fichier sans piper mot ;o) le problème avec ma version 10 je ne peux pas ouvrir l'exemple de la LST 68 en V11??? c'est mal fait il aurait pu la mettre en version 10 !
j'attendrai d'avoir assez d'argent pour acheter la V11 lol

je reste persuader qu'il y a moyen de trouver la bonne syntaxe sur ce petit fichier ..
je continu de chercher mais etant vraiment un novice c'est pas facile .
je regarde les messages sur le forum sur Himportexte c'est pas la joie à croire que tout le monde essaye de passer autrement pourtant elle parait cool comme syntaxe ? du moin je le pense ...

merçi de continuer les recherches ....
cordialement ,

ps : si quelqu'un à la V11 qu'il regarde l'exemple pour savoir comment il font :o)
Publicado el 29,mayo 2007 - 16:03
J'ai fait un test avec la version 11.

Pour aller plus vite, j'ai simplifié.
Puisqu'il y a un ; à la fin de la ligne, j'ai décrit le séparateur de fin de ligne par
";" + RC

HImporteTexte(Voiture, "C:\Mes Projets\ProjetEssaisWindev\Exe\Fichier Essai.txt", "Marque, Modele,Couleur", ";"+Caract(127)+""""+Caract(127)+";" +RC, hImpSansDélimiteur)

Contenu du fichier :

peugeot;207;rouge;
renault;clio;vert;
toyota;corolla;or;

Je retrouve bien les 3 records dans la table.

Salutations
Publicado el 29,mayo 2007 - 16:42
Bonjour...

Franchement, vu la simplicité d'import d'un fichier texte avec avec
flit, flitLigne, ou même fchargetexte, (c'est bien une boucle qui doit
BIEN faire 5 lignes), je ne vois pas l'interet de perdre mon temps avec
himportetexte qui est forcément limité aux cas standards...

Cordialement

--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com/index FR.html


skype:fabriceharari?add




novice wrote:
Oui je me suis rejouie un peu tot !

je lit la premiere ligne seulement bouhhhhhhhh

effectivement si j'enleve le ";" de la fin du fichier cela marche
mais je ne peux enlever le ";" de la fin de mon fichier , il doit avoir une astuce ....

Dans le LST68 il y a un exemple d'import de fichier , cela fonctionne trés bien il m'avale mon fichier sans piper mot ;o) le problème avec ma version 10 je ne peux pas ouvrir l'exemple de la LST 68 en V11??? c'est mal fait il aurait pu la mettre en version 10 !
j'attendrai d'avoir assez d'argent pour acheter la V11 lol

je reste persuader qu'il y a moyen de trouver la bonne syntaxe sur ce petit fichier ..
je continu de chercher mais etant vraiment un novice c'est pas facile .
je regarde les messages sur le forum sur Himportexte c'est pas la joie à croire que tout le monde essaye de passer autrement pourtant elle parait cool comme syntaxe ? du moin je le pense ...

merçi de continuer les recherches ....
cordialement ,

ps : si quelqu'un à la V11 qu'il regarde l'exemple pour savoir comment il font :o)
Publicado el 29,mayo 2007 - 19:58
Merci à vous tous ;o)

fabrice je suis un novice , je ne suis pas devellopeur , je suis du monde des télécommunication PBX/IP et je suis curieux , je trouve l'idée d'un logiciel français très agréable et je veux convertir mon milieu technique au logiciel windev, cela fait pas mal de temps que je lorgne dessus , j'ai franchi dernierement le pas financierement ;o) mais quelle montagne ce logiciel pour un débutant .

ps : j'aimerais bien fabrice que tu me montres la boucle en 5 lignes si tu as 5 mn ;o)

cordialement ,
jm
Publicado el 30,mayo 2007 - 11:50
"Novice " <arsesis1@yahoo.fr> a écrit dans le message de
news:465c4c01$1@news.pcsoft.fr...

Merci à vous tous ;o)

fabrice je suis un novice , je ne suis pas devellopeur , je suis du monde
des télécommunication PBX/IP et je suis curieux , je trouve l'idée d'un
logiciel français très agréable et je veux convertir mon milieu technique
au logiciel windev, cela fait pas mal de temps que je lorgne dessus , j'ai
franchi dernierement le pas financierement ;o) mais quelle montagne ce
logiciel pour un débutant .

ps : j'aimerais bien fabrice que tu me montres la boucle en 5 lignes si tu
as 5 mn ;o)

cordialement ,
jm



Bonjour,
en plus de la montagne, il y a une aide efficace, et un didacticiel. Pour
l'aide, dans l'éditeur de code, tu tapes soit fouvre, soit flitligne, et tu
appuies sur F1.
il y a des exemples tout faits (la boucle en 5 lignes, entre autres) , qu'il
te suffit d'adapter.
par exemple :
ine est un entier
ligne lue est une chaine
ind = fouvre("c:\monfichier.txt")
si ind = -1 alors
erreur("Oh mon Dieu, je ne peux pas ouvrir mon fichier !")
ferme()
fin
lignelue = flitligne(ind)
tantque ligne lue <> EOT
// ici tu places ton traitement de lignelue qui contient à chaque fois une
ligne de ton fichier
....
lignelue = flitligne(ind)
fin
fferme(ind)

Mais, je le répète: la touche F1 est ton amie.


--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Publicado el 30,mayo 2007 - 13:20
Re Bonjour ci joint bout de code qui marche
HImporteTexte(FAL_OPERATION, "C:\MesProjets 9\RECUP\FAL_OPERATION.TXT",
"IDRAL_OPERATION,OPCODE,OPCLAIR", ";"+Caract(127)+""""+Caract(127)+RC,
hImpSansDélimiteur+hImpCréation, Jauge1)

SI ErreurDétectée ALORS Erreur(HErreurInfo())

Info("Traitement OK");Jauge1=""

Fichier :FAL_OPERATION
1;1;Vestuste
2;2;Accident
3;3;Imtemperie
4;4;Renouvellement
5;5;Commande

Comme je te l'ai dit sort les ; a chaque fin de ligne..
D.G

"novice" <arsesis1@yahoo.fr> a écrit dans le message de
news:465b4a9d$1@news.pcsoft.fr...




Oui je me suis rejouie un peu tot !

je lit la premiere ligne seulement bouhhhhhhhh

effectivement si j'enleve le ";" de la fin du fichier cela marche
mais je ne peux enlever le ";" de la fin de mon fichier , il doit avoir

une astuce ....

Dans le LST68 il y a un exemple d'import de fichier , cela fonctionne trés

bien il m'avale mon fichier sans piper mot ;o) le problème avec ma version
10 je ne peux pas ouvrir l'exemple de la LST 68 en V11??? c'est mal fait il
aurait pu la mettre en version 10 !
j'attendrai d'avoir assez d'argent pour acheter la V11 lol

je reste persuader qu'il y a moyen de trouver la bonne syntaxe sur ce

petit fichier ..
je continu de chercher mais etant vraiment un novice c'est pas facile .
je regarde les messages sur le forum sur Himportexte c'est pas la joie à

croire que tout le monde essaye de passer autrement pourtant elle parait
cool comme syntaxe ? du moin je le pense ...

merçi de continuer les recherches ....
cordialement ,

ps : si quelqu'un à la V11 qu'il regarde l'exemple pour savoir comment il

font :o)
>
Publicado el 30,mayo 2007 - 15:41
Merci jack ;o)
Publicado el 10,noviembre 2019 - 16:42
Bonsoir...

Ce problème m'a longtemps fatigué jusqu'a ce que je trouve cette solution:

La composition de mon fichier texte à importé dans mon fichier hfsql:
nom;prenoms;date_naissance;nom_pere;prenoms_pere;nom_mere;prenoms_mere
ABE;CHIAYE MARCELLINE;16/07/1971;ABE;ABE DANIEL;DJEGO;ABE CELINE
ABISSA TAMIA THERSE;AFFOUA;01/01/1951;KOUASSI;ABISSA;AMA;FROUMA

SI HImporteTexte(liste_electorale,"C:\Mes Projets Mobile\Projets\Exe\MaListe.txt","nom,prenoms,date_naissance,nom_pere,prenoms_pere,nom_mere,prenoms_mere",";"+Caract(127)+""+Caract(127) +RC,hImpSansDélimiteur+hImpIgnorePremièreLigne) = Faux ALORS
Erreur("Importation impossible.")
FIN