UN PROG DE LOTO À VÉRIFIER MAIS TRÈS BIEN SELON MOI ^^
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
25 août 2006 à 00:25
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDerniè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.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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és65Date d'inscriptionmercredi 19 juillet 2006StatutMembreDerniè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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és65Date d'inscriptionmercredi 19 juillet 2006StatutMembreDerniè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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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és34Date d'inscriptionsamedi 3 juin 2006StatutMembreDernière intervention23 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és65Date d'inscriptionmercredi 19 juillet 2006StatutMembreDerniè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és251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 20081 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és13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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?
29 août 2006 à 20:09
les FRX par contre contiennent entre autre tes images, il faut donc les laisser.
++
29 août 2006 à 20:04
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??
29 août 2006 à 19:52
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).
@+
29 août 2006 à 19:23
merci aussi à GeneticW ! Tu as un français parfait c'est incroyable!! JVais faire des efforts!!
29 août 2006 à 14:03
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...)
@+
28 août 2006 à 23:52
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)
28 août 2006 à 19:06
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.
28 août 2006 à 13:12
25 août 2006 à 16:22
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
25 août 2006 à 00:25
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?
++