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 25/02/2011, 18h05   #1
Invité régulier
 
Christine
Inscription : février 2011
Messages : 27
Détails du profil
Informations personnelles :
Nom : Christine

Informations forums :
Inscription : février 2011
Messages : 27
Points : 7
Points : 7
Par défaut Problème avec la structure select case en ASP

Bonjour,
La fonction que j'ai écrite fonctionne qu'a moitie, elle ne prend pas en compte les conditions d'intervalle de temps que je lui ai donné.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<p><% Dim tem_8,tem_9,tem_10,tem_11,heure
tem_8 = TimeValue("06:00:00")
tem_9 = TimeValue("18:00:00")
tem_10= timeValue("18:00:01")
tem_11 = TimeValue("22:00:00")
heure = Time
Select Case heure
Case "(tem_8 to tem_9)":Response.Write" bonjour "
Case "(tem_10 to tem_11)":Response.Write" bonsoir "
Case Else:Response.Write" bonne nuit "
End Select
%></p>
J'aimerai que vous m'aidiez à comprendre pourquoi il ne me donne pas le bon résultat merci d'avance
Ironda_83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 21h27   #2
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

En asp, les conditions ne sont pas authorisées dans un "case" mais tu peux y attribuer plusieurs valeurs. Dans ton cas cela donnerait :
Code asp :
1
2
3
4
5
6
7
 
Select case heure
  case tem_8, tem_9
    response.write "bonjour"&vbcrlf
  case tem_10, tem_10
    response.write "bonsoir"&vbcrlf
end select

Neanmoins, le case n'est pas très approprié, il serait plus judicieux d'utiliser le if pour tes tranches d'heure, soit dans le genre :

Code asp :
1
2
3
4
5
6
if heure >= tem_8 or heure <= tem_9 then
  response.write "bonjour"
else if heure > tem_10 or heure < tem_8 then
        response.write "bonsoir"
     end if
end if
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 17h23   #3
Invité régulier
 
Christine
Inscription : février 2011
Messages : 27
Détails du profil
Informations personnelles :
Nom : Christine

Informations forums :
Inscription : février 2011
Messages : 27
Points : 7
Points : 7
Par défaut réponse pour la fonction "Select Case" en ASP

Bonjour,
Merci pour ta réponse kaiser59 mais j'aimerai savoir comment en utilisant select case on obtient pour résultat "bonjour", "bonsoir", "bonne nuit". Je vais essayer par une autre fonction comme if, else comme tu me le préconise mais j'aurais aimer savoir si cela est possible avec select case parce que j'y arrive avec visual basic pour excel la fonction marche très bien. Je reconnais que mes connaissances en ASP sont très limité.
j'ai écrit cette fonction:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<p><% function ma_fonction(valeur)
  	valeur1="bonjour"
	valeur2="bonsoir"
	valeur3="bonne nuit"
  end function
 
  Dim tem_8,tem_9,tem_10,heure,test,var_x
tem_8 = TimeValue("06:00:00")
tem_9 = TimeValue("08:00:00")
tem_10 = timeValue("23:00:00")
heure = Time
test = ma_fonction(var_x)
if heure>=tem_8 or heure<=tem_9 then
  var_x = valeur1
else if heure>tem_9 or heure<=tem_10 then
  var_x = valeur2
else var_x = valeur3
  end if
end if 
Response.Write test
%></p>
il ne me marque pas qu'il y a une erreur mais je n'ai aucun résultat. Le "test est nul" dans les deux sans
Ironda_83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 10h49   #4
Membre confirmé
 
Homme Olivier
Webmaster Pays Basque
Inscription : avril 2004
Messages : 151
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 40
Localisation : France

Informations professionnelles :
Activité : Webmaster Pays Basque
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2004
Messages : 151
Points : 200
Points : 200
Envoyer un message via Skype™ à eclisse
Salut!

Un peu d'épurage et tu devrais y trouver ton bonheur...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function ma_fonction(valeur)
val="&nbsp;"
  	select case valeur
	case 1 : val="bonjour"
	case 2 : val="bonsoir"
	case 3 : val="bonne nuit"
	end select
	ma_fonction=val
end function
 
tem_8 = TimeValue("06:00:00")
tem_9 = TimeValue("08:00:00")
tem_10 = timeValue("23:00:00")
heure = Time
 
if heure>=tem_8 or heure<=tem_9 then
  var_x = 1
elseif heure>tem_9 or heure<=tem_10 then
  var_x = 2
else 
	var_x = 3
end if
Response.Write ma_fonction(var_x)
eclisse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 13h04   #5
Invité régulier
 
Christine
Inscription : février 2011
Messages : 27
Détails du profil
Informations personnelles :
Nom : Christine

Informations forums :
Inscription : février 2011
Messages : 27
Points : 7
Points : 7
Par défaut Bonjour à tous

Merci pour ton aide eclipse
Le programme marche mais il ne prend en compte que case 1 et pas les autres il répond "bonjour" alors qu'avec ces conditions il devrait écrire "bonsoir". Ou alors j'ai un problème de lecture de code sur mon ordi ce qui est très probable

Cordialement Christine
Ironda_83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 13h26   #6
Membre confirmé
 
Homme Olivier
Webmaster Pays Basque
Inscription : avril 2004
Messages : 151
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 40
Localisation : France

Informations professionnelles :
Activité : Webmaster Pays Basque
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2004
Messages : 151
Points : 200
Points : 200
Envoyer un message via Skype™ à eclisse
ah oui... avais pas vu...

Tes IF doivent être exclusif et non inclusif!!!

Code :
1
2
3
4
5
6
7
if heure>=tem_8 AND heure<=tem_9 then
  var_x = 1
elseif heure>tem_9 AND heure<=tem_10 then
  var_x = 2
else 
	var_x = 3
end if
parce que dans tous les cas, si heure est égale à 18, il entre bien dans le premier cas où il est bien > à 6 ou bien inférieure à 8...
eclisse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 13h54   #7
Invité régulier
 
Christine
Inscription : février 2011
Messages : 27
Détails du profil
Informations personnelles :
Nom : Christine

Informations forums :
Inscription : février 2011
Messages : 27
Points : 7
Points : 7
Par défaut Merci beaucoup pour l'aide

merci eclisse
ça marche impeccable. Problème résolue enfin!!
Effectivement avec "and" à la place de or. Il prend en compte les conditions
Bonne journée
Cordialement Christine



Ironda_83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h05.


 
 
 
 
Partenaires

Hébergement Web