Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/12/2006, 11h02   #1
Invité de passage
 
Inscription : octobre 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 12
Points : 1
Points : 1
Par défaut Boucle et variables

Tiens c'est la première fois que je dois faire ça en ASP et je bloque

A la place de faire :
Dim nom_chien1
Dim nom_chien2
Dim nom_chien3
Dim nom_chien4
Dim nom_chien5
Dim nom_chien6

J'aimerais faire :
For i = 1 to 6
Dim nom_chien & i
Next

Mais là ça ne fonctionne pas....quelqu'un pour m'aider ??
LCL2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 11h36   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Et pourquoi tu veux faire cela? Un tableau me semblerait mieux adapté.
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 11h36   #3
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 808
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 808
Points : 3 006
Points : 3 006
Bonjour,

Utilises plutot un tableau :

__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 11h48   #4
Invité de passage
 
Inscription : octobre 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 12
Points : 1
Points : 1
Dans une page j'ai :

<input type="text" name="nom_chien1" size="30">
<input type="text" name="nom_chien2" size="30">
<input type="text" name="nom_chien3" size="30">
<input type="text" name="nom_chien4" size="30">
<input type="text" name="nom_chien5" size="30">
<input type="text" name="nom_chien6" size="30">

Dans un autre page je dois traiter l'info dans une boucle...
LCL2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 15h36   #5
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop,

En admettant que tu utilises un tableau, ce qui paraît plus logique:

Code :
1
2
3
4
5
6
7
8
 
Dim nom_chien(6)
For each fieldname in request.form
  If Instr(Ucase(fieldname),"NOM_CHIEN") > 0 then
    rang = Replace(Ucase(fieldname),"NOM_CHIEN")
    nom_chien(rang) = request.form(fieldname)
  End If
Next
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 16h51   #6
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 56
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 56
Points : 10
Points : 10
Citation:
Envoyé par LCL2000
Tiens c'est la première fois que je dois faire ça en ASP et je bloque

A la place de faire :
Dim nom_chien1
Dim nom_chien2
Dim nom_chien3
Dim nom_chien4
Dim nom_chien5
Dim nom_chien6

J'aimerais faire :
For i = 1 to 6
Dim nom_chien & i
Next

Mais là ça ne fonctionne pas....quelqu'un pour m'aider ??


D'ailleurs je doute qu'il existe des languages qui permettent la "déclaration dynamique" de variables en cours d'execution. (s'il en existe je serais curieux de savoir lequel)

PS: Hormis bien sûr les variables dans une url. Ca peut d'ailleurs être une alternative à un tableau en admettant que l'on passe aussi comme information l'index final.
Crypt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 16h53   #7
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 56
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 56
Points : 10
Points : 10
Citation:
Envoyé par Crypt
D'ailleurs je doute qu'il existe des languages qui permettent la "déclaration dynamique" de variables en cours d'execution. (s'il en existe je serais curieux de savoir lequel)

PS: Hormis bien sûr les request.form, query et variables de session. Ca peut d'ailleurs être une alternative à un tableau en admettant que l'on passe aussi comme information l'index final.
Crypt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 17h05   #8
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop,

Citation:
Envoyé par Crypt
D'ailleurs je doute qu'il existe des languages qui permettent la "déclaration dynamique" de variables en cours d'execution. (s'il en existe je serais curieux de savoir lequel)
Si si, j'ai posté le code dans le fil "Création de variables dynamiques" (ou quelque chose du genre) il y a quelques jours...
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 21h27   #9
Invité de passage
 
Inscription : octobre 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 12
Points : 1
Points : 1
Bon, au final, je suis passé par un tableau, ça marche nickel, merci
LCL2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2006, 11h02   #10
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Pour les tableaux, méditer ceci
Citation:
Dim Arr()
Redim Arr(1)
response.Write(ubound(Arr,1) & "<br>")
Redim preserve Arr(4)
response.Write(ubound(Arr,1) & "<br>")
Redim Arr(4, 5)
response.Write(ubound(Arr,1) & ", " & ubound(Arr,2) & "<br>")
Redim preserve Arr(4, 10)
response.Write(ubound(Arr,1) & ", " & ubound(Arr,2) & "<br>")
Il ne faut pas dimensionner le tableau (j'ai pas réussi en tous les cas) au moment de la déclaration pour pouvoir le redimensionner dynamiquement.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2006, 12h02   #11
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 56
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 56
Points : 10
Points : 10
Citation:
Envoyé par ryan
Yop,


Si si, j'ai posté le code dans le fil "Création de variables dynamiques" (ou quelque chose du genre) il y a quelques jours...

je viens de regarder le fil en question, ça correspond aux request.form (dont je parle dans mon PS comme étant l'exception, au même titre que les queries ou les variables de session.)

Ce que je voulais dire c'est qu'à part ces cas de figure spécifiques à la programmation web je ne crois pas qu'il existe de language (y compris C/C++, Java, C#, etc) permettant le déclarer dynamiquement des variables, par exemple comme ça:

For i = 1 to 6
Dim nom_chien & i
Next

ou

for(int i=0;i<10;i++){
String str+i="machin"
}

Je suppose que l'impossibilité réside dans la distinction entre une compilation complete avant execution et une interprétation à la volée (à ce sujet je me demande comment procèdent les navigateurs web... qqun sait ?)
Crypt est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h33.


 
 
 
 
Partenaires

Hébergement Web