Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Tableau et redim preserve [ Archives ASP & ASP.NET / AU SECOURS !!!! ] (Benz)

vendredi 30 août 2002 à 09:48:47 | Tableau et redim preserve

Benz

Salut,

J'ai un problème de compréhension des tableaux (Array).

J'ai besoin de les utiliser dans le cadre du développement de gestion d'un petit panier virtuel.

Dans un premier temps, je serais heureux que quelqu'un puisse m'expliquer un peu les dimensions. Je peux concevoir qu'on déclare un tableau à deux ou trois dimensions, mais au delà, je n'y arrive pas.

J'ai lu plein de trucs sur les tableaux, mais rien de très explicite.

Si quelqu'un à un exemple clair d'utilisation, je suis preneur.

Voici ce que je suis capable de faire :
Dans un premier fichier :
Dim Tab()

'Là, je dimensionne un tableau à 1 colonne mais 2 lignes ???
Redim Tab(1)
'J'affecte des valeurs arbitrairement sinon j'ai une erreur
Tab(0)=10
Tab(1)=20

Session("MonTab")=Tab

Quand je clique sur un produit, je passe l'ID du produit au fichier ajouter_panier.asp. Dans ce fichier le récupère l'ID du produit et je fais :

Tablo=Session("MonTab")
Tablo(0)=ID
Tablo(1)=1

'1, c'est le nombre d'exemplaire de produit commandé.

'Et là, j'affiche les valeurs
Response.Write(Tablo(0))
Response.Write(Tablo(1))

Mais si vous avez bien suivi, vous vous êtres rendu compte que j'ai fait n'importe quoi. Je ne pourrais pas aller bien loin avec mon panier virtuel de cette manière. Et c'est là que vous intervenez.

J'ai besoin d'un peu d'aide.

Merci

Benz

lundi 2 septembre 2002 à 21:17:27 | Re : Tableau et redim preserve

Paxcal

Le plus simple pour gérer cette fonctionnalité est de tavailler avec un tableau à une dimension que nous appelerons panier (original !). Ce tableau stockera des tableaux à une dimension que nous appellerons article



sub ajoutPanier( id , qte )
dim arPanier

arPanier = Session("panier")

if ( vartype( arPanier ) = 8204 ) then ' vrai si arPanier est un tableau de variant
arPanier = array( array( cstr(id) , cstr(qte) )) ' on 'initialise avec un nouveau tableau aui contient le tableau des valeur
'j'utilise la fonction cstr pour forcer le type de la valeur en String.
'Le tableau est de type variant. Un variant est un type spécial qui peut stocker tous les types ( string, date , time , int, etc ).
'Il peut y avoir un pb lors de comparaison entre deux variable variant de sous type différents ( voir retirePannier) .
'En forcant le variant en str, on évite ce pb.

else ' arPanier contient déjà des infos
dim nextIndex
nextIndex = ubound( arPanier )+1 'on determine le prochain index
redim preserve arPanier( nextIndex ) ' on redimensionne la tableau
arPanier( nextIndex ) = array( id , qte ) ' on affecte les valeurs
end if
Session("panier") = arPanier ' on stock le tableau

end sub

sub retirePannier( id )
dim arPanier
dim lastIndex
dim i
arPanier = Session("panier")

if ( vartype( arPanier ) = 8204 ) then
lastIndex = ubound( arPanier )
for i = 0 to lastIndex
article = arPanier( i )
if vartype( article ) = 8204 then ' vrai si article est un tableau de variant
if article(0) = id then
arPanier( i ) = 0 'on remplace le tableau article par 0
' le test vartype( article ) = 8204 ne sera plus vrai pour cette ligne
exit for
end if
end if
next
end if
Session("panier") = arPanier ' on stock le tableau
end sub

sub printPanier()
dim arPanier
dim article

arPanier = Session("panier")

if ( vartype( arPanier ) <> 0 ) then
for each article in arPanier
if vartype( article ) = 8204 then ' vrai si article est un tableau de variant
Response.Write "id : " & article(0) & " - qte : " & article(1) & "<br>"
end if
next
end if
end sub



voilà

pascal

mardi 3 septembre 2002 à 08:36:42 | Re : Tableau et redim preserve

Benz

Merci à toi. Je vais examiner ton code afin de mieux comprendre l'utilisation des tableaux.



Cette discussion est classé dans : tableau, tab, produit, tablo, redim


Répondre à ce message

Sujets en rapport avec ce message

récupérer un tableau [ par Poulipe ] Bonjour,comment je peux récupérer les valeurs d un tableau en vbscript.ex :j ai un tableau tab(x) et en activant une checkbox je voudrais recuperer me positionner curseur a la fin d'un tableau [ par bergamotte ] Bonjour,J'ai un probleme avec le postionnement du curseur.En fait j'ai un tableau que je remplie a l'aide de asp donc il est dynamique, sa taille vari récupération de variables dynamiques dans un formulaire asp [ par ludoboy ] Bonjour ,voilà mon problème je débute en programmation alors je vous plante le décor puis vous pose mes question ensuite.Alors j'ai un tableau dynamiq Tableau fixe ou temporairement verrouillé [ par blat ] Bonjour,Je veux tt betement charger des données dans un tableau. Voila mon code :dim tab(0)for i=0 to max   &nbsp Inserer u tableau dans une session [ par jorrie ] Bonjours , j'aimerais savoir comment je pourrais inserer un tableau dans une session:j'imagine que string tab[5];tab[1]="var1";tab[2]="var2";tab[3]="v en ce qui concerne le tri... [ par olivia ] j'ai réalisé la fonction de tri suivante en VBS:'Fonction de tri d'un tableau de données'================================function tri(tab, nb) 'déclar Listing asp [ par seb ] bonjour à tous,je souhaiterai réaliser un listing en asp dans un tableau dont la structure serai la suivantNom - Prénom - AgeJe sais faire le tableau tableau dynamique en asp [ par amina ] Salut,Pour une transaction de vente, j'affiche une ligne concernant un article(idarticle,prix,quantité,prix_total), mais si le client veut acheter plu tableau et liste [ par bruno ] je remplis un tableau avec les resultats d'une requete sql. J'ai ensuite un champ texte et quand je le rempli, je voudrais creer une liste avec les va tableau et liste [ par bruno ] je remplis un tableau avec les resultats d'une requete sql. J'ai ensuite un champ texte et quand je le rempli, je voudrais creer une liste avec les va


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.