IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Problème avec la structure select case en ASP


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 27
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 27
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Membre expérimenté
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Par défaut
    Salut!

    Un peu d'épurage et tu devrais y trouver ton bonheur...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 27
    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

  6. #6
    Membre expérimenté
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Par défaut
    ah oui... avais pas vu...

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/03/2010, 09h08
  2. Problème avec une structure
    Par Pierre.g dans le forum C
    Réponses: 4
    Dernier message: 30/12/2006, 12h22
  3. Probléme avec une structure
    Par astragoth dans le forum C++
    Réponses: 3
    Dernier message: 25/04/2006, 20h31
  4. [MySQL] Problème avec un champ selected
    Par Mimisator dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/01/2006, 17h01
  5. problèmes avec "include file" pour une page asp
    Par chipsense dans le forum ASP
    Réponses: 1
    Dernier message: 02/09/2005, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo