Cours algo, VB, définition ^^ [Résolu]

Signaler
-
Messages postés
7
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
15 juin 2009
-
Bonjour,
Voila j'ai terminer mon jeu en VB et j'aimerais le présenter, le probleme est qu'en codant, je n'ai pas réfléchi à tous les éléments et il y en a certain que j'ai piquer a droite a gauche sans comprendre (c'est pas bien je sais ), c'est pour cela que j'aimerais bien connaitre une définition, un exemple, le pourquoi, le comment,qu'est-ce que, pourquoi utilisé ca et pas autre chose,..., de ce qui suit:

Public controle As String --> en public, donc connu de tout le programme c'est ca...

Public refY --> idem, mais la je ne lui définit pas de type, ca marche mais c'est différent d'au dessus

Private Sub Scores_click() --> déclaration d'une fonction privée, mais qu'est-ce que cela implique ?

Set Fso = CreateObject("Scripting.FileSystemObject") --> création d'un objet...?

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) --> fonction de gestion des controle clavier, mais que sont les arguments passés ?

Option Explicit --> ???

De plus je pense que ca pourrait en éclairer plus d'un , et si vous connaisser un lien je suis preneur, car la je cherche de mon coté aussi mais en tant qu'utilisateur vous allez surement mieux me renseigné, et plus précisément aussi ptete.

MERCI

12 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
115
Et bien jean, tu es énervé ces derniers temps ?

Sinon, pour te répondre :
Public controle As String --> en public, donc connu de tout le programme c'est ca...
OUI, et c'est très mal ! Je m'explique : tu peux modifier la variable de n'importe où dans ton code, du coup, très risqué, et source de bugs très difficiles à résoudre ! Il vaux mieux faire des variables locales à des méthodes, ou à la limite privés à un module, mais pas publiques ! (dans la grande majorité des cas, on peux s'en passer aisément !)

Public refY --> idem, mais la je ne lui définit pas de type, ca marche mais c'est différent d'au dessus
OUI, c'est différent, et c'est encore pire qu'au dessus !!! Cela implique les même risques qu'au dessus, et bien pire : ta variable n'ayant pas de type, VB accepte tout ce que tu peux lui passer = > un String, un Integer, un Object, tout ! Donc encore plus de risque de bug qu'au dessus ! Là encore, dans 99,99 % des cas, on peux s'en passer !

Private Sub Scores_click() --> déclaration d'une fonction privée, mais qu'est-ce que cela implique ?
Il s'agit d'une méthode qui ne peut être appelé que dans le module où elle a été déclarée, c'est la façon la plus propre de faire si on n'en a pas besoin autre part que dans le module. (par module, je veux dire : les modules standard, mais aussi les forms, les modules de classes, etc.)

Set Fso = CreateObject("Scripting.FileSystemObject") --> création d'un objet...?
Oui, il s'agit de la création d'un objet FSO : objet permettant de manipuler le FileSystem de Windows.

Private
Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) --> fonction
de gestion des controle clavier, mais que sont les arguments passés ?
Keydown est le code de la touche appuyée, Shift et un "tag" qui est à 1 si la touche shift est appuyée.

Option Explicit --> ???
Avec Option Explicit, tu es obligé de déclarer tes variables avant de les utiliser, ca permet d'avoir du code plus sécurisé (et sécurisant !).

Sinon, franchement, pour ce genre de questions, rien ne vaux la lecture d'un bon tutorial pour débutant...

Que siginifie "Option Explicit" et pourquoi l'employer ?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>







L'originalité de Visual Basic par rapport à de nombreux autres langages est qu'il autorise l'utilisation de variables qui n'ont pas été déclarées au préalable. Néanmoins, vous pouvez imposer la déclaration explicite des variables, en rajoutant dans la section de déclaration de chaque feuilles ou modules "Option Explicit". Ainsi, l'utilisation d'une variable non-déclarée provoquera une erreur à la compilation. Obliger la déclaration des variables présente plusieurs avantages :





Un gain de ressource mémoire assez important. En effet, lorsqu'une variable n'est pas déclarée, Visual Basic va lui attribuer le type de donnée "Variant", qui est beaucoup plus gourmant en mémoire que les autres types.





Éviter des erreurs difficilement détectables dues à des fautes de frappes dans le nom des variables. L'utilisation de "Option Explicit" permet de détecter ce genre d'erreur.






 








Qu'est-ce que l'API Windows et comment l'utiliser ?







L'API Windows est un ensemble de fonctions qui fournissent un accès "programmatique" aux diverses fonctionnalités de Windows. S'il est si compliqué d'utiliser les API dans VB, c'est parce qu'à la base celles-ci ont été écrites en langage C/C++ et que le passage vers VB pose pas mal de problèmes (par exemple en C/C++ il existe des types de données inconnus dans VB).





Toutes ces fonctions sont réunies dans des DLL qui se trouvent généralement dans le dossier système de Windows. Pour faire appel à ces fonctions, vous devrez donc d'abord les déclarer. On utilise à cet effet le mot clé "Declare" qui permet d'appeler une fonction externe résidant dans un DLL :





[Public | Private] Declare Function name Lib "libname" [Alias "aliasname"] [([arglist])] [As type]





ou :





[Public | Private] Declare Sub name Lib "libname" [Alias "aliasname"] [([arglist])]





name : le nom de la procédure ou de la fonction tel qu'utilisé dans votre programme,libname : le nom de <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la DLL">la DLL</st1:personname> contenant la fonction ou la procédure,
aliasname : le nom interne de la fonction dans la DLL,
arglist : arguments qui sont passés à la procédure ou à la fonction.






 








Comment passer le contenu d'une variable entre deux forms ?







Il existe plusieurs solutions. A vous de choisir celle qui vous convient le mieux.





Vous pouvez créer une variable publique que vous placerez dans un module bas :





Public MaVariable As String





Ainsi, la variable a une portée globale et est accessible de partout.





Vous pouvez aussi créer une variable publique dans le premier form et la récupérer dans le second form en écrivant :





Form1.MaVariable
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Atends, attends, Ami....
Tu vas présenter quoi, là ?
Ton programme ? je n'en ai absolument pas l'impression....
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Une suggestion :
Tu dis d'entrée de jeu : "voilà ! c'est du copier-coller... "picétou"... ce n'est pas de ma faute si je fais sans comprendre  et si vous n'êtes pas satisfaits, allez donc voir au pays des Hélènes si les coutimes y sont toujouirs les mêmes ...!".
Dis-nous ensuite s'ils ont été contents (moi je ne le suis déjà pas) de la réponse ainsi faite !
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008

Après 3 secondes de recherches intenses, je te conseille ces deux siteshttp://msdn2.microsoft.com/fr-fr/default.aspx
http://www.microsoft.com/france/

Quand je suis là tout va mal  

LOOOOL, je vais présenter, mais lorsqu'on va passer aux questions techniques et au langage VB en lui-meme, la je vais avoir plus de mal et c'est pourquoi je postais !!
Mais c'est bon j'ai trouver la FAQ VB et j'ai toutes mes réponses la bas

Et sinon, t'inquiete pas que le code, il y a beaucoup plus compliqué a l'intérieur!!! mais la c'est vrai que sur les trucs "de base", ben je ne trouve pas les mots ! désolé si tu ne seches sur rien mec...mais moi le VB je ne suis pas pro...! en C/C++ je dis pas

Ah il y a eu des réponses pendant que je taper mon message, désolé, merci à vous !
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
115
Bah voilà, tu aurais fait une petite recherche avant de poster ta question, et tu aurais trouver beaucoup plus vite.

Plus ca va, et plus j'ai l'impression que le forum devient un lieu où il faut faire les recherches à la place de celui qui demande...  et à force, ca énerve !!! cf le règlement, point 1 !

Oui, je suis de ton avis, je suis actif sur un autre forum, et ca m'enerve de répondre aux questions en balancant un site que j'ai trouver en allalnt voir mon ami google et eu en 10secondes, mais la j'avais mal formuler mes requetes, et j'ai trouver après votre aide!
Sinon, pour le public, en lisant ma derniere explication: Comment passer le contenu d'une variable entre deux forms ?<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 
La je suis belle est bien obligé de passer par une public...?
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
115
oui, mais tu n'es pas obligé de laisser ta variable en public !

Tu peux très bien faire des accesseurs :

Public property get TaValeur() As String

TaValeur = controle

End Property

Public Property let TaValeur(byval valeur as string)

controle = valeur

end property

Cela te permet ainsi de pister les modifications sur ta variables (plus simple pour débuguer !), et surtout, ca te permet de rendre une variable en lecture seule de l'extérieur (pas besoin de faire le property let si tu ne la modifie pas de l'extérieur) ou en écriture seule, ainsi tu sécurise encore plus l'accès à ta variable !
Perso, je n'utilise plus de variables globales : trop de risque de la modifier à un moment où tu ne le voudrais pas, et après tu perds énormément de temps à retrouver où est-ce que ca merde !
Messages postés
7
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
15 juin 2009

je voudrais savoir plus sur la réalisation du programmation dans le langage pascal :
-les variables.
- les instructions.
-les différentes structures (alternatifs,permitation,com,...)
brefs je voudrais connaitre l
Messages postés
7
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
15 juin 2009

je voudrais savoir plus sur la réalisation du programmation dans le langage pascal :
-les variables.
- les instructions.
-les différentes structures (alternatifs,permitation,com,...)
brefs je voudrais connaitre la rèalisation des algorithmes.