DRAPEAUX

cs_Elektordi Messages postés 186 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 janvier 2008 - 26 févr. 2005 à 19:27
ldx Messages postés 23 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 3 mai 2005 - 27 févr. 2005 à 12:17
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/29798-drapeaux

ldx Messages postés 23 Date d'inscription jeudi 29 avril 2004 Statut Membre Derniè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és 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
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és 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 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és 23 Date d'inscription jeudi 29 avril 2004 Statut Membre Derniè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és 186 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 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 !)
Rejoignez-nous