Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Variables en objet [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (Hobby)

mardi 22 juin 2004 à 12:51:10 | Variables en objet

Hobby

Bonjour,

Cela fait presque deux ans que je 'fait' du VB et je me rend compte que j'ai jamais fait mon propre objet.
J'ai commencé un petit soft, mais je me retrouve avec une quantité colosale de variable public.

Donc mon Id est de faire un objet, puisque la majorité des variable stock des paramêtres qui sont des propriétés..
Pour exemple:
Objet est: composant
Je vourait faire des propriété de 'composant':
Donc composant comporte des sections:
composant.section1
La 'section1' comporte
composant.section1.Auteur (string)
composant.section1.Société (string)
composant.section1.Police (string)
composant.section1.Police.taille (long)
composant.section2
composant.section2.Champ(1).Nom (string)
composant.section2.Champ(1).type(Long)

Donc ce dernier cas, je dois pouvoir avoir un index, parceque j'ai 4 champs qui on exactement les même sous propriété.

J'ai fait une recherche dans les tutoriaux et rien trouvé de génial.

Petite info suplémentaire. Je n'utiliserai qu'un seul objet déclaré en public, j'edit un seul composant a la fois.
Merci
Olivier

mardi 22 juin 2004 à 13:03:57 | Re : Variables en objet

Scalpweb

Membre Club
Tu pourrais faire un truc avec des types, ça me paraît plus facile. Un truc du genre :

Public Type Section1
Auteur as string
Société As String
FontS As font
'...etc...
End Type

Public Type ChampS
Nom As String
Type As String
End Type

Public Type Section2
Champ As ChampS
End Type

Public Type Composant
Sc1 As Section1
Sc2 As Section2
End Type

Public MonComposant As Composant

Voilà....
@+, et ésite pas à reposer ta question si c pas c que tu voulais.
Scalpweb


Pice-WCorp bientôt sur le net.

mardi 22 juin 2004 à 13:21:14 | Re : Variables en objet

Warning

Administrateur CodeS-SourceS
plutot que des "type" je te conseil de créer des modules de classe... C comme des usercontrols sans interfaces... Ainsi tu peux gerer tout type d'objets et de "sous objets" et de propriétés et de fonctions ...


Mail:ASC.Warning@caramail.com
Website: http://www.hexorciser.fr.st/

Warning

mardi 22 juin 2004 à 13:27:16 | Re : Variables en objet

Scalpweb

Membre Club
Oui, c vrai, jy avais pas pensé sur le coup.
je vais aller voir ton site.

Pice-WCorp bientôt sur le net.

mardi 22 juin 2004 à 14:42:14 | Re : Variables en objet

Hobby

OK, alons si pour les class.

mais un petit exemple peut-être ?

Merci
Olivier

mardi 22 juin 2004 à 16:57:20 | Re : Variables en objet

Hobby

J'ai trouvé une source sur le site avec une exemple.

Je creer un class que je nome 'composant'
Dans cette class j'écrit:

Option Explicit
Private strA As String
Private strB As String
Property Get Auteur() As String
Auteur = strA
End Property
Property Get Societe() As String
Societe = strB
End Property
Property Let Auteur(ByVal vData As String)
strA = vData
End Property
Property Let Societe(ByVal vData As String)
strB = vData
End Property


Ou est l'intéret puisque je vais devoir creer autant de variable privé que de propriété????

Olivier

mardi 22 juin 2004 à 19:21:08 | Re : Variables en objet

PiterTheWood


C'est l'utilisation des collections d'objet. Dans c'est collection tu peux ajouter des classe et même des collections.



'Déclaration de ta collection
Dim colMaCollection as Collection

'Déclaration de ta classe
dim clsMaClasse as Class1

'Création de ta collection
Set colMaCollection = New Collection

'Création de ta classe
set clsMaClasse = New Class1

'Ajout des valeurs dans ta Classe
clsMaClasse.MaPropriété = MaValeur
....

'Ajout de la Classe dans la collection
colMaCollection.Add = clsMaClasse

'Pour rechercher une classe en particulier
For each clsMaClasse in colMaCollection
if clsMaClasse.MaPropriété = MaValeur then
....
end if
next



Voila un bel avantage qu'on peut faire avec des objets et des collection pour être capable de les gérés

Si tu veux avoir plus d'info dit le moi j'éssayerais de t'aider

Piter TheWood

mardi 22 juin 2004 à 19:30:28 | Re : Variables en objet

Hobby

Merci, mais je doit faire que mon 'objet' soit (unique dans mon cas) public donc accesible dans toutes sub et fonction des forms et module.

'Déclaration de ta collection
Public colMaCollection as Collection
Public clsMaClasse as Class1

'Création de ta collection
Set colMaCollection = New Collection
cette partie je ne peux pas la faire dans la déclération...


Ou alors, j'ai rien compris....

Merci
Olivier

mardi 22 juin 2004 à 22:10:39 | Re : Variables en objet

PiterTheWood


Lors de la création d'une classe

Private sub Class_Initialize()
Set clsMaClasse = New Class1
Set ColMaCollection = New Collection
End sub


Il va faloir que tu l'initalise ton objet lors du démarage de ton programme

ex ds un module:

Global MonObjet as clsMonObjet

Sub Main()
dim x as frmMaFenetrePrincipale

Set MonObjet = new clsMonObjet

Set x = New frmMaFenetrePrincipale

x.show

end sub

Piter TheWood

mardi 22 juin 2004 à 23:06:44 | Re : Variables en objet

Hobby

OK merci Piter.

Dans mon cas les collections ne me serve a rien.
Mais pour les autres début voici un exemple:

Vous faite un forme avec deux textbox et deux bouton, vous copiez le code suivant:

Private Sub Command1_Click()
Form1.Text1.Text = objComposant.Auteur
End Sub
Private Sub Command2_Click()
objComposant.Auteur = Form1.Text2.Text
End Sub
Private Sub Form_Load()
Main

End Sub
Private Sub Form_Unload(Cancel As Integer)
Set objComposant = Nothing
Unload Me
End
End Sub

Dans un module vous tapez le code suivant:

Option Explicit
Global objComposant As composant
Public Sub Main()
Set objComposant = New composant
objComposant.Auteur = "Olivier"
End Sub

Dans un modules de classe vous metez le code suivant:

Option Explicit
Private strA As String
Private strB As String
Property Get Auteur() As String
Auteur = strA
End Property
Property Get Societe() As String
Societe = strB
End Property
Property Let Auteur(ByVal vData As String)
strA = vData
End Property
Property Let Societe(ByVal vData As String)
strB = vData
End Property

Maintenant n'importe ou dans votre logiciel vous pouvez lire écrire dans les propriétés Auteur et Societe:
objComposant.Auteur = "xxx"
Debug.Print = objComposant.Auteur

Rasure moi Piter, j'ai bien compris ?
Merci
Olivier


1 2

Cette discussion est classé dans : composant, string, objet, section1, section2


Répondre à ce message

Sujets en rapport avec ce message

Le composant ActiveX ne peut créer l'objet... [ par pimousse75 ] Salut,lorsque je lance mon programme sur un poste office 97 j'ai cette erreur : Le composant ActiveX ne peut créer l'objet...Dans mes références, j'ai un composant asp [ par badine ] j arrive pas a creer un composant aspavec visual basic voila le problemj ouvre un projet dll activex dans vbensuite j ajoute dans preference un refe nom d'un objet dans un variable [ par chasdo ] Bonjour,Je cherche à modifier un objet dont le nom de celui ci est enregistré dans une variable de type stringpar exemple pour modifier la taille de l Objet activeX ocx ou autres [ par JBTHEBEST ] Je suis à la recherche d'un composant permettant de realiser une Bargraph comme une progressBar mais avec la possiblité de changer le couleur.J'ai ess Un composant ActiveX ne peut pas créer un objet [ par Cartouche ] Bonjour,J'utilise une macro qui lance un logiciel à partir du code: Dim DesignApp As Designer.Application Set DesignApp = New Designer.Application< SendData et Objet [ par Dytryh Evryl ] Salut,Je voudrais envoyer du serveur au client un composant ListeBox à l'aide d'un composant winsock.Je fais donc SendData lstListeAEnvoyer mais je ne Help : "Le composant Active X ne peut créer l'objet" [ par foliop ] salut lorsque qqun qui na pas VB installe mon logiciel il a cette erreur : "Le composant Active X ne peut créer l'objet" erreur 429pourtant jai placé utiliser une variable string pour référencer un objet ??? [ par 3615jenveux ] Bon voila ! J'essais de créer un activeX dans lequel je veux prélever l'image (une partie seulement) de la feuille form qui contient mon composant.Pou transtypage string en objet [ par anchorete ] bonjour, je cherche à transtyper une chaîne de caractère en un nom d'objet. c'est-à-dire qu'une fonction reçoit en paramètre un string, et que j'ai Dim Variable As String Variable doit devenir un Objet ? vb6 [ par Bubar92Bubar92 ] Bonjour, Dim Variable As String Variable = "Picture" et Variable doit devenir un Objet j ai essayer un peux avec Dim Obj As Object Set Obj = Variable


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.