cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007
-
26 févr. 2004 à 17:29
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007
-
27 févr. 2004 à 07:41
Hello la compagnie
Un probleme me bloque en programmation, c'est le therme des classes. Je ne comprend pas ce que c'est éxactement, ni quelle est la différence sous VB entre un module et un module de classe. Je sais qu'il y en a, sinon sa éxisterai pas ! ;) , mais j'espere pouvoir compter sur vous pour m'expliquer !! Alors merci d'avance la compagnie ;)
@Z3RtY25 ==
A voir également:
La récupération de la fabrique de classes com pour le composant avec le clsid
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 26 févr. 2004 à 22:12
Module standard (extension .BAS) : Regroupe des procédure, fonctions, déclaration de variables, constante, etc ... à usage interne a ce module (déclaré Private) ou externe (décalré Public). Voici un exemple :
Tu as fait une fonction te permettant de lire dans un fichier INI à l'aide de l'API windows GetPRivateProfielString() et tu a besoin de cette fonction depuis plusieurs form de ton projet : Donc tu ecris ta déclaration pour l'API windows GetPRivateProfielString() (en Private) et ta fonction (en Public)dans un module que tu nomme "mdlINIFile.bas". Ainsi, tu peux appeler ta fonction depuis n'importe ou dans ton appli. Tu aurais pu faire tout cela dans un module de feuille tu vas me dire !! OIui mais comme cette partie de ton code concerne plusieurs feuille, il n'y a pas de raison qu'il soit dans le module de Form1, plustot que dans celui de Form2, etc ...
Ainsi tu le retrouve plus facilement et tu peux même réexploiter cette fonction pour un autre projet VB, juste en recopiant le fichier .BAS.
Pour un module de classe (extension .CLS), ca se corse un peu. Une classe est en fait une description d'un objet. Les textbox, les form, tous les controles que tu connais sont en fait des classes. Ou du moins, le textbox que tu poses sur une form est appelé une 'instance' de la classe 'Textbox'. En clair, une classe, donc un module de classe, définie les propriétés, les méthodes et les évènements d'un objet, car tu utilises les objets VB, mais tu peux fabriquer les tiens. Avec l'ex de tout à l'heure, Tu peux imaginer de créer une classe "INIFileClass", enregistrée dans un fichier "INIFileClass.CLS",
en lui ajoutant des déclaration de propriété (IniFileName par exemple) et de méthode (ReadString, par exemple) etensuite dans une form, tu ferais :
Dim Ini as new Inifileclass
Ini.IniFileName = "C:\toto.ini"
Mesgbox Ini.ReadString("Section1","CleA")
Pour plus de détail sur la construction de classe, tu dois te reporte au MSDN, car c'est un sujet vaste et ce n'est malheureusement pas l'endroit idéal pour t'expliquer cela en détail.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 26 févr. 2004 à 22:38
Je vais essayer d'expliquer la différence entre les deux de façon claire
Un module peut servir à définir de
* fonctions pelemele qui sont utilisables dans tout le projet
* constantes utilisable partout
* utilisation aussi pour les declation des const, type, sub et function de l'API win 32
Je pense que tout tu le savais (j'ai peut etre oublié un point ou deux ;-)
Ensuite les classes la c'est pour la programation objet (bof en VB pour des puristes) il faut mieux utiliser VB.net ou c# ;-)
Alors pour les classes c'est un regroupement sont une structure spéciale des propriétés (champs) et des opérations(méthodes) d'un élément précis
En gros pour une voiture
class voiture
private m_couleur as string
private m_modele as string
private m_kilo as integer
public property set Couleur( couleur as string)
m_couleur = couleur
end property
public property get Couleur () as string
couleur = m_couleur
end property
public sub roule(kilo as integer)
m_kilo = m_kilo + kilo
end sub
public sub kilometage()
msgbox ( "mon kilometrage" & m_kilo
end sub
end class
'--appelle
dim v as new Voiture
dim v2 as new Voiture
v.modele = "Renault"
v.couleur =" rouge"
msgbox v.couleur
v.roule(10)
v.roule(20)
v.kilometrage()
v2.roule(v.kilometrage())
La tu remarques que les fonctions sont prefixer du nom de l'objet v de type voiture
Esperant d'avoir aider un peu
a comprendre les bases des classes