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

Windows Forms Discussion :

déclaration variable de classe


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut déclaration variable de classe
    bonjour,
    débutant C# je voudrais que ma classe comporte une variable de classe pour incrémenter des numéros de licence.
    Le problème est que je ne sais pas comment la déclarer.
    Je pensais à private static mais je ne suis pas sur

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Et c'est quoi des "numéros de licence" ? quel est le comportement que tu attends de cette méthode ? tu veux peut être qu'elle soit enregistrée sur l'ordinateur afin qu'elle ai la même valeur à chaque ouverture de l'application ?

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    non non ce n'est pas une licence de logiciel lol
    Dans mon appli je gère des matchs et donc des lienciés et je voudrais faire une incrémentation sur mes lienciés a chaque ajout d'un objet de type Licencié.
    Mais pour ca je dois déclarer une variable de classe pour mes licenciés.

    J'espere avoir été plus clair et que tu aura une solution

    Merci de t'etre interessé a mon probleme.

  4. #4
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    En c#, c'est avec le mot clé static que tu dois préfixer ta variable.

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    Merci beaucoup c'est bien ce que je pensais.
    Par contre j'ai un autre souci lol
    Je ne sais pas où déclarer les fonctions que j'ai créées sachant que je dois m'en servir dans ma classe.
    J'ai essayé dans "programme.cs" mais j'ai une erreur et dans "Form1.cs" il me dis que la fonction n'est pas accessible...

    Merci d'avance

  6. #6
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Bonsoir,

    Program.cs est un fichier réservé uniquement à l'implémentation de la méthode Main qui représente le point d'entrée de ton programme et la classe dans laquelle est contenue la méthode est différente de celle de ton formulaire.

    Si tu veux ajouter un champ statique, il faut déclarer le champ à l'intérieur de ta classe. Il n'est pas possible de déclarer un champ en dehors d'une classe sauf si la classe en question est une classe imbriquée. Les méthodes d'instances doivent elles aussi être déclarées à l'intérieur de la classe.

    Si ta méthode n'est pas accessible c'est parce que tu essaye d'accéder à un membre qui n'a pas un niveau de visibilité suffisant. Le problème vient du modificateur d'accès au membre. Ce message apparaît lorsque par exemple tu essaye d'accéder à un membre privé d'une classe hors de celle ci.

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    le pobleme est que j'ai bien déclaré ma fonction perso en "public"
    Mais ma methode déclarée dans ma classe ne la trouve pas peu importe ou je la mette...
    Je ne veux pas la déclarer dans ma classe mais partout ailleurs elle n'est pa trouvée...
    En esperant avoir été plus clair

  8. #8
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Bonjour,

    Ta méthode est statique ?

  9. #9
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    voila la declaration de ma methode dans ma classe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public string categorie()
    et voila la déclaration de ma fonction dans Form1.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public void diffDate(string autreDate, int nbj, int nbm, int nba)
    Tout est public c'est pour ca que je ne comprends pas

  10. #10
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Bonjour,

    Si j'ai bien compris ce que tu cherche à faire c'est d'appeler ta méthode catégorie à partir de ta méthode diffdate c'est ça ?

    Si c'est ça alors le problème c'est que ces 2 méthodes sont situées dans 2 classes différentes et n'ont aucun lien. Pour appeler une des 2 méthodes, il faut soit faire passer une référence de l'instance de la classe dans les paramètre de la méthode (par exemple si tu veux manipuler ton formulaire dans ta méthode catégorie) ou bien une de tes classes offre un lien de dépendance avec l'autre.

    Donc en fait que Form1 puisse utiliser la méthode catégorie:

    --> Tu peux créér une instance de ta classe qui contient la méthode categorie au sein de la méthode diffdate. Dans ce cas, la portée de ton objet se limitera uniquement aux corps de la méthode.
    --> Ta classe Form1 peut recevoir dans ces champs de classe un objet de ta classe qui contient la méthode categorie au sein de la méthode diffdate que tu instancie via le constrcteur de Form1 ou bien dans la déclaration du champ.

  11. #11
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    en fait c'est le contraire que je veux faire lol
    je veux pouvoir appeler diffDate() dans categorie()

  12. #12
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Bonjour,

    Je ne sais pas trop si c'est une bonne idée d'appeler une méthode d'un formulaire à partir d'une classe externe.

  13. #13
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    ah....
    et que me conseille tu ?

  14. #14
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Bonjour,

    Au fait j'avais pas vu avant mais il existe une méthode qui permet de comparer 2 dates : la méthode statique Compare de la classe DateTime permet de comparer 2 instances de DateTime. je vois aussi que ta méthode ne renvoie rien c'est vraiment pour donner la différence entre 2 dates ?

    Citation Envoyé par kevinou55 Voir le message
    ah....
    et que me conseille tu ?
    Je n'ai pas trop compris ce que tu voulais faire avec alors je saurais pas dire.

  15. #15
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    en fait je gère des joueurs donc j'ai une date de naissance et je voudrais récupérer l'age du joueur pour définir sa categorie par exemple -13ans -15ans.
    Donc je fait la difference entre la date du jour et la date de naissance.
    Il existe aussi une methode qui soustrait deux dates mais elle renvoie le resultat en nombre de jours donc ca ne va pas

  16. #16
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    OK mais par contre je saisi pas pourquoi tu as veux créer ces 2 méthodes dans 2 classes différentes.

    Sinon Tu peux créer une classe Joueur, tu définis la catégorie en quand que propriété publique et la méthode qui calcule l'âge tu la définie en private

  17. #17
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    oui je pense que je vais me rabattre sur ca.
    Je ne voulais pas la déclarer avec la classe car je pensais que ca ne servais a rien de trop charger la classe mais si je n'ai pas le choix...

    En tout cas merci beaucoup pour ton aide harz62

  18. #18
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Bonsoir,

    Ben en fait tu as précisé que tu voulais gérer des joueurs alors moi j'ai pensé à une collection qui contient des objets joueurs à moins que ton appli soit dépendante d'une BDD.

  19. #19
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Par défaut
    non non pas de base de données.
    J'ai déja une collection d'objets joueur mais je ne vois pas vraiment le rapport lol
    en quoi cela me facilitera l'utilisation de ma fonction diffDate ??

Discussions similaires

  1. Figer une variable de classe lors de sa déclaration dans une itérative
    Par Freeluvs dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 16/02/2010, 16h16
  2. débutant:utilisation de variable entre classe
    Par troojan dans le forum MFC
    Réponses: 1
    Dernier message: 08/12/2005, 00h31
  3. Réponses: 6
    Dernier message: 23/09/2005, 13h54
  4. erreur déclaration variables
    Par bobic dans le forum ASP
    Réponses: 4
    Dernier message: 13/09/2005, 11h11
  5. Séparer la définition et la déclaration d'une classe
    Par prgasp77 dans le forum Langage
    Réponses: 5
    Dernier message: 24/08/2005, 22h37

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