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 :

Remplir puis lire un tableau à deux dimensions


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 496
    Par défaut Remplir puis lire un tableau à deux dimensions
    Bonjour,
    Je dois faire une erreur énorme, mais je n'arrive pas à la trouver
    Je cherche le nombre de livre en prêt par genre
    Pour cela je remplit un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gtabTableauGenre	est un tableau	<agrandissement=N> de 2 par 2 chaîne
    gnIndice			est un entier	= 0
    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
    HLitPremier(BIB_Genre, BIB_Genre)
    TANTQUE HEnDehors(BIB_Genre) = Faux
     
    	// Traitement de l'enregistrement
    	gbOK = HExécuteRequête(REQ_Pret_Par_Genre,hRequêteDéfaut,BIB_Genre.BIB_Genre,SAI_Date_Debut,SAI_Date_Fin)
    	SI gbOK = Faux ALORS
    		Beep()
    		Sablier(Faux)
    		Erreur("La requête ""REQ_Pret_Par_Genre"" n'a pu s'exécuter",ErreurInfo(errComplet))
    		RETOUR
    	FIN
     	gnIndice++
    	gtabTableauGenre[gnIndice,1]	= BIB_Genre.BIB_Genre
    	SI HNbEnr(REQ_Pret_Par_Genre) > 0 ALORS 
    		gtabTableauGenre[gnIndice,2]	= NumériqueVersChaîne((HNbEnr(REQ_Pret_Par_Genre) * 20))
    	SINON
    		gtabTableauGenre[gnIndice,2]	= NumériqueVersChaîne(10)
    	FIN
    //info("Création tableau",gtabTableauGenre[gnIndice][1],gtabTableauGenre[gnIndice][2])
    Trace("Création tableau",gtabTableauGenre[gnIndice][1],gtabTableauGenre[gnIndice][2])
     
    	HLitSuivant(BIB_Genre, BIB_Genre)
    FIN
    Trace me donne un résultat correct pour la création du tableau
    Nom : TableauCreation.jpg
Affichages : 204
Taille : 11,4 Ko

    Ensuite je parcourt le tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    POUR wI = 1 À TableauInfo(gtabTableauGenre, tiDimension)
    //	Info("Vérification tableau ",gtabTableauGenre[wI][1],gtabTableauGenre[wI][2])
    Trace("Vérification tableau "+gtabTableauGenre[wI,1]+"  "+gtabTableauGenre[wI,2]+"  "+wI)
    FIN
    Et là, je retrouve bien les genres et l'indice, mais pas le nombre !!!!!!!!!
    Nom : TableauVerification.jpg
Affichages : 206
Taille : 14,4 Ko
    Sauf pour le denier genre trouvé, Western !!!!

    Quelle erreur ais-je faite ????????????

    Cordialement
    SC

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 963
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    A vue de nez, j'utiliserais tiNombreLignes plutôt que tiDimension. Qui plus est, tiDimension doit être suivi d'un paramètre indiquant la dimension qu'il faut utiliser.
    D'autre part, je ne vois pas pourquoi un tableau 2 sur 2. Un tableau 1 sur 2 fait largement l'affaire (2 chaines par lignes le genre et un nombre)

    Par ailleurs, ton tableau est un cas typique de tableau associatif d'entier avec pour clé le genre.
    Une autre solution serait de passer par un tableau de structure (m_sGenre,m_nNombre) qui pourrait être facilement rempli via ta requête (légèrement modifiée en enlevant la condition WHERE Genre={pGenre}) et un FichierVersTableau sur cette requête. Cela éviterait les 2 boucles

  3. #3
    Membre éclairé
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 496
    Par défaut
    Bonjour
    Effectivement, je pourrai optimiser le code ...
    Mais j'aimerais surtout savoir pourquoi je n'arrive pas à visualiser la deuxième position de mon tableau !!!!
    L'indice parcourt est correcte
    Cordialement
    SC

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 448
    Par défaut
    Bonjour,
    Je vois une différence entre les deux code.
    Dans le premier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gtabTableauGenre[gnIndice][1],gtabTableauGenre[gnIndice][2]
    Dans le second:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gtabTableauGenre[wI,1]
    Il faut peut-être utiliser gtabTableauGenre[wI][1] pour avoir les bonnes infos.

    Tatayo.

  5. #5
    Membre éclairé
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 496
    Par défaut
    Bonjour,
    Même en adaptant le code à votre remarque, j'ai toujours le même problème ...
    Cordialement
    SC

  6. #6
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 570
    Par défaut
    Bonjour,

    Question tout bête : pourquoi ne passes tu pas par un tableau associatif (avec pour clé, le genre) ?

    De même, tu parcoures tes genres et pour chacun d'entre eux, tu fais une requête. Pourquoi ne pas faire une requête globale, groupée par genre ?

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

Discussions similaires

  1. [Tableaux] Trier tableau deux dimensions
    Par dondano dans le forum Langage
    Réponses: 1
    Dernier message: 25/10/2006, 20h02
  2. Rechercher dans un tableau deux dimensions
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/09/2006, 20h29
  3. Réponses: 5
    Dernier message: 24/05/2006, 08h59
  4. [Tableaux] tri de tableau deux dimensions
    Par oursquetaire dans le forum Langage
    Réponses: 8
    Dernier message: 27/12/2005, 14h27
  5. tri alphabétique dans un tableau deux dimensions
    Par *!!cocco!!* dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 06/12/2004, 21h38

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