|
Remplir puis lire un tableau à deux dimension |
Started by Sauveur CONSALVI, Oct., 28 2024 11:14 AM - 4 replies |
| |
| | | |
|
| |
Registered member 395 messages |
|
Posted on October, 28 2024 - 11:14 AM |
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
gtabTableauGenre est un tableau <agrandissement=N> de 2 par 2 chaîne gnIndice est un entier = 0
HLitPremier(BIB_Genre, BIB_Genre) TANTQUE HEnDehors(BIB_Genre) = Faux 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
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
Ensuite je parcourt le tableau
POUR wI = 1 À TableauInfo(gtabTableauGenre, tiDimension)
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 !!!!!!!!!
Sauf pour le denier genre trouvé, Western !!!!
Quelle erreur ais-je faite ????????????
Cordialement SC
-- Cordialement SC |
| |
| |
| | | |
|
| | |
| |
Registered member 179 messages |
|
Posted on October, 28 2024 - 4:03 PM |
Bonjour,
Je ne vois pas l’intérêt de déclarer un tableau de 2 par 2. Un tableau de 1 par 2 suffit largement. Cela dit, j'aurais plutôt opté pour un tableau associatif d'entiers.
Néanmoins, dans votre cas, voici le code qui correspond :
gtabTableauGenre est un tableau de 1 par 2 chaîne gnIndice est un entier
TableauSupprimeTout(gtabTableauGenre) HLitPremier(BIB_Genre, BIB_Genre) TANTQUE HEnDehors(BIB_Genre) = Faux 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 SI HNbEnr(REQ_Pret_Par_Genre) > 0 ALORS gnIndice = TableauAjouteLigne(gtabTableauGenre, BIB_Genre.BIB_Genre, NumériqueVersChaîne((HNbEnr(REQ_Pret_Par_Genre) * 20))) SINON gnIndice = TableauAjouteLigne(gtabTableauGenre, BIB_Genre.BIB_Genre, NumériqueVersChaîne(10)) FIN Trace("Création tableau",gtabTableauGenre[gnIndice][1],gtabTableauGenre[gnIndice][2]) HLitSuivant(BIB_Genre, BIB_Genre) FIN
POUR wI = 1 À TableauInfo(gtabTableauGenre, tiDimension) Trace("Vérification tableau "+gtabTableauGenre[wI,1]+" "+gtabTableauGenre[wI,2]+" "+wI) FIN
Cdt |
| |
| |
| | | |
|
| | |
| |
Registered member 395 messages |
|
Posted on October, 31 2024 - 9:27 AM |
Bonjour, Merci bien En fait le problème vient que des tableaux Fixe et de tableaux Dynamique ne se remplissent pas de la même façon .....
-- Cordialement SC |
| |
| |
| | | |
|
| | |
| |
Registered member 395 messages |
|
Posted on November, 01 2024 - 9:59 AM |
Bonjour Pour éventuellement aider ceux qui ont eu à se débattre avec ce problème, voici le code illustrant l'utilisation des trois sortes de tableau
gtabTableauGenreFixe est un tableau fixe de 500 par 2 chaînes gtabTableauGenreDynamique est un tableau <agrandissement=N> de 1 par 2 chaîne gTabTableauGenreAssociatif est un tableau associatif (*, *, *, 100) d'entiers gnIndice est un entier = 0 btabGenre est un tableau de chaînes = ["Western", "Roman", "Horreur"]
gnIndice = 0
POUR gnIndice = 1 À 2 gtabTableauGenreFixe[gnIndice][1] = "toto "+gnIndice gtabTableauGenreFixe[gnIndice][2] = gnIndice Trace("Création tableau Fixe "+" "+gtabTableauGenreFixe[gnIndice][1]+" "+gtabTableauGenreFixe[gnIndice][2]+" "+gnIndice) FIN Trace(" ")
POUR wI = 1 À (gnIndice - 1) Trace("Vérification tableau Fixe "+gtabTableauGenreFixe[wI][1]+" "+gtabTableauGenreFixe[wI][2]+" "+wI) FIN Trace(" ")
gnIndice = 0 SupprimeTout(gtabTableauGenreDynamique) POUR gnIndice = 1 À 4 TableauAjouteLigne(gtabTableauGenreDynamique,"PIPI "+gnIndice,gnIndice*2) Trace("Création tableau Dynamique "+" "+gtabTableauGenreDynamique[gnIndice][1]+" "+gtabTableauGenreDynamique[gnIndice][2]+" "+gnIndice) FIN Trace(" ")
POUR wI = 1 À TableauInfo(gtabTableauGenreDynamique,tiDimension) Trace("Vérification tableau Dynamique "+gtabTableauGenreDynamique[wI][1]+" "+gtabTableauGenreDynamique[wI][2]+" "+wI) FIN Trace(" ")
gnIndice = 0 SupprimeTout(gTabTableauGenreAssociatif) gTabTableauGenreAssociatif[btabGenre[1]] = 1 gTabTableauGenreAssociatif[btabGenre[2]] = 2 gTabTableauGenreAssociatif[btabGenre[3]] = 3 POUR TOUT nIdentifiant de gTabTableauGenreAssociatif gnIndice++ Trace("Associatif "+btabGenre[gnIndice] + " "+nIdentifiant) FIN Trace(" ")
sClef est une chaîne nTaille est un entier
POUR TOUT ELÉMENT nTaille,sClef de gTabTableauGenreAssociatif Trace("Associatif récupération clef "+sClef+" taille "+nTaille) FIN
-- Cordialement SC |
| |
| |
| | | |
|
| | |
| |
Registered member 28 messages |
|
Posted on November, 02 2024 - 8:43 AM |
Bonjour
Merci pour la résolution, j'utilise souvent aussi des tableaux de classe avec beaucoup d'attribut, c'est très bien codé
Cordialement M.RATSIMANDRESY Niry Aina Eddy |
| |
| |
| | | |
|
| | | | |
| | |
|