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 :

[WD14] Récupérer les données d'une table, pour l'afficher dans une autre.


Sujet :

WinDev

  1. #21
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Mauvaise méthode. L'autoformation n'est pas optionelle à ce point. Il vaut mieux la faire intégralement au moins tu connaitras les bases.

    Par contre le reste de la doc oui il vaut mieux l'avoir a coté de toi et l'ouvrir au besoin.

    Mettez vous un peu a la place des gens qui répondent à vos questions.
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  2. #22
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    Bon Ok j'avoue que je mis prend un peu comme un brank

    J'ai relu ce que Tober m'a marqué un peu avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Tant qu'il y a des lignes dans le fichier
        // ligne est un tableau de 7 chaines contenant la ligne courante du fichier...
        ligne = LireLigne(fichier)
        tabPopulation[ligne[1]] += ligne[6] // 6 eme element de ligne, c'est la population
        tabChiffreAffaire[ligne[1]] += ligne[7] // 7 eme element de ligne, c'est le chiffre d'affaire
    J'ai un petit problème, car je vien de le reproduire sur mon code et il me marque une erreur que je ne comprend pas.

    J'ai déclarer:
    tabPopulation est un tableau de chaînes
    tabChiffreAffaire est un tableau de chaînes
    ligne est un tableau de 7 chaînes

    Puis mon code donne ceci:

    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
    34
    35
    36
    37
    38
    39
    40
    41
     
    // Ouverture du fichier
    nIdFicbis = fOuvre(sFichierAImporter, foLectureEcriture)
    SI nIdFicbis=-1 ALORS
    	Erreur("L'ouverture du fichier a échoué", ErreurInfo())
    SINON 
    	// Première ligne
    	sMaChaîne = fLitLigne(nIdFicbis)
    	sCol1 = ExtraitChaîne(sMaChaîne, 01, TAB)
    	sCol2 = tabPopulation
    	xCol3 = tabChiffreAffaire
    	SI  sCol1 = "ALSACE"
    	nIdFichbis = fOuvre(sFichiertableau, foLectureEcriture)
    	fPositionne(nIdFichbis, 0, fpFin)
    	fEcritLigne(nIdFichbis,  "ALSACE" + TAB + sCol2 + TAB + xCol3)
    	fFerme(nIdFichbis)
    SINON SI sCol1 = "POITOU CHARENTE"
    	nIdFichbis = fOuvre(sFichiertableau, foLectureEcriture)
    	fPositionne(nIdFichbis, 0, fpFin)
    	fEcritLigne(nIdFichbis,  "Poitou-charente" + TAB + sCol2 + TAB + xCol3)
    	fFerme(nIdFichbis)
    	FIN
     
     
    	TANTQUE sMaChaîne<>EOT
    		// Ligne suivante
    	sMaChaîne = fLitLigne(nIdFicbis)
    	sCol1 = ExtraitChaîne(sMaChaîne, 01, TAB)
    	sCol2 = tabPopulation
    	xCol3 = tabChiffreAffaire
    	SI  sCol1 = "ALSACE"
    	nIdFichbis = fOuvre(sFichiertableau, foLectureEcriture)
    	fPositionne(nIdFichbis, 0, fpFin)
    	fEcritLigne(nIdFichbis,  "ALSACE" + TAB + sCol2 + TAB + xCol3)
    	fFerme(nIdFichbis)
    SINON SI sCol1 = "POITOU CHARENTE"
    	nIdFichbis = fOuvre(sFichiertableau, foLectureEcriture)
    	fPositionne(nIdFichbis, 0, fpFin)
    	fEcritLigne(nIdFichbis,  "Poitou-charente" + TAB + sCol2 + TAB + xCol3)
    	fFerme(nIdFichbis)
    FIN
    Bon il me dit:
    Type incompatible durant une affectation.
    What's it ???

    Et puis je suis pas trop d'accord avec ce que j'ai marquer mais je vois pas trop comment faire, c'est au niveau de :
    ligne est un tableau de 7 chaînes

    car je n'est pas que des chaines dans mon tableaux, mais les prends t-il quand même ou est ce que cela a de l'importance ???

  3. #23
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    C'est toujours intéressant de savoir sur quels lignes les erreurs sont! Mais je crois que ton problème c'est que tu essai d'affecter un tableau a une chaîne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sCol2 = tabPopulation
    	xCol3 = tabChiffreAffaire
    Maintenant, je comprends que tu ne veux pas tout recommencer mais ton code ne mène nulle part. Tu ne peux pas faire de total sur tes lignes sauf en cherchant dans la table si la région est déjà présente et en la modifiant le moment venu sinon tu ajoute à la fin. Ce n'est ni simple, ni rapide et passer après toi dans le code je ferais un beau delete de la fonction. Tu n'as pas à tout modifier ton code, ton code de parcours est bon mais tu dois remplir des tableaux associatifs au lieu de la table directement. Tu n'as que ces quelques lignes à modifier et ensuite tu n'as qu'à créer ton fichier texte et à remplir ta table. Tu auras peut-être quelque ligne de code de plus que si tu fais tout en une boucle mais ce sera beaucoup plus lisible et beaucoup plus simple à coder.
    «Un problème bien défini est un problème à moitié résolu.»

  4. #24
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Tu gagerais plus de temps à le lire completement que de venir poser des question ici, d attendre la reponse, qui t ammènera à une nouvelle question etc.
    souvent, et cela m'est souvent arrivé, on fait des prog qui fonctionne. on y passe un certain temps.
    Puis un moment on lit un truc sur l'autoformation qu'on avait oublier, (ou on trouve une info sur un forum) et on se dit :
    "Tiens, j ai mis 3 Heure à faire ce truc, et il y a une fonction qui le faisait déjà..."

  5. #25
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    Vous m'avez eu !!!
    Je part pour le long voyage de la lecture d'auto formation.
    A dans deux jours

  6. #26
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Même si l'autoformation est utile, ça ne t'éclairera surement pas pour ton problème.
    Il faut plutot que tu lises des tutos sur les élements que tu ne comprends pas (comme les tableaux associatifs), et plus géneralement sur de l'algorithmique pure.

  7. #27
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Ah... faut pas lui dire ça. Si l il faut que tu lises et si tu n'y arrive toujours pas on t'aidera
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  8. #28
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Ce que je voulais dire, c'est que l'autoformation est un cours sur WinDev, mais certainement pas un cours de programmation. Et c'est plus un probleme niveau programmation qu'il a...

  9. #29
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Apparamment il a les 2 soucis je veux bien en convenir.
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  10. #30
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Points : 61
    Points
    61
    Par défaut


    Ne t'inquiète pas mogwai, je suis bien partie a le lire.
    Mais je dois avoir la poisse ou alors je suis vraiment pas doué(pas a ce point la je pense), car j'ai réaliser le programme qui gère les comptes, et quand a la fin du RAD ils disent de tester, j'ai des problème car je n'est pas le bouton ajouter.
    Pourtant tout c'est passer sans problème, j'ai tout fait sans problème mais bon.
    Je continue...

  11. #31
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    Bon je viens de me taper 300pages de l'autoformation, je fait une petite pause et je reprend demain.
    Bref revenons a nos moutons.
    Je viens de réfléchir a mon problème, et en faite ce que j'ai c'est ça:
    -un fichier
    -composer de 7 chaines

    Ce qu'il faut que je fasse, c'est:
    -un fichier
    -composer de 3 chaines

    Pour en arriver la ce qu'il faut que je fasse c'est:

    Récupérer dans le 1er fichier le nom des régions, la pop, et faire le calcul de chaque région du chiffre d'affaire.
    Donc en faite, ce qu'il me manque(car le reste je l'ai déjà)
    c'est la fonction qui dirait:
    CAregion = CAdept1+CAdept2+...
    Je ne pense pas avoir besoins de tableau pour faire ça, non ???
    Ou est ce que ce serait plus simple avec des tableaux ???
    Mais le soucis est que je ne comprend pas comment paramétré les tableaux pour récupérer les données.
    En faite je vais essayer de trouver des exemples de tableau sur google pour voir vraiment comment il sont paramétré.

    Edit:

    Aie aie aie,
    bon je vien de voir pour travailler avec les tableaux, mais il me dit que j'ai une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    nIdFicbis = fOuvre(sFichierAImporter, foLectureEcriture)
    ligne = fLitLigne(nIdFicbis)
    tabPopulation est un tableau de chaînes
    tabChiffreAffaire est un tableau de chaînes
    TANTQUE COL_CA <> "" 
    tabPopulation = ligne[1] += ligne[6] 
    tabChiffreAffaire = ligne[1] += ligne[7]
    FIN
    Il me dit:

    Erreur de syntaxe sur le mot +=.

    D'ou viens le problème ???


    RE-Edit:

    Je ne déclare pas ligne,
    il faut que je le déclare, mais je ne vois pas comment le déclarer, c'est quoi, une chaine, un tableaux, un entier ???
    Je ne vois pas du tout car je dit que ligne = fLitLigne(nIdFicbis), mais, enfin voila quoi je vois pas...

  12. #32
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Alors...

    Si j'ai bien compris tu as un fichier texte en entrée... Peux tu nous le décrire ?

    Peux tu nous decrire ce que tu veux en sortie ?
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  13. #33
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    euh oui, je les ai d'écrit au départ, en faite ca donne ca mon fichier de départ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    RHONE ALPES 01   547   401   16646144   118933,75   6121000
    PICARDIE 02   388   114   4227200   44547,24   1900000
    PACA 04   565   530   130816   15148,34   4891000
    PACA 05   565   530   130816   46356,77   4891000
    PACA 06   565   530   130816   159410,74   4891000
    RHONE ALPES 07   547   401   16646144   46281,97   6121000
    ...
    1er colonne: Nom région
    2eme: N°département
    3eme: Position en x sur la carte
    4eme: Position en y sur la carte
    5eme: Code couleur sur la carte
    6eme: Chiffre d'affaire du département
    7eme Population de la region

    Et ce que je voudrais en sortie ce serait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Alsace   574812.21    2800000
    Aquitaine 654987.35   5784000
    ...
    Avec :
    1ere colonne: Nom de la région
    2eme: Chiffre d'affaire de la région
    3eme: Population de la region

    Le tout étant sous fichier .txt

    Donc en faite la ou j'ai un problème c'est pour calculer mon chiffre d'affaire par région.
    Suis-je assez clair ???

  14. #34
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Oui oui assez... pour que je comprenne vite, il faut m'expliquer longtemps parfois...

    Alors il suffit de deux tableaux associatifs
    1er Chiffre d'affaire de la région
    2eme: Population de la region


    Tu fais une boucle poitr lire topn fichier puis dans la boucle tu fais
    T1[nom région] += Chiffre d'affaire du dept
    T2[nom région] += Population du dept

    Ensuite il existe une manière de lister tout mais là je ne l'ai plus à portée de neurone. Tu peux trouver ça dans l'aide en ligne
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  15. #35
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    RRRRaaaaaahhhhhh !!!!!!

    Je le savais !
    Ma mère me l'avais bien dit...lol

    Bref, nan ok je suis d'accord avec toi mogway mais je n'arrive pas a configurer les tableaux associatif. Mon travail arrive a ca pour l'instant:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    nIdFicbis = fOuvre(sFichierAImporter, foLectureEcriture)
    // sFichierAImporter est le fichier avec mes données
     
    tabPopulation est un tableau de chaînes
    tabChiffreAffaire est un tableau de chaînes
    TANTQUE COL_CA <> "" 
    	fLitLigne(nIdFicbis)
    		fPositionne(nIdFicbis, 0, fpFin)
    tabPopulation = nIdFicbis[[1]] + nIdFicbis[[6]] 
    tabChiffreAffaire = nIdFicbis[[1]] + nIdFicbis[[7]]
    FIN
    Ce sont des tableaux et non des tableaux associatif, mais je ne sais pas comment faire et même quand je regarde l'aide, ça ... ne m'aide pas.

  16. #36
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Un indice : Aide -> Index -> Tableau associatif
    y a des exemples.

  17. #37
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    Pour Tober:

    mais je ne sais pas comment faire et même quand je regarde l'aide, ça ... ne m'aide pas.
    J'ai regarder mais, je sais pas je comprend pas.
    La en plus il a fallu que je fille la clé a mon collègue donc je peux pas travailler dessus. Je vous recontacte dès que je suis repartis.

  18. #38
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    C'était moins long que de lister les erreurs dans le code... mais c'est pas testé alors je ne garantis rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    nIdFicbis = fOuvre(sFichierAImporter, foLectureEcriture)
    // sFichierAImporter est le fichier avec mes données
     
    tabPopulation est un tableau associatifs d'entiers
    tabChiffreAffaire est un tableau associatifs de monétaires
    sLigne est chaine
    BOUCLE
    	sLigne = fLitLigne(nIdFicbis)
    	SI sLigne <> EOT ALORS
    		sID est chaine = ExtraitChaine(sLigne, 1)
    		tabPopulation[sID] =  tabPopulation[sID] + Val(ExtraitChaine(sLigne, 7))
    		tabChiffreAffaire[sID] = tabChiffreAffaire[sID] + Val(ExtraitChaine(sLigne, 6))
    	FIN
    A FAIRE TANTQUE sLigne <> EOT
    «Un problème bien défini est un problème à moitié résolu.»

  19. #39
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    Ok, je te remercie klbsjpolp, je vais regarder ça, mais juste une question est il possible d'enregistrer ce que j'ai récupérer dans mes tableaux directement dans un fichier?
    MERCI

  20. #40
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    On se fait chier à expliquer pendant 3 pages le probleme au lieu de donner une solution pour qu'il cherche un peu par lui meme et tu lui donnes tout cuit

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Réponses: 16
    Dernier message: 06/03/2015, 00h14
  2. Réponses: 11
    Dernier message: 22/06/2009, 09h58
  3. Réponses: 1
    Dernier message: 31/03/2009, 22h59
  4. Réponses: 17
    Dernier message: 16/03/2009, 09h21
  5. Réponses: 1
    Dernier message: 28/08/2008, 22h53

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