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

C# Discussion :

comparait DateTime.Now.DayOfWeek a une variable tableau


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 51
    Points : 42
    Points
    42
    Par défaut comparait DateTime.Now.DayOfWeek a une variable tableau
    Bonjour Le but est de créer une petite application qui affiche un message différent en fonction du nom de l’utilisateur et du moment de la journée :
    Bonjour XXX pour la tranche horaire 9h <-> 18h, les lundi, mardi, mercredi, jeudi et vendredi
    Bonsoir XXX pour la tranche horaire 18h <-> 9h, les lundi, mardi, mercredi, jeudi
    Bon week-end XXX pour la tranche horaire vendredi 18h <-> lundi 9h

    Mais je rame je suis arriver là

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    /*
     * Crée par SharpDevelop.
     * Utilisateur: alex
     * Date: 11/04/2012
     * Heure: 19:26
     * 
     * Pour changer ce modèle utiliser Outils | Options | Codage | Editer les en-têtes standards.
     */
    using System;
     
    namespace aide
    {
    	class Program
    	{
    		public static void Main(string[] args)
    		{
     
    			string[] Jours = new string[]{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"}; // Création d'un tableau avec les jours de la semaine Lundi à Vendredi
     
    			if ((DateTime.Now.DayOfWeek == DayOfWeek.Saturday) || (DateTime.Now.DayOfWeek == DayOfWeek.Sunday) || (DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour < 9))
     
    				Console.WriteLine("Bon week nous somme le {0}", DateTime.Now); // Samedi ou dimanche ou Lundi avant 9h c'est le week
     
    			else
     
    				if ((DateTime.Now.DayOfWeek == Jours) && (DateTime.Now.Hour >= 9 || DateTime.Now.Hour < 18 ))
     
    					Console.WriteLine("Bonjour nous somme le {0}", DateTime.Now); // Je souhaite comparait DateTime.Now.DayOfWeek(jours actuel) à Jours(Tableau des jours de la semaine) et que l'heure est compris entre 9h et 18h
     
     
     
    			Console.ReadLine();
     
    		}
    	}
    Pourriez vous m'aider

  2. #2
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Bonjour,

    Avant tout, je t'invite à lire ce point !

    Ensuite, je t'invite à revenir avec une question plus précise sur ce qui te bloque...

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 51
    Points : 42
    Points
    42
    Par défaut suite
    Bonjour désolé je me suis tromper dans l’édition du post.
    Ma question ce trouve ligne 28 je crois,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    				if ((DateTime.Now.DayOfWeek == Jours) && (DateTime.Now.Hour >= 9 || DateTime.Now.Hour < 18 ))
     
    					Console.WriteLine("Bonjour nous somme le {0}", DateTime.Now); // Je souhaite comparait DateTime.Now.DayOfWeek(jours actuel) à Jours(Tableau des jours de la semaine) et que l'heure est compris entre 9h et 18h
    Je souhaite comparait DateTime.Now.DayOfWeek(jours actuel) à Jours(Tableau des jours de la semaine) et que l'heure est compris entre 9h et 18h

  4. #4
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par hotdogFRANCE Voir le message
    Je souhaite comparait DateTime.Now.DayOfWeek(jours actuel) à Jours(Tableau des jours de la semaine) et que l'heure est compris entre 9h et 18h
    La réponse est dans ta phrase (plutôt difficile à comprendre d'ailleurs).
    Précision "entre 9h ET 18h", ton code dit "à partir de 9h OU avant 18h"

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 51
    Points : 42
    Points
    42
    Par défaut ok je vais voir ça
    Merci j'avais pas vu !!

    maintenant il me dit :


    L'opérateur '==' ne peut pas être appliqué aux opérandes de type 'System.DayOfWeek' et 'string[]' (CS0019) - C:\Users\alex\Documents\SharpDevelop Projects\aide\aide\Program.cs:27,10
    Comment je peut régler ce problème ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Jour est un tableau d'après ce que j'ai lu, hors un tableau ne se lit pas comme une string.
    Mais plutôt comme Jour[int], une boucle et un entier devrait t'aider à résoudre ton problème.

  7. #7
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Et si je me trompe pas System.DayOfWeek aura besoin que tu précise le jour et d'être accompagné de ToString(); pour pouvoir être comparé
    Sinon je ne pense pas que cela aboutisse à une comparaison de string

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par FrameBreak Voir le message
    Jour est un tableau d'après ce que j'ai lu, hors un tableau ne se lit pas comme une string.
    Mais plutôt comme Jour[int], une boucle et un entier devrait t'aider à résoudre ton problème.
    Oui, sauf qu'il a fait un tableau de string au lieu de faire un tableau de DayOfWeek.

    Déjà, virer le tableau "jours" et remplacer le test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((DateTime.Now.DayOfWeek == Jours)
    qui, d'une part, ne sert à rien et, d'autre part, ne peut pas fonctionner syntaxé ainsi, par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ((DateTime.Now.DayOfWeek != DayOfWeek.Sunday && DateTime.Now.DayOfWeek != DayOfWeek.Saturday)
    Ben oui : si c'est pas le WE, c'est ni samedi ni dimanche.

  9. #9
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ((DateTime.Now.DayOfWeek != DayOfWeek.Sunday && DateTime.Now.DayOfWeek != DayOfWeek.Saturday)
    Ben oui : si c'est pas le WE, c'est ni samedi ni dimanche.
    Logique et rapide, quoi de mieux!!

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 51
    Points : 42
    Points
    42
    Par défaut merci
    Super merci beaucoup je vais voir tout ca.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 29
    Points : 34
    Points
    34
    Par défaut
    Le week end commence vendredi a 18h et se termine lundi a 9h apparemment.
    Il faudrait donc rajouter des conditions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (!(DateTime.Now.DayOfWeek == DayOfWeek.Sunday
        || DateTime.Now.DayOfWeek == DayOfWeek.Saturday
        ||  DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour < 9
        || DateTime.Now.DayOfWeek == DayOfWeek.Friday && DateTime.Now.Hour > 18))

  12. #12
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 51
    Points : 42
    Points
    42
    Par défaut Probleme resolu
    Je vient de finir mon programme marche nickel

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    /*
     * Crée par SharpDevelop.
     * Utilisateur: alex
     * Date: 11/04/2012
     * Heure: 19:26
     * 
     * Pour changer ce modèle utiliser Outils | Options | Codage | Editer les en-têtes standards.
     */
    using System;
     
    namespace aide
    {
    	class Program
    	{
    		public static void Main(string[] args)
    		{
    			if (DateTime.Now.DayOfWeek == DayOfWeek.Saturday 
    			    || DateTime.Now.DayOfWeek == DayOfWeek.Sunday 
    			    || DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour < 9)
     
    				Console.WriteLine("Bon week a l'equipe de journee"); // Samedi, dimanche et Lundi avant 9h c'est le week
     
    			if (DateTime.Now.DayOfWeek == DayOfWeek.Saturday 
    			    || DateTime.Now.DayOfWeek == DayOfWeek.Sunday
    				|| DateTime.Now.DayOfWeek == DayOfWeek.Friday			    
    			    || DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour < 18
    			    || DateTime.Now.DayOfWeek == DayOfWeek.Thursday && DateTime.Now.Hour > 18)
     
    				Console.WriteLine("Bon week a l'equipe de nuit"); // Vendredi, Samedi, Dimanche et Lundi avant 18 c'est le week
     
     
    			else
     
    				if ((DateTime.Now.DayOfWeek != DayOfWeek.Sunday && DateTime.Now.DayOfWeek != DayOfWeek.Saturday) && (DateTime.Now.Hour >= 9 && DateTime.Now.Hour < 18))
     
    					Console.WriteLine(" bonjours"); // De Lundi à Vendredi entre 9 et 18h
     
    				else
    					if (DateTime.Now.DayOfWeek != DayOfWeek.Sunday && DateTime.Now.DayOfWeek != DayOfWeek.Saturday && DateTime.Now.DayOfWeek != DayOfWeek.Friday)
     
    						Console.WriteLine("Bonsoir"); // De Lundi à Jeudi entre 18 et 9h
     
     
    			Console.ReadLine();
     
    		}
    	}
    }

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

Discussions similaires

  1. [AJAX] Envoyer une variable tableau à un script PHP
    Par AzertyH dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2007, 16h58
  2. [VBA-E]Recherche dans une variable tableau
    Par illight dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/12/2006, 17h50
  3. Transmettre une variable tableau
    Par WagaSeb dans le forum Général VBA
    Réponses: 22
    Dernier message: 03/12/2006, 11h11
  4. [Tableaux] récuperer une variable tableau passé par URL
    Par molesqualeux dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2005, 01h12
  5. Acces à une variable-tableau de PHP
    Par Erwan21 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/02/2005, 13h55

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