ldx
Messages postés23Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention 3 mai 2005 27 févr. 2005 à 12:17
bonjour
Trop occupé hier soir à te donner des conseils, j'en ai oublié le principal : Félicitations pour ton premier prog. Il marche, il est sain .... Tu as réussi à faire éxécuter à une machine ce que tu voulais. Bienvenue au club !
Mon propos d'hier tenait plus à la seconde phase d'une programmation : la simplification. Je crois que l'on en passe tous par là ...
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 26 févr. 2005 à 21:26
Ben moi ça fait bientôt 15 ans que je programme et je ne fait que du basic... Quoi??? Je suis bloqué moi aussi!!! :-((( Désolé... je savais pas... me soignerais ;-)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 févr. 2005 à 20:40
Elektordi > et en quasi 9 ans de temps, tu en es encore au VB ? on finra par croire que tu as commencé trop tôt, y a eu blocage.
Plaisanterie du soir, espoir.
ldx
Messages postés23Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention 3 mai 2005 26 févr. 2005 à 20:30
Bonjour
D'abord une remarque à ElekTordi : J'ai commencé à programmer à 27 ans => d'après tes critères, il semblerait que je sois bon à mettre au rencart. Tu m'a bien fais rire...merci.
A Gui18 :
j'ai vu ton prog. Tu peux l'alléger énormément :
1- tu crées une image au nom différent par drapeau. Il y a plus simple . Crée une image "Drapeau" par exemple et indexe la (via la propriété index de l'image)
cela te permettras de racourcir ta programmation.
Tu as été obligé pour chaque drapeau de créer une proc qui entre autre rend invisble tous les drapeaux que tu n'as pas sélectionné. Je te propose cette instruction :
private sub OptDrapeaux_Click ( index as integer)
dim Compteur as integer
'rend tous les drapeux invisibles
Compteur = 0
do while compteur <= TotalDrapeaux (ici 18)
Drapeau(compteur).visible = false
compteur = compteur +1
loop
Tu pourrais employer un For ... Next mais il semble que le Do while soit le plus rapide en temps traitement.
Egalement tu pourrais faire :
dim EltEnCours as control
for each EltenCours in Drapeau
EltEnCours.visible = false
next
Ensuite tu rends visible ton drapeau :
Drapeau(index).visible = true
end sub
Venons à OptDrapeaux_Click(index as integer)
Pour avoir cela, là aussi il serait plus cool de créer une série de OptDrapeaux indexés plutôt que de créer un Opt par drapeau. Dans ton programme tu aurais de OptDrapeaux(0) à OptDrapeaux(17) ou OptDrapeaux(1)
à OptDrapeaux(18) au choix
Comme tu as pu t'en rendres compte précédemment, il te suffit de donner le numéro d'index pour voir ton drapeau apparaître.
Il en va de même pour tes checkbox. Crées une série et ta procédure deviendrait (si tu choisis ChkDrapeaux)
private sub ChkDrapeaux(index as integer)
if ChkDrapeaux(index).value 1 then Drapeau(index).visible true else Drapeau(index).visible = false
end sub
Passons aux images :
Dans ton prog, les icônes de tes drapeaux sont chargées dans la propriété "picture" de chaque image. => tu bouffes de la mémoire, car celles-ci sont chargées en même temps que ton Form.
Je t'invite à découvrir le fichier "Ressources" . Tu y accède par le menu "Projet / Ajouter un nouveau fichier de ressources"
Dedans, tu trouveras une icône en forme de page pointillée. Chaque fois que tu cliqueras dessus, tu pourras charger un drapeau. Il attribuera un numéro à celle-ci automatiquement (ex. 101).
Le fait de mettre dans un fichier ressources te feras économiser de la mémoire. Car tu ne chargeras ton image qu'au fur et à mesure de tes besoins.
l'appel est simple :
Drapeau(index) = loadrespicture(101 + index,1)
où le "1" identifie les ".ico" (le "0" concerne les ".bmp" ou bitmap)
Il existe encore d'autres possibilités de chargement (ListPicture, ListImage) mais c'est une autre histoire ...
Voilà ! Ne perds pas courage, il n'y a pas d'age pour commencer. Tu as eu raison de déposer ton source puisqu'elle a provoquée une réponse.
Quant à moi j'espère avoir pu t'aider
Portes-toi bien
cs_Elektordi
Messages postés186Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 janvier 2008 26 févr. 2005 à 19:27
Pas mal pour une première source...
Et merci pour les images de drapeaux ;-) ca peut tjrs servire...
(nb: "je n'ai que 15 ans"> 15 ans, c'est déjà un peu agé pour commancer à coder :D ... J'en conais [dont moi] qui ont commancé à 6-7 ans !)
27 févr. 2005 à 12:17
Trop occupé hier soir à te donner des conseils, j'en ai oublié le principal : Félicitations pour ton premier prog. Il marche, il est sain .... Tu as réussi à faire éxécuter à une machine ce que tu voulais. Bienvenue au club !
Mon propos d'hier tenait plus à la seconde phase d'une programmation : la simplification. Je crois que l'on en passe tous par là ...
26 févr. 2005 à 21:26
26 févr. 2005 à 20:40
Plaisanterie du soir, espoir.
26 févr. 2005 à 20:30
D'abord une remarque à ElekTordi : J'ai commencé à programmer à 27 ans => d'après tes critères, il semblerait que je sois bon à mettre au rencart. Tu m'a bien fais rire...merci.
A Gui18 :
j'ai vu ton prog. Tu peux l'alléger énormément :
1- tu crées une image au nom différent par drapeau. Il y a plus simple . Crée une image "Drapeau" par exemple et indexe la (via la propriété index de l'image)
cela te permettras de racourcir ta programmation.
Tu as été obligé pour chaque drapeau de créer une proc qui entre autre rend invisble tous les drapeaux que tu n'as pas sélectionné. Je te propose cette instruction :
private sub OptDrapeaux_Click ( index as integer)
dim Compteur as integer
'rend tous les drapeux invisibles
Compteur = 0
do while compteur <= TotalDrapeaux (ici 18)
Drapeau(compteur).visible = false
compteur = compteur +1
loop
Tu pourrais employer un For ... Next mais il semble que le Do while soit le plus rapide en temps traitement.
Egalement tu pourrais faire :
dim EltEnCours as control
for each EltenCours in Drapeau
EltEnCours.visible = false
next
Ensuite tu rends visible ton drapeau :
Drapeau(index).visible = true
end sub
Venons à OptDrapeaux_Click(index as integer)
Pour avoir cela, là aussi il serait plus cool de créer une série de OptDrapeaux indexés plutôt que de créer un Opt par drapeau. Dans ton programme tu aurais de OptDrapeaux(0) à OptDrapeaux(17) ou OptDrapeaux(1)
à OptDrapeaux(18) au choix
Comme tu as pu t'en rendres compte précédemment, il te suffit de donner le numéro d'index pour voir ton drapeau apparaître.
Il en va de même pour tes checkbox. Crées une série et ta procédure deviendrait (si tu choisis ChkDrapeaux)
private sub ChkDrapeaux(index as integer)
if ChkDrapeaux(index).value 1 then Drapeau(index).visible true else Drapeau(index).visible = false
end sub
Passons aux images :
Dans ton prog, les icônes de tes drapeaux sont chargées dans la propriété "picture" de chaque image. => tu bouffes de la mémoire, car celles-ci sont chargées en même temps que ton Form.
Je t'invite à découvrir le fichier "Ressources" . Tu y accède par le menu "Projet / Ajouter un nouveau fichier de ressources"
Dedans, tu trouveras une icône en forme de page pointillée. Chaque fois que tu cliqueras dessus, tu pourras charger un drapeau. Il attribuera un numéro à celle-ci automatiquement (ex. 101).
Le fait de mettre dans un fichier ressources te feras économiser de la mémoire. Car tu ne chargeras ton image qu'au fur et à mesure de tes besoins.
l'appel est simple :
Drapeau(index) = loadrespicture(101 + index,1)
où le "1" identifie les ".ico" (le "0" concerne les ".bmp" ou bitmap)
Il existe encore d'autres possibilités de chargement (ListPicture, ListImage) mais c'est une autre histoire ...
Voilà ! Ne perds pas courage, il n'y a pas d'age pour commencer. Tu as eu raison de déposer ton source puisqu'elle a provoquée une réponse.
Quant à moi j'espère avoir pu t'aider
Portes-toi bien
26 févr. 2005 à 19:27
Et merci pour les images de drapeaux ;-) ca peut tjrs servire...
(nb: "je n'ai que 15 ans"> 15 ans, c'est déjà un peu agé pour commancer à coder :D ... J'en conais [dont moi] qui ont commancé à 6-7 ans !)