UN PROG DE LOTO À VÉRIFIER MAIS TRÈS BIEN SELON MOI ^^

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 25 août 2006 à 00:25
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 29 août 2006 à 20:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39258-un-prog-de-loto-a-verifier-mais-tres-bien-selon-moi

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 août 2006 à 20:09
tu peux enlever tous tes OBJ, ils sont dûs à une erreur lors de la compilation.
les FRX par contre contiennent entre autre tes images, il faut donc les laisser.
++
moutonjr Messages postés 65 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 5 juin 2012
29 août 2006 à 20:04
Soit. Je vois ce que tu veux dire : d'ailleurs j'avais vu dans un tuto que le fait de mettre des option explicit aidait à se référer à une var précédemment écrite : ex:

Option explicit
Public MaVar as Long
---
Private Sub Form_Load()
MaVar = 5
End Sub
---
Private Sub Ok_Click()
If MaVar=5 Then
...
End If
End Sub

Si j'avais défini MaVar dans Form_Load, elle n'aurait pas été donnée dans OK_Click je pense, non?
Avec Option Explicit On a pas ce genre de surprises pr débutants comme moi...
Ah au fait est-ce que je peux enlever quelque chose (les OBJ ou FRX) dans mon zip??
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
29 août 2006 à 19:52
De rien pour mon commentaire, et content si il a pu t'être utile ^_-

Concernant les Option Explicit, je te conseillerais de les laisser. A piori inutiles, oui, mais il permettent de générer une erreur lorsqu'il y a un problème de déclaration.


Exemple, dans une form :

Option Explicit
Private Sub Form_Load()
X=5
MsgBox X
End Sub


il y aura une erreur à l'exécution, car X n'a pas été déclaré. On corrige ensuite le problème :


Option Explicit
Private Sub Form_Load()
Dim X As Long
X=5
MsgBox X
End Sub


Dans cet exemple, l'intérêt n'était pas évident. Mais dans celui là:



Option Explicit
Private Sub Form_Load()
Dim lNbrCoupsJoues As Long
lNbrCoupsJoues =5
MsgBox lNbrCoupsJoue
End Sub

ici, il n'y a pas une erreur de déclaration, mais une erreur de frappe (à la ligne du MsgBox, il manque un 's' à lNbrCoupsJoues) que le Option Explicit a permis de trouver !

Et comme à la compilation "Option Explicit" disparait, cela ne surcharge pas le programme.

Garde le si tu veux, mais çà peut être vraiment utile (moi je le garde).
@+
moutonjr Messages postés 65 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 5 juin 2012
29 août 2006 à 19:23
Merci Violent_Ken pour ton analyse qui m'a permis d'enlever certaines choses aberrantes! J'ai utilisé excel parce que je ne savais pas comment faire des opérations 1/0 sur un fichier autre ( j'ai appris sur excel :S) et j'enlèveraiu les otions explicites! je vaius en faire une mise à jour déjà comme cela!
merci aussi à GeneticW ! Tu as un français parfait c'est incroyable!! JVais faire des efforts!!
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
29 août 2006 à 14:03
Salut, il est vrai que le code n'est pas vraiment optimisé : exemple,


Private Sub optNumber_Click(Index As Integer)
Select Case Index
Case 0
Number = 0
Case 1
Number = 1
Case 2
Number = 2
Case 3
Number = 3
Case 4
Number = 4
Case 5
Number = 5
Case 6
Number = 6
Case 7
Number = 7
Case 8
Number = 8
Case 9
Number = 9
Case 10
Number = 10
Case 11
Number = 11
Case 12
Number = 12
Case 13
Number = 13
Case 14
Number = 14
Case 15
Number = 15
End Select
End Sub

se remplace aisément par:

Private Sub optNumber_Click(Index As Integer)
if Index<=15 then Number=Index
End Sub


Autre remarque,
Public Number, Coefficient, tmp, Result, cheat, TenPaySum As Byte
> toutes les variables, à l'exception de la dernière, sont déclarées en Variant (utilisation mémoire maximum).
A remplacer par:
Public Number as Long, Coefficent as Byte, sString as String....

Dernière petite remarque, par exemple sur cette ligne :

tmp = MsgBox("Veuillez séléctionner un nombre!", vbInformation, "Loto")

Tu n'attends aucun retour de la part du MsgBox, alors pourquoi utiliser la variable tmp ?

Tappes simplement :
MsgBox "Texte",vbInformation,"Titre" sans les parenthèses.

L'utilisation de déclaration de variables publiques est aussi étrange... mieux vaut déclarer dans les procédures avec Dim ... As ... pour les variables locales.

Concernant l'utilisation de Excel, c'est.... étrange aussi !


Mon avis général : c'est un bon début ! Continue comme çà. Il y a des choses bien, et déjà de bonnes habitudes (nomination intelligente des controles, bonne utilisation de la tabulation dans la présentation du code...)

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 août 2006 à 23:52
GeneticW -> ce n'est pas une question de vouloir des applis parfaites mais si moutonjr poste sa source, c'est entre autres pour avoir des commentaires. et on est pas là pour caresser dans le sens du poil ou applaudir un code parcequ'il est moyen mais fait par un "plus jeune que la moyenne".
la remarque (commentaire précédent) peut paraître dure mais n'empêche pas d'apporter de l'aide sur demande...

++ bonne continuation (à tous)
GeneticW Messages postés 34 Date d'inscription samedi 3 juin 2006 Statut Membre Dernière intervention 23 avril 2011
28 août 2006 à 19:06
Non mais hé les tronches, vous avez essayer le programme au moins ?
Pour quelqu'un qui vient de commencer a programmer en Vb, je trouve que c'est excellent.
j'ai essayer de faire planter l'interface et elle assure très bien.
Je programme en Vb de facons professionnelle (travail) depuis plus de 10 ans et je vous assure que Coté client, l'imporant c'est 1. l'interface graphique et 2. pas de plantage.

moi je note 9/10 pour le graphique, 8/10 pour le fait que ca plante pas souvent, 7/10 pour les fonctionalité (j'ai pas trouvé comment marche le systeme d'emprunt) et finalement... ouin, 4/10 pour le code c'est pas fort mais c'est vrai qu'il y a grande place a l'amélioration.
donc une note globale de 7/10 ce qui est tres bien.
ne lache pas, bon travail, si t'a des conseil a recevoir pour le code, n'hesite pas.
désolé, ne francais n'est pas ma langue.
moutonjr Messages postés 65 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 5 juin 2012
28 août 2006 à 13:12
En fait je n'ai que 14 ans et ça fait 1 mois que je suis dans VB et puis je n'apprends que par l'intermédiaire de l'aide Excel et de Codes sources donc je ne m'étonne pas du résultat!! ^^ enfin je vais essayer d'améliorer ça du mieux que je peux, merci de m'avoir indiqué les erreurs!
Cacophrene Messages postés 251 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 4 mars 2008 1
25 août 2006 à 16:22
Salut !

Au moins voit-on qu'un soit particulier a été consacré à la réalisation de l'interface... hélas, le contenu n'est pas encore à la hauteur de ce que le contenant laissait supposer.

Cordialement,
Cacophrène
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 août 2006 à 00:25
salut,
il reste vraiment des tonnes de boulot!!!
déclarations incorrectes
dim i,j,k as long ; i et j seront des variant
tu ajoutes des string pour des long
tu utiles excel sans même faire de "référence" à excel
il y a des redondances de code....

bref, bon courage parceque presque tout est à revoir :(
ps : bosse sur le code, la moitié du projet est inutile : splash, préface, about, çà fait beaucoup de promo pour un projet non-abouti, non?

++
Rejoignez-nous