1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Importer des données a partir d'un fichier Txt

Discussion dans 'Résolution problème & conseils' créé par postmanwindev, Mar 30, 2018.

  1. postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Dis-moi que tu es en train de changer les ; en tabulation dans le fichier source ?
    Cliquez pour agrandir...
    Non je les ai change en ;
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    Dans le fichier source comment ecrire le tab ? En asqui
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Tu insères une tabulation dans le fichier ou un autre, et le copie dans le presse papier (avec CTRL+C), pour pouvoir le mettre dans la zone de remplacement (avec CTRL+V).

    Edit:

    En le sélectionnant.
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Tu insères une tabulation dans le fichier ou un autre, et le copie dans le presse papier (avec CTRL+C), pour pouvoir le mettre dans la zone de remplacement (avec CTRL+V).

    Edit:

    En le sélectionnant.
    Cliquez pour agrandir...
    Pour quoi avec la fonction remplace ça marche aussi non?
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Je n'ai pas ton code, du coup, je m'appuie sur ta trace plus haut, qui remplace qu'un ; en fin de ligne.
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    Je t’envoi une copie du code dans quelques minutes
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    Code (Windev):
    idfichier =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (SC_SelecteurFichier.SAI_FIC, foLectureEcriture)
    SI idfichier <> -1 ALORS
       // Lecture d'une ligne dans ce fichier
       TANTQUE sReslecture <> EOT
       sReslecture =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (idfichier,";")
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sReslecture,";",TAB)
       //TableAjoute(TABLE_SansNom2,sReslecture)
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sReslecture)
    FIN
    FIN
     
  • JHDSoft

    JHDSoft Member

    Inscrit:
    Mar 4, 2018
    Messages:
    41
    J'aime reçus:
    25
    salam tlm
    c simple c juste charge ton text dans un variable comme
    Vartext est une chaîne =fChargeTexte("test.txt")

    apre un simple boucle
    Code (Windev):

    POUR TOUTE CHAÎNE li DE Vartext SEPAREE PAR RC
     

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (TABLE,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (li,1,"³"),

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (li,2,"³"),

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (li,3,"³"),

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (li,4,"³"),

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (li,5,"³"),

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (li,6,"³"),

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (li,7,"³"))
    FIN
     
    voilà j’espère que ça marche.

    salam
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    merci pour ta contribution
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    La fonction remplace renvoie le résultat de remplacement, ce n'est pas directement dans la chaine.

    Soit tu fais ça :
    TableAjoute(TABLE_SansNom2,Remplace(sReslecture,";",TAB))

    Soit tu remplaces le contenu de la chaine :
    sReslecture=Remplace(sReslecture,";",TAB)
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    La fonction remplace renvoie le résultat de remplacement, ce n'est pas directement dans la chaine.

    Soit tu fais ça :

    TableAjoute(TABLE_SansNom2,Remplace(sReslecture,";",TAB))

    Soit tu remplaces le contenu de la chaine :
    sReslecture=Remplace(sReslecture,";",TAB)
    Cliquez pour agrandir...
    c'est de que j'ai fais la seconde option sReslecture=Remplace(sReslecture,";",TAB)
     
  • elhacene

    elhacene Active Member
    MEMBRE WX

    Inscrit:
    Jan 14, 2018
    Messages:
    299
    J'aime reçus:
    150
    c

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bizarre ce caractère "³" ... Ne serait-ce pas le séparateur qu'il faudrait utiliser ?

    Sinon ouvre ton txt avec Notepad++ et encode le en UTF8 ton séparateur sera xB3 et le CTRL sera ta fin de ligne
    Cliquez pour agrandir...
    ta raison c'est bizar car j'ai collé le contenu du fichier sur excel et il a bien mis les donnée sur les bonne colone sauf que quand je tape sur une cellul sa la ligne enti-re se vide c'est quoi au juste ce "³"
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Maintenant, mais pas dans ton code plus haut.
     
  • elhacene

    elhacene Active Member
    MEMBRE WX

    Inscrit:
    Jan 14, 2018
    Messages:
    299
    J'aime reçus:
    150
    ops je sais pourquoi enfin le contenu est sur une seul cellule

    si tu veux faire vite utilise excel et clic sur remplacé puis remplace les ³ par ; après tu importe le fichier excel dans windev
     
    #34 elhacene, Mar 30, 2018
    Dernière édition par un modérateur: Mar 31, 2018
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    Enfin un début de solution donc

    Vartext est une chaîne =fChargeTexte(SC_SelecteurFichier.SAI_FIC)
    i est un entier=0
    POUR TOUTE CHAÎNE dey DE Vartext SEPAREE PAR ";"
    //TableAjouteLigne(TABLE_SansNom2,ExtraitChaîne(li,1,"³"),ExtraitChaîne(li,2,"³"),ExtraitChaîne(li,3,"³"),ExtraitChaîne(li,4,"³"),ExtraitChaîne(li,5,"³"),ExtraitChaîne(li,6,"³"),ExtraitChaîne(li,7,"³"))
    i++
    tabMontab=dey
    SI i=4 ALORS
    TableAjouteLigne(TABLE_SansNom2,tabMontab[1],tabMontab[2],tabMontab[3],tabMontab[4])
    i=0
    FIN
    FIN

    Enfin c'est un début par ce qu'il me donne les données mal ordonnés bref si j'ai mon tableau qui est bien renseigné alors je fais article.codeproduit=tabmontab[1] ...etc et je fini avec un Hajoute()
    Merci je vous rend le retour et le bon code quand j'ai fini
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    Le prob

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    si tu veux faire vite utilise excel et clic sur remplacé puis remplace les ³ par ; après tu importe le fichier excel dans windev
    Cliquez pour agrandir...
    si je fais sur excel est que meme sur excel il s'ouvre sur une seul colonne et moi j'ai besoin de 4 bien separée enfin le prob est reglé et j'ai mis une ébauche merci de ton aide
     
  • JHDSoft

    JHDSoft Member

    Inscrit:
    Mar 4, 2018
    Messages:
    41
    J'aime reçus:
    25
    je sais pas pkoi vous complique les choses !!
    le probleme c du charge le fichier txt dans une table non ???
    si oui ta que copier collee c code ni plus ni moin
    ici un expemle de 7 colonne suivant ta fichier txt

    attention le fichier doit etre le fichier dorigine .txt sans modification par le ";"


    Code (Text):


    Vartext est une chaîne =fChargeTexte("test.txt")

    POUR TOUTE CHAÎNE li DE Vartext SEPAREE PAR RC
    TableAjouteLigne(TABLE,ExtraitChaîne(li,1,"³"),ExtraitChaîne(li,2,"³"),ExtraitChaîne(li,3,"³"),ExtraitChaîne(li,4,"³"),ExtraitChaîne(li,5,"³"),ExtraitChaîne(li,6,"³"),ExtraitChaîne(li,7,"³"))

    Multitâche()
    FIN

     
     
    elhacene apprécie ceci.
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    je sais pas pkoi vous complique les choses !!
    le probleme c du charge le fichier txt dans une table non ???
    si oui ta que copier collee c code ni plus ni moin
    ici un expemle de 7 colonne suivant ta fichier txt

    attention le fichier doit etre le fichier dorigine .txt sans modification par le ";"


    Code (Text):


    Vartext est une chaîne =fChargeTexte("test.txt")

    POUR TOUTE CHAÎNE li DE Vartext SEPAREE PAR RC
    TableAjouteLigne(TABLE,ExtraitChaîne(li,1,"³"),ExtraitChaîne(li,2,"³"),ExtraitChaîne(li,3,"³"),ExtraitChaîne(li,4,"³"),ExtraitChaîne(li,5,"³"),ExtraitChaîne(li,6,"³"),ExtraitChaîne(li,7,"³"))

    Multitâche()
    FIN

     
    Cliquez pour agrandir...
    ça ne donne pas le meme resultat ya un truc qui colle pas entre le rc et le séparateur je cherche pour quoi
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Avec les tabulations, je voulais que tu fasses ça :

    Code (Text):
    nIDFichier est un entier
    sLigne est une chaîne

    nIDFichier = fOuvre("test.txt", foLectureEcriture)
    SI nIDFichier <> -1 ALORS
        sLigne = fLitLigne(nIDFichier)
        TANTQUE sLigne <> EOT
            TableAjoute(article, sLigne)
            sLigne = fLitLigne(nIDFichier)
        FIN
    FIN
    Pas de comparaison, pas besoin de grosse mémoire pour les gros fichiers, etc ...
     
  • JHDSoft

    JHDSoft Member

    Inscrit:
    Mar 4, 2018
    Messages:
    41
    J'aime reçus:
    25
    salut FredWD
    desole pour mes poste juste une petite idee je le parger avec vous
    en passant c koi le contenu de sLigne ?
    d'apre c que je remarque c a la forme de text tab text tab !!!
    et ca marche pas comme ca il faux de "" comme "text" + tab +"text" +tab etc... enfin c que je pense
     
  • Partager cette page

    Chargement...