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 :

Récup données d'un fichier txt dans un champ de saisie [WD14]


Sujet :

WinDev

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 95
    Points : 73
    Points
    73
    Par défaut Récup données d'un fichier txt dans un champ de saisie
    Bonjour,

    je cherche à récupérer une ligne des données provenant d'un fichier texte dans un champ de saisie :

    type adresse d'une personne.

    en tapant un texte dans un champ, un fichier "numéros.txt" se crée puis une commande de recherche dans la base de données se lance (base GTEA) qui renvoie les coordonnées correspondantes de la personne dans un fichier résultat.txt... ensuite je souhaite que les données obtenues soient récupérées dans un champ de saisie dans windev...

    code :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    IdFic est un entier
    sMaChaîne est une chaîne
     
    // Ouverture du fichier
    nIdFic = fOuvre("C:\Numeros.txt", foCréationSiInexistant+foLectureEcriture)
    SI nIdFic=-1 ALORS
    	Erreur("L'ouverture du fichier a échoué", ErreurInfo())
    SINON
    	// On remplit la chaîne à écrire dans le fichier
    	sMaChaîne = SAI_Saisie1
    	// Ecriture dans le fichier
    	fEcritLigne(nIdFic, sMaChaîne)
     
    	// Fermeture du fichier
    	fFerme(nIdFic)
    FIN
     
     
    //lancer la commande GTEA
    LanceAppli("""G:\Applications\GESTNDOCS\COMMANDE GTEA.bat""", exeInactif, Faux)
     
    // récupérer les données dut fichier txt vers champ
     
    //ouverture du fichier 
    IdFichier est un entier= fOuvre("C:\Resultat.txt",foLecture)
    SI IdFichier > 0 ALORS
    	LigneLue est une chaîne = fLitLigne(IdFichier) //lecture de la premiere ligne
    	TANTQUE LigneLue<>"" ET LigneLue<>EOT
    		//extraction des données de la ligne
    		LigneLue= fLitLigne(IdFichier)
    	FIN
    	fFerme(IdFichier) //fermeture du fichier
    FIN
    sauf que toute la partie // ouverture du fichier // ne fonctionne pas, comment dois-je faire ?

    En vous remerciant.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 95
    Points : 73
    Points
    73
    Par défaut
    Avec ce code, cela fonctionne mais comment faire désormais pour intégrer les données du fichier résultats (separateur TAB), dans une table...

    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
    17
    18
    19
    20
    21
    nIdFic est un entier
    sMaChaîne est une chaîne
     
    // Ouverture du fichier
    nIdFic = fOuvre("C:\Resultat.txt", foLectureEcriture)
    SI nIdFic=-1 ALORS
    	Erreur("L'ouverture du fichier a échoué", ErreurInfo())
    SINON
    	// Première ligne
    	sMaChaîne = fLitLigne(nIdFic)
    	TANTQUE sMaChaîne<>EOT
    		// Traitement de la ligne lue
    		SAI_Saisie1=(sMaChaîne)
     
    		// Ligne suivante
    		sMaChaîne = fLitLigne(nIdFic)
    	FIN
     
    	// Fermeture du fichier
    	fFerme(nIdFic)
    FIN

  3. #3
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    première question, ton fichier est bien écrit, avec les bonnes données que tu voulais y inscrire?
    Deuxième question, pas de message d'erreur dans l'ouverture dudit fichier par l'autre appli???
    Enfin, pour finir, qund tu dis que cela ne fonctionne pas, la lecture en boucle d'ouverture de fichier ne fait que lire les lignes, mais ne les affecte pas dans un champs, est-ce normal.... car là, sauf à lire le fichier, cela ne fait rien d'autre...
    Essayes de 'tracer' la lecture de tes lignes et tu verras bien si tu lis quelque chose.

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

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 379
    Points : 4 496
    Points
    4 496
    Par défaut
    Bonjour

    Je pense que tu te compliques un peu la vie
    D'après ce que tu dis ton fichier texte contient une ligne avec les infos séparées par TAB

    Tu peux le charger dans une variable texte avec fChargeTexte et ensuite lire les éléments avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    POUR TOUTE CHAINE <Sous-CHAINE> DE <CHAINE> SEPAREE PAR <Séparateur>
     
    FIN
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    LOCAL
       sAdresse est une chaîne
       sElement est une chaîne
     
    sAdresse = fChargeTexte("C:\Resultat.txt")
     
    POUR TOUTE CHAINE sElement DE sAdresse SEPAREE PAR TAB
       Trace(sElement)
    FIN
    Il faut bien sur y ajouter les contrôles (fichier bien lu, validités des sous-chaînes ...)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 95
    Points : 73
    Points
    73
    Par défaut
    Bon, merci pour tous ces conseils, j'ai réussi à récupérer les données du fichier résultat dans un champ de saisie avec les séparations TAB... Il me reste cependant encore un problème.

    Comment faire pour intégrer les infos récupérées dans ce champ de saisie et les recopier dans des colonnes d'une table( nom -> nom, prénom -> prénom...) ?

    ex :

    mes infos récup dans le champ sont de ce type :

    MICHAUD<tab>Christophe<tab>12<tab>allée des rosiers....etc.

    je voudrais affecter MICHAUD dans une colonne, Christophe dans une autre... etc...

    là, je chercher dans tous sens, et je ne trouve pas la solution ou peut-être la fonction à utiliser, pour que cela fonctionne...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 95
    Points : 73
    Points
    73
    Par défaut
    résolu... merci à tous

  7. #7
    Membre actif
    Inscrit en
    Août 2005
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 96
    Points : 205
    Points
    205
    Par défaut Windev : Extraire portion de chaine
    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
    17
    18
    19
    20
    sChaine = "MICHAUD<tab>Christophe<tab>12<tab>allée des rosiers"
     
    //OU sChaine = Sai_MonChamp..valeur
     
    iIndice est un entier
    iIndice = TableAjouteLigne(Table1)
     
    sVal est une chaîne
     
    sVal = ExtraitChaîne(sChaine,1,TAB)
    Table1.Col_Nom[i] = sVal
     
    sVal = ExtraitChaîne(sChaine,2,TAB)
    Table1.Col_Prenom[i] = sVal
     
    sVal = ExtraitChaîne(sChaine,3,TAB)
    Table1.Col_Num[i] = sVal
     
    sVal = ExtraitChaîne(sChaine,4,TAB)
    Table1.Col_Adresse[i] = sVal

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 95
    Points : 73
    Points
    73
    Par défaut
    merci bastien, mais cela ne fonctionne pas...

    pas de message d'erreur, mais rien ne s'affiche dans ma table...

    je n'arrive toujours pas à intégrer les données de mon champ de saisie dans ma table...

    avez-vous une autre idée...

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Tu es bien avec une table remplie par programmation ? (onglet contenu)

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 95
    Points : 73
    Points
    73
    Par défaut
    Merci Bowen...no comment, je cherche tellement la complication pour résoudre ce problème depuis plusieurs jours, que je ne vois plus l'évidence...

    je n'étais effectivement pas en "programmation".

    Merci Bastien, ça marche nickel.

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

Discussions similaires

  1. Comment extraire les données d'un fichier txt dans un tableau excel
    Par mirage23 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/11/2012, 09h16
  2. Extraire des données d'un fichier txt dans un vecteur
    Par sam14 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 22/02/2012, 12h56
  3. charger les données d'un fichier .txt dans une table
    Par lemerite dans le forum Développement
    Réponses: 6
    Dernier message: 10/09/2008, 18h33
  4. Réponses: 7
    Dernier message: 12/10/2006, 08h44
  5. Réponses: 1
    Dernier message: 07/12/2005, 17h53

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