Tableau à 2 dimensions [ASP] - ASP - Programmation
Marsh Posté le 09-05-2003 à 09:26:34
déclaration d'un tableau de 10 lignes et 2 colonnes:
dim table_fichier(10,2)
pour le remplir :
redim table_fichier(enregistrement,2)
table_fichier(enregistrement,1)=numero
table_fichier(enregistrement,2)=extension
et en cadeau, une fonction que g fait avec mes petits doigts, elle trie le tableau :
Code :
|
Marsh Posté le 09-05-2003 à 09:34:07
Juste comme ça, un petit truc en passe :
Gilloux > T'as oublié le preserve dans le redim
Urd-Sama > On ne peux redimensionner un tableau en VB que sur sa dernière dimension. C'est à dire que pour ton cas, si tu dois absolument redimensionner ton tableau à chaque insertion de ligne (ce qui ne doit se produire que quand on ne connaît pas à l'avance le nombre d'éléments), alors pose ton tableau sous forme de colonnes :
dim monTab()
redim preserve monTab(2, 1)
...
redim preserve monTab(2, 2)
...
redim preserve monTab(2, 3)
...
redim preserve monTab(2, 4)
etc.
Marsh Posté le 09-05-2003 à 09:37:37
magicBuz > je crois qu'en asp tu peux redimensionner sur la première dimension, et sur celle que tu veux d'ailleur
Marsh Posté le 09-05-2003 à 09:55:53
y'a une chose que je n'ai déjà pas du saisir avec les tableaux et l'asp.
je pensais avoir un tableau: tab(x,1) et non pas tab(x,x)
il se présente comme ceci:
Code :
|
gilloux> je n'ai pas trop le temps d'étudier ta fonction pour l'instant, mais est-elle + efficace que ma fonction de tri? car ma fonction actuelle fonctionnerait et j'y comprend qqch, donc à moins qu'elle soit vraiment plus efficace (notamment en temps d'exécution) je préfère garder la mienne. Mais merci tout de meme beaucoup pour ton exemple
Marsh Posté le 09-05-2003 à 10:14:07
gilloux a écrit : magicBuz > je crois qu'en asp tu peux redimensionner sur la première dimension, et sur celle que tu veux d'ailleur |
Bah ça doit dépendre des versions alors, parceque moi ça a toujours planté
Attends, je teste...
Marsh Posté le 09-05-2003 à 10:16:12
Code :
|
Citation : Microsoft VBScript runtime error '800a0009' |
Ca correspond à la dernière ligne, lorsque je modifie la premioère dimension.
IIS 6.2 sous Windows 2003 Server donc on peut pas faire plus récent
Marsh Posté le 09-05-2003 à 10:19:06
PS : OK, si on ne fait pas de preserve, alors on peut redimensionner dans tous les sens (en fait, c'et logique, puisqu'on détruit le tableau et qu'on le reconstruit).
Mais bon, je me sert jamais du redim sans preserve pour redimensionner des tableaux, parceque vu que ça le vide intégralement, je préfère m'embêter à bosser en colonnes plutôt que de re-remplir le tableau de A à Z à chaque ajout de ligne
Extrait de la MSDN :
Citation : If you use the Preserve keyword, you can resize only the last array dimension, and you can't change the number of dimensions at all. For example, if your array has only one dimension, you can resize that dimension because it is the last and only dimension. However, if your array has two or more dimensions, you can change the size of only the last dimension and still preserve the contents of the array. |
Marsh Posté le 09-05-2003 à 10:29:40
urd-sama > quand tu écrit
Code :
|
c un tableau à 2 colonnes et 6 lignes -> tab(6,2) ou tab(2,6) (pour magicBuzz)
ma fonction, elle est pas + compliquée que la tienne, sauf qu'elle trie en ordre croissant et décroissant, et qu'elle fait attention à trier les lignes dans leur globalité (il faut que les colonnes restent apariées)
magicBuzz > ok je me rend compte que j'utilisais pas le preserve car je calculais la taille et ensuite je remplissais les lignes
donc mon redim tab(taille,12) fonctionnait
Marsh Posté le 13-05-2003 à 07:51:55
gilloux a écrit : |
*illumination*
je viens de comprendre qu'il faut que j'inverse mon tableau, selon les dire de buzz (ligne-colonne au lieu de colonne-ligne).
je vais essayer de regarder ca aujourd'hui si j'ai le temps, en tout cas déjà un grand merci.
je garde ta fonction au chaud gilloux, au cas ou j'en aurais besoin un jour, merci beaucoup du cado
Marsh Posté le 13-05-2003 à 08:11:43
youpie ca marche
vraiment un grand merci, j'y serai jamais arrivé sans votre aide!
et le code pour ceux que ca intéresse:
Code :
|
Marsh Posté le 01-03-2005 à 09:54:48
A ce propos, en ASP, l'écriture suivante pour un tableau à 2 dimension est valable :
Code :
|
Mais cette écriture est-elle correcte et fait-elle la même chose ?
Code :
|
Merci
Marsh Posté le 16-03-2005 à 08:39:02
Bonjour, bonjour,
Mon problème à moi c'est que j'essaye depuis deux jours toutes les fonctions que je trouve en vbscript pour trier mon tableau (en fait, que deux) et j'ai toujours la même erreur : type incompatible.
Voilà les éléments principaux :
je reprend la fonction trie_tableau présentée plus haut
dim arr_del_moy(5,4)
arr_del_moy(0,0) = "4.93"
arr_del_moy(0,1) = "4.70"
arr_del_moy(0,2) = "4.64"
arr_del_moy(0,3) = "5.45"
arr_del_moy(0,4) = "4.26"
arr_del_moy(1,0) = "6.64"
arr_del_moy(1,1) = "5.28"
arr_del_moy(1,2) = "5.06"
arr_del_moy(1,3) = "6.37"
arr_del_moy(1,4) = "5.47"
arr_del_moy(2,0) = "5.40"
arr_del_moy(2,1) = "5.31"
arr_del_moy(2,2) = "5.89"
arr_del_moy(2,3) = "5.29"
arr_del_moy(2,4) = "5.10"
arr_del_moy(3,0) = "6.74"
arr_del_moy(3,1) = "6.32"
arr_del_moy(3,2) = "6.56"
arr_del_moy(3,3) = "5.77"
arr_del_moy(3,4) = "7.46"
arr_del_moy(4,0) = "5.37"
arr_del_moy(4,1) = "5.61"
arr_del_moy(4,2) = "5.37"
arr_del_moy(4,3) = "5.80"
arr_del_moy(4,4) = "5.90"
arr_del_moy(5,0) = "3.76"
arr_del_moy(5,1) = "4.73"
arr_del_moy(5,2) = "4.47"
arr_del_moy(5,3) = "5.29"
arr_del_moy(5,4) = "4.14"
arr_del_moy = trie_tableau(arr_del_moy,5,4,1,1)
et c'est là que ça plante, sur le
arr_del_moy = trie_tableau(arr_del_moy,5,4,1,1)
Erreur d'exécution Microsoft VBScript error '800a000d'
Type incompatible
Et franchement : je craque !!!
Nulle part on dit que les fonctions que j'essaie d'appliquer ne marche pas. Alors quoi ? quel est le problème ?
Merci d'avance pour votre aide ou votre soutien
Cathy
Marsh Posté le 09-05-2003 à 07:49:56
Bonjour
Voilà j'ai un petit problème. Jusqu'à présent j'ai réalisé le code pour afficher des images de mon répertoires, qui se présenteront sous la forme: 1.jpg, 10.jpg, 11.gif, 2.jpg, ...
J'ai mis le numéro de fichier dans un tableau, puis tri du dit tableau, et c'était dans la poche. Mais je n'avais pas prévu que l'extension pouvant être différente d'un fichier à l'autre, donc mon but est de stocker l'extension dans le tableau, mais à 2 dimensions cette fois.
Et je suis coincée, j'ai un peu tout essayé mais à chaque fois j'ai des erreurs de syntaxe si qqun pouvait me donner un coup de main ca serait génial!
voici le code du tableau à 1 dimension (fonctionnel):
je vais réessayer de faire une série de tests, et je posterai un cas avec erreur plus tard. merci d'avance
---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.