|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
flitligne et table ajoute |
Débuté par corinne.briche, 03 mai 2005 11:46 - 8 réponses |
| |
| | | |
|
| |
Posté le 03 mai 2005 - 11:46 |
Bonjour,
Comme d'habitude je ne m'en sors pas sur une fonction qui va très certainement vous sembler bateau. Le but du jeu, remplir une table mémoire à partir d'un fichier texte, (résultat d'une requete exportée en fichier txt) le fichier comporte un nombre de ligne variable en fonction du résultat de la recherche et 37 colonnes En fonction de mes besoins j'affiche ou non telle ou telle colonne J'ai regardé la fonction : flitligne en utilisant l'assistant l'ouverture du fichier est ok , le trace me trace bien mon fichier mais j'arrive pas à ajouter les lignes de résultat dans ma table_mémoire (moimême) la fonction, ne génére aucune erreur. Merci de votre aide
PS : je ne veux pas importer mon fichier txt dans une table physique, c'est vraiment du temporaire
code utilisé via l'assistant :
nIdFic = fOuvre("C:\travail_archange\fic_camp\selection_recherche.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 Trace(sMaChaîne) TableAjouteLigne(MoiMême,sMaChaîne) TableAffiche(MoiMême) // Ligne suivante sMaChaîne = fLitLigne(nIdFic) FIN FIN // Fermeture du fichier fFerme(nIdFic) |
| |
| |
| | | |
|
| | |
| |
Posté le 03 mai 2005 - 13:18 |
hello
essai peut etre en mettant le nom de la table a la place de "moimeme" et sinon a tu des "TAB" dans ton fichier pour separer les differents champs qui rempliront tes colonnes ?
bon dev a+ |
| |
| |
| | | |
|
| | |
| |
Posté le 03 mai 2005 - 14:05 |
merci de ta réponse j'ai fait le test avec "nom de ma table" idem oui j'ai des tab, et quand je fais tableajouteligne(nomdematable,""+tab+""+tab"+etc..etc) tableaffiche(nomdematable) rien de plus ! ma table est vide
"digi" <guest@newsgroup.fr> a écrit dans le message de news: 4277360e$1@news.pcsoft.fr...
hello
essai peut etre en mettant le nom de la table a la place de "moimeme" et sinon a tu des "TAB" dans ton fichier pour separer les differents champs qui rempliront tes colonnes ?
bon dev a+
|
| |
| |
| | | |
|
| | |
| |
Posté le 03 mai 2005 - 15:54 |
Essaye ça :
NumCol , NumLigne sont des entiers
sMaChaîne = fLitLigne(nIdFic) TANTQUE sMaChaîne<>EOT NumLigne = TableAjouteLigne(MaTable) SI NumLigne = -1 ALORS Erreur("Erreur ...") ; SORTIR POUR NumCol = 1 A 37 // 37 = NbColonne MaTable[NumLigne][NumCol] = ExtraitChaine(sMaChaine,NumCol,TAB) FIN sMaChaîne = fLitLigne(nIdFic) FIN fFerme(nIdFic)
A+ |
| |
| |
| | | |
|
| | |
| |
Posté le 03 mai 2005 - 16:30 |
re
j ai fait un test en creant une table TABLE1 avec 3 colonnes (colonne1,colonne2,colonne3) et en mettant le code suivant dans un bouton :
TableAjoute(Table1,"A1"+TAB+"B1"+TAB+"C1") TableAjoute(Table1,"A2"+TAB+"B2"+TAB+"C2") TableAjoute(Table1,"A3"+TAB+"B3"+TAB+"C3")
cela ajoute bien 3 lignes avec les valeurs A1 etc ... la table est une table memoire
bon dev a+ |
| |
| |
| | | |
|
| | |
| |
Posté le 03 mai 2005 - 16:41 |
Je pense que tableaffiche affiche toujours une table vide des le debut, il aurait fallu mettre un multitache() apres tableajouteligne ou simplement supprimer tableaffiche qui dans ce cas a le meme effet que de garder la derniere table dans ce cas une table vide. |
| |
| |
| | | |
|
| | |
| |
Posté le 03 mai 2005 - 19:19 |
Merci cédric, ca marche ! avec quelques petits "trucs" bizarre en fait je récupére bien mes valeurs dans chaque colonne, mais dans ma table j'ai une ligne remplie une ligne vide, une ligne remplie, une ligne vide etc... etc... donc pour une lecture de 5 lignes : 10 lignes dans la table certainement le code de fin de ligne dans le txt, mal intéprétée ?
si tu as une idée ?
de plus je t'ai envoyé un mail sur ton add wanadoo
merci
"cedric" <audemar.cedric@wanadoo.fr> a écrit dans le message de news: 42775a8d$1@news.pcsoft.fr...
Essaye ça :
NumCol , NumLigne sont des entiers
sMaChaîne = fLitLigne(nIdFic) TANTQUE sMaChaîne<>EOT NumLigne = TableAjouteLigne(MaTable) SI NumLigne = -1 ALORS Erreur("Erreur ...") ; SORTIR POUR NumCol = 1 A 37 // 37 = NbColonne MaTable[NumLigne][NumCol] = ExtraitChaine(sMaChaine,NumCol,TAB) FIN sMaChaîne = fLitLigne(nIdFic) FIN fFerme(nIdFic)
A+
|
| |
| |
| | | |
|
| | |
| |
Posté le 03 mai 2005 - 22:35 |
Bonjour
Il faut remplacer moimeme par le nom de la table si le code n'est pas dans l'initialisation de la table d'autre par il faut dans ton fichier txt que les champs soient séparés par des , il faut éviter le tableaffiche pour ne pas ralentir l'exécution c'est a faire en fin de code
Patrick
"corinne briche" <corinne.briche@archange-groupe.com> a écrit dans le message de news: 427721a9@news.pcsoft.fr...
Bonjour,
Comme d'habitude je ne m'en sors pas sur une fonction qui va très certainement vous sembler bateau. Le but du jeu, remplir une table mémoire à partir d'un fichier texte, (résultat d'une requete exportée en fichier txt) le fichier comporte un nombre de ligne variable en fonction du résultat de la recherche et 37 colonnes En fonction de mes besoins j'affiche ou non telle ou telle colonne J'ai regardé la fonction : flitligne en utilisant l'assistant l'ouverture du fichier est ok , le trace me trace bien mon fichier mais j'arrive pas à ajouter les lignes de résultat dans ma table_mémoire (moimême) la fonction, ne génére aucune erreur. Merci de votre aide
PS : je ne veux pas importer mon fichier txt dans une table physique, c'est vraiment du temporaire
code utilisé via l'assistant :
nIdFic = fOuvre("C:\travail_archange\fic_camp\selection_recherche.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 Trace(sMaChaîne) TableAjouteLigne(MoiMême,sMaChaîne) TableAffiche(MoiMême) // Ligne suivante sMaChaîne = fLitLigne(nIdFic) FIN FIN // Fermeture du fichier fFerme(nIdFic)
|
| |
| |
| | | |
|
| | |
| |
Posté le 04 mai 2005 - 12:16 |
Hello ! Essaye de faire un TableAjoute et non un TableAjouteLigne. JiPi
corinne briche a couché sur son écran :
Merci cédric, ca marche ! avec quelques petits "trucs" bizarre en fait je récupére bien mes valeurs dans chaque colonne, mais dans ma table j'ai une ligne remplie une ligne vide, une ligne remplie, une ligne vide etc... etc... donc pour une lecture de 5 lignes : 10 lignes dans la table certainement le code de fin de ligne dans le txt, mal intéprétée ? si tu as une idée ? de plus je t'ai envoyé un mail sur ton add wanadoo merci "cedric" <audemar.cedric@wanadoo.fr> a écrit dans le message de news: 42775a8d$1@news.pcsoft.fr... Essaye ça :
NumCol , NumLigne sont des entiers
sMaChaîne = fLitLigne(nIdFic) TANTQUE sMaChaîne<>EOT NumLigne = TableAjouteLigne(MaTable) SI NumLigne = -1 ALORS Erreur("Erreur ...") ; SORTIR POUR NumCol = 1 A 37 // 37 = NbColonne MaTable[NumLigne][NumCol] = ExtraitChaine(sMaChaine,NumCol,TAB) FIN sMaChaîne = fLitLigne(nIdFic) FIN fFerme(nIdFic)
A+
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|