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

VB.NET Discussion :

comment utiliser une classe de fonction


Sujet :

VB.NET

  1. #1
    WBO
    WBO est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 78
    Points : 57
    Points
    57
    Par défaut comment utiliser une classe de fonction
    bonjour,

    j'ai défini une classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Class Tool
        Public Function IsInteger(ByVal Pstr_Chaine As String) As Boolean
            Try
                Dim nInteger As Integer
                nInteger = Convert.ToInt32(Pstr_Chaine)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function 
        ...
    maintenant, je voudrais pouvoir utiliser cet classe dans un formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Imports roset.Tracker.Tool
     
    Public Class Form_Principal
        Private Sub Bt_Exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt_Exit.Click
            Dim v_bool As Boolean
            v_bool = IsInteger("456")
            Close()
        End Sub
    End Class
    mais là, il ne reconnait pas ma fonction IsInteger, et m'indique :
    Erreur 1 Une référence à un membre non partagé requiert une référence d'objet.
    pourquoi cela ?
    cela me parait simple quand même.
    quelqu'un pour m'aider svp ?

    WBO

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    Ben... il faut tout simplement créer une instance de ta classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim MyTool as new Tool
    v_bool = MyTool.IsInteger("456")
    Maintenant, si tu veux avoir accès à ta fonction sans avoir à instancier ta classe, il faut définir ta fonction comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Shared Function IsInteger(ByVal Pstr_Chaine As String) As Boolean
    Et ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v_bool = Tool.IsInteger("456")
    (le dim n'est plus nécessaire)

    Ceci dit, je ne vois pas l'intérêt de déclarer une fonction dans une classe (si c'est la seule chose que contient ta classe).

  3. #3
    WBO
    WBO est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    en fait, je veux faire un regroupement de fonctions, et je pensais que je pouvais faire cela avec un classe (?), un peu comme une library
    sinon, le faire dans un module ?

    sinon, la solution ca marche bien.

    merci beaucoup

  4. #4
    Membre du Club Avatar de eikeshi
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 73
    Points : 61
    Points
    61
    Par défaut
    Salut je ne comprends pas pourquoi tu crée cette fonction qui demande si une variable de type string contient un type integer.

    Si ton but final est de savoir si ta chaîne ne contient que des chiffres, tu as une fonction toute faite qui existe :

    IsNumeric(Expression As Object) As Boolean

    Exemple d'utilisation pour ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Bt_Exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt_Exit.Click
            Dim v_bool As Boolean
            v_bool = IsNumeric("456")
            Close()
    End Sub

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    @WBO

    le framework est un ensemble de fonctions pour faire tout ou quasiment (il y a des milliers de classes donc des tas de fonctions dejà codées)

    avant d'écrire du code, vaut mieux chercher s'il a pas déjà été écrit par microsoft


    sinon pour stocker des fonctions, un module est en théorie mieux, sauf si ces fonctions ont un thème en commun avec une classe que tu as codée, auquel cas mettre les fonctions en shared sur la classe pour regrouper les notions

    des tas d'infos pratiques ici http://plasserre.developpez.com/vsommair.htm

  6. #6
    WBO
    WBO est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    merci a vous pour ces renseignements.

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

Discussions similaires

  1. [1.x] comment utiliser une class métier perso ?
    Par guiyomh dans le forum Symfony
    Réponses: 2
    Dernier message: 19/11/2008, 12h56
  2. Comment utiliser une classe Java dans une appli PB ?
    Par bobychezA56 dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 09/04/2008, 18h07
  3. Réponses: 0
    Dernier message: 31/03/2008, 11h36
  4. Comment utiliser une classe ?
    Par toinou62 dans le forum ASP
    Réponses: 1
    Dernier message: 09/10/2007, 21h39
  5. Réponses: 2
    Dernier message: 05/08/2006, 13h29

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