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 confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    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 éclairé
    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
    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 confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    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 averti Avatar de eikeshi
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 73
    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 Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    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
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    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