IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Importer le contenu d'un fichier texte dans un champ table [WD15]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Points : 49
    Points
    49
    Par défaut Importer le contenu d'un fichier texte dans un champ table
    Bonsoir,
    j'ai un fichier texte qui contient les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    .\mysql-bin.000001
    .\mysql-bin.000002
    .\mysql-bin.000003
    .\mysql-bin.000004
    .\mysql-bin.000005
    .\mysql-bin.000006
    .\mysql-bin.000007
    .\mysql-bin.000008
    .\mysql-bin.000009
    .\mysql-bin.000010
    .\mysql-bin.000011
    .\mysql-bin.000012
    .\mysql-bin.000013
    .\mysql-bin.000014
    .\mysql-bin.000015
    .\mysql-bin.000016
    j'aimerais importer uniquement les lignes avec le format "mysql-bin.0000x"(mysql-bin.000007,...,mysql-bin.000016) dans la colonne1 de la table voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ResLecture est une chaîne=""
    IdFichier est un entier
    IdFichier = fOuvre("C:\wamp\bin\mysql\mysql5.5.24\data\mysql-bin.index",foLecture)
    TANTQUE  ResLecture <> EOT
    		ResLecture = fLitLigne(IdFichier)
    		TableAjouteLigne(TABLE_Table1,ExtraitChaîne(ResLecture,2,"\"))
     
    	FIN
     
    fFerme(IdFichier)
    comme resultat j'obtiens (voir image1)
    je pense que la ligne 2 doit être un retour chariot.

    comment faire pour avoir toute les lignes de la table remplies par le contenu du fichie texte avec le format "mysql-bin.0000x" ?
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Si c'est généré par MySql il est très probable qu'en fin de ligne il n'y ait pas de RC (CR+LF ou 13+10) mais uniquement un caractère de code 10 (LF)

    Essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sContenu est une chaîne = fChargeTexte("C:\wamp\bin\mysql\mysql5.5.24\data\mysql-bin.index")
    POUR TOUTE CHAÎNE sLigne DE sContenu SEPAREE PAR Caract(10)
       TableAjouteLigne(TABLE_Table1, ExtraitChaîne(sLigne,2,"\"))
    FIN
    EDIT :
    Je viens de voir que fLitLigne accepte un paramètre supplémentaire pour indiquer le séparateur de ligne, si tu mets Caract(10) ton code devrait passer aussi

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Sur le fond hPascal a tout dit concernant ton problème...

    Par contre sur la forme dans la lecture de fichier "classique" je te conseille plutôt de faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ResLecture est une chaîne=""
    IdFichier est un entier
    IdFichier = fOuvre("C:\wamp\bin\mysql\mysql5.5.24\data\mysql-bin.index",foLecture)
    ResLecture = fLitLigne(IdFichier)
    TANTQUE  ResLecture <> EOT
    		TableAjouteLigne(TABLE_Table1,ExtraitChaîne(ResLecture,2,"\"))
    		ResLecture = fLitLigne(IdFichier)	
    FIN
     
    fFerme(IdFichier)
    La différence est subtile mais ça évitera de mal gérer le cas d'un fichier vide et d'afficher un caractère étrange en fin de lecture...
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  4. #4
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Bonjour,

    alors j'ai une idée très spontanée et à l'opposé de mes habitudes de prog :

    - déclarer un tableau dynamique de chaine en global de la fenêtre
    - lier la table au tableau
    - charger le fichier texte dans une chaine avec fcharge(...
    - ChaîneVersTableau(... // utiliser un séparateur bidon qui n'existe pas)
    - actualiser la table

    c'est opaque à souhait mais ça doit fonctionner...

    Bon dev

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Points : 49
    Points
    49
    Par défaut Importer le contenu d'un fichier texte dans un champ table
    Bonjour

    le code de hpascal marche,lorsque j'essaie le code de michel.souris j'ai toujours mon même problème

    Merçi

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Citation Envoyé par Menadel Voir le message
    Bonjour

    le code de hpascal marche,lorsque j'essaie le code de michel.souris j'ai toujours mon même problème

    Merçi
    oui.... je crois qu'on s'est pas compris !

    Je corrige pas ton problème car effectivement comme le dis hpascal il n'y a pas de <RC> mais des caract(10) je te propose une solution qui permet de lire un fichier en gérant correctement la fin du fichier et le cas des fichiers vides... mais c'est pas grave !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Points : 49
    Points
    49
    Par défaut Importer le contenu d'un fichier texte dans un champ table
    salut,

    je ne t'avais pas compris ,merci pour ton éclaircissement michel.souris

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VBA Récupérer le contenu d'un fichier texte dans un champs
    Par sperchey dans le forum VBA Access
    Réponses: 7
    Dernier message: 17/06/2008, 15h05
  2. Réponses: 1
    Dernier message: 18/04/2007, 19h13
  3. contenu d'un fichier texte dans un tableau
    Par lyoram dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/11/2006, 12h15
  4. Réponses: 8
    Dernier message: 06/08/2006, 16h11
  5. Réponses: 3
    Dernier message: 19/05/2006, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo