Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| problème avec le placement des objets dans certains cas. | |
| | |
Auteur | Message |
---|
Invité Invité
| Sujet: Re: problème avec le placement des objets dans certains cas. Dim 26 Aoû 2012 - 12:10 | |
| Merci Klaus. Ce matin, dès que j'ai quitté, je me suis dis qu'il y a un problème. A cause de cela, il y a besoin de réfléchir. Regarde la ligne: - Code:
-
for a% = 2 to 105:if object_exists(a%) = 1 then delete a% : next a% Est-ce que réellement tous les objets qui sont dans la boucle ont disparus? Non, il en reste! Si ce qui dépasse l'écran avait été supprimé, l'écran se serait rétréci. Dans Pagiciel, dans chaque page, l'écran s'adapte avec les ascenseurs. A chaque nouvelle page, j'efface les objets qui font justement la page, pour les recréer, selon le type d'objet. C'est la même form(e) 0. Seul deux alphas restent en place (et des broutilles). Et la form pert son ascenseur. Donc il doit d'abord avoir un problème avec l'instruction delete. Après on pourra réfléchir. Qu'en pensez-vous? |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: problème avec le placement des objets dans certains cas. Dim 26 Aoû 2012 - 12:28 | |
| Il n'y a pas de problème avec l'instruction delete ! Tu essais de supprimer les objets de 2 à 105. Or, ta routine de suppression est appelé par le bouton 31 qui ne peut pas être supprimé car sa routine d'évènement est en cours d"exécution. Or, comme il est très loin en bas, l'ascenseur persiste. Mais tu t'es fait piéger en plus par le problème de syntaxe après un if...then. Tu ne peux pas placer la commande NEXT sur la même ligne. J'ai restructuré cette routine, et là, tu tombes sur "abstract error" lorsque tu essaies de supprimer le bouton 1. J'ai donc modifié la condition, et tout est bien supprimé, mais pour que l'ascenseur disparaisse, il faut que tu places le bouton 31 en haut de la form ! Voici le source: - Code:
-
full_space 0 :width 0,650 label y , ajout , cercle , zero , relance : on_click 0,zero dim a% ,y% ,obj% ,i%, t% , h% ,g%(25,1) , nu% ,l% ,r,x,y i%=13 : nu% = 31 for a% = 1 to 20 memo a%:left a%,50:top a%,a%*100:width a%,180:height a%,80 :g%(a%,0)=a%*100 : g%(a%,1)= g%(a%,0)+80 item_add a%,a% item_add a%,"top="+str$(top(a%)) item_add a%,"top+height="+str$(top(a%)+height(a%)) next a%
picture 105:width 105,40:font_size 105,2:height 105,2050 color 105,color_pixel_red(0,20,100),color_pixel_green(0,20,100),color_pixel_blue(0,20,100)-20 font_color 105,color_pixel_red(0,20,100),color_pixel_green(0,20,100),color_pixel_blue(0,20,100)
button 30:left 30,240:width 30,20:height 30,top(20)+height(20) :on_click 30,ajout button 31:left 31,270:caption 31,"efface":top 31,1990: on_click 31,relance
picture 35:left 35,400:width 35,200:height 35,top(20)+height(20) :on_click 35,cercle
on_click 105,y
end y: y% = mouse_y_position(105) :message y% for obj% = 1 to 20 step 1 if count(obj%)>3 then item_delete obj%,count(3) t%= g%(obj%,0) :h%= g%(obj%,1) ' t%= top(obj%) :h%= top(obj%) + height(obj%) item_add obj%,"maintenant top="+str$(t%)+" top+height="+str$(h%) +chr$(0) if y% >= t% and y% <= h% then exit_for next obj% if obj% < 21 then caption 0,"li:"+str$(a%)+" : y%="+str$(y%)+" => " +" / objet:" + str$(obj%) return
ajout: if nu%<35 picture nu%:left nu%,270+l%:top nu%,top(20):height nu%,50:color nu%,255,l%,l% nu%=nu%+1 :l%=l%+50 end_if return
cercle: 2d_target_is 35 : print_target_is 35 x=mouse_x_position(35) y=mouse_y_position(35) r=10 2d_circle x,y,r print_locate x+15,y : print "y="+str$(y) return zero: 2d_target_is 35 : print_target_is 0 x=mouse_x_position(0) y=mouse_y_position(0)
r=10 2d_circle x,y,r print_locate x+15,y : print "y="+str$(y) return
relance: for a% = 2 to 105 if (object_exists(a%) = 1) and (a%<>31) then delete a% ' if object_exists(a%) = 1 then delete a% next a% item_add 1,"relance" memo 2: top 1,10:left 2,300 return
Attention: j'ai repris le source que tu as posté en dernier, et non celui que j'ai posté avec la solution à ton problème de positionnement ! | |
| | | Invité Invité
| Sujet: Re: problème avec le placement des objets dans certains cas. Dim 26 Aoû 2012 - 12:53 | |
| Oui, effectivement, je me suis bien fait piégé. Il fallait que je mette le bouton en bas, pour effacer avec l'ascenseur. Quand au next en bout de teste, je ne me souviens pas la dernière fois que je l'ai fait. J'ai supprimé le bouton, et remplacé par: - Code:
-
main_menu 2010 sub_menu 2011:parent 2011,2010:caption 2011,"controle" sub_menu 2012:parent 2012,2011:caption 2012,"efface" on_click 2012,relance
Et je me retrouve avec le problème. Donc en mettant height 250,100. Je supprime l'ascenseur. Je vais voir, vu que j'ai fait une table de top et de top+height, je vais essayer, dans Pagiciel, de mettre tous les objets à top 0, et une fois modifié, reprendre la liste des objets, et remetre à la suite au bon "top". Cela devrait convenir. Merci pour tes remarques. Je ne vais pas dire que je suis fatigué, Ygeronimi va être jalou |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: problème avec le placement des objets dans certains cas. Dim 26 Aoû 2012 - 14:00 | |
| Qu'est-ce que tu penses de mon idée de remplacer le fond de la form par un picture en full_space avec la couleur 236,233,216 pour être identique à la couleur par défaut de la form ? Là, tu auras toujours les bonnes coordonnées d'un clic ! | |
| | | Invité Invité
| Sujet: Re: problème avec le placement des objets dans certains cas. Dim 26 Aoû 2012 - 14:45 | |
| La question, je peux la comprendre de plusieurs façons, mais je crois que tu fais abstraction des problèmes de positionnement des objets en dehors de l'écran.
C'est l'idée que je retiens, à la différence que je limite la largeur à une bande, pour qu'il soit bien entendu, que lorsque je clique sur cette bande, c'est uniquement pour lire la position y d'un objet.
Et maintenant, je vais faire l'essai une fois cliqué sur la bande, de mettre sur celle-ci une hauteur qui tienne dans l'écran, pour qu'une fois la suppression des objets, la forme perde son ascenseur. La ça devrait marcher. Je réadapte la hauteur au fur et à mesure de la création des objets, et je pense ce sera la pirouette de dépannage.
Mais maintenant on sait qu'un picture plein écran en fond, permet de connaitre la position d'un objet dans une fenêtre. Cela a changé je ne sais pas quand, vu que lorsque j'ai fait l'éditeur à cellule, on ne pouvait connaitre la position y dans un picture en dehors de l'écran.
Simple question: Vois-tu une méthode pour faire un teste complet de toutes les commandes à l'arrivée d'une nouvelle version, et savoir ce qui change ou pas (ou qui bug)? |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 26 Aoû 2012 - 15:08 | |
| Jalou ?????????????.........
de qui, de quoi ?...
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: problème avec le placement des objets dans certains cas. Dim 26 Aoû 2012 - 15:18 | |
| @Cosmos70: Non, sincèrement, je ne vois pas de moyen sûr de faire ces tests.
Je sais que Jack a toute une série de tests automatisés qu'il déroule à chaque nouvelle version. Et pourtant, quelques fois, il y a des choses qui échappent. Alors, à moins de réinventer ce que Jack a fait et à prétendre être plus complet que lui, je ne vois pas ce qu'on pourrait faire. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: problème avec le placement des objets dans certains cas. Dim 26 Aoû 2012 - 15:21 | |
| | |
| | | Invité Invité
| Sujet: Re: problème avec le placement des objets dans certains cas. Dim 26 Aoû 2012 - 15:40 | |
| L'objet 105, est l'objet dans Pagiciel pour repérer l'objet en place. Donc j'ai simplement mis, une fois trouvé l'objet, un height 105,0, avant d'aller avec gosub au traitement. Et maintenant cela marche! Je crois que c'est une bonne leçon pour plus tard. On sait maintenant comment résoudre ce problème. - Citation :
- Jalou ?????????????.........
Tu dis souvent que tu n'as pas les yeux en face des trous, ou fatigué Je suis donc obligé de prendre sur moi pour éviter la concurence. nia. nia nia nia....! |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 26 Aoû 2012 - 20:19 | |
| C'est souvent ce que je dis quand je ne vois pas où est le problème, effectivement. Mais il y a aussi une chose dont je m'aperçois souvent, c'est qu' il suffit de poster pour trouver la solution. Surtout quand on poste vers 5h00 du matin... | |
| | | Invité Invité
| Sujet: Re: problème avec le placement des objets dans certains cas. Lun 27 Aoû 2012 - 23:26 | |
| Bonsoir. Je croyais ce problème résolu, et avec le pagiciel, dont je clique sur une bande qui est un picture verticale pour trouver la position, j'ai eu des doutes sur les résultats.
Je m'aperçois que maintenant il fonctionne avec des résultats avec mouse_y_position en relatif. Il me donne les même résultat que pour l'écran, et je ne sais pas pourquoi. Qu'est-ce qui peut faire la différence? Je ne comprend pas.
J'ai essayé avec le programme ici, et je n'arrive pas à le reproduire. |
| | | Invité Invité
| Sujet: Re: problème avec le placement des objets dans certains cas. Lun 27 Aoû 2012 - 23:52 | |
| Fausse alerte. Je croyais avoir fait tous les testes, et un moment dans la journée, j'ai vu que j'avais un décalage dans la hauteur de ce picture. Et je l'ai corrigé (le picture étant 105) par height 105,"la position du dernier objet + hauteur de cet objet) -top(105). Or top(105) est relatif. J'ai simplement remis en clair: -100 à la place de top, le top du picture. Je ne sais pas si je me suis bien expliqué, J'ai remplacé le top par sa vrai valeur. Maintenant le résultat est bon. C'est malheureux, ça fait plus d'une heure, sinon plus que j'essaye de comprendre. Je poste, et presque aussitot je trouve. C'est quoi ce forum? C'est une zone de miracle? |
| | | Contenu sponsorisé
| Sujet: Re: problème avec le placement des objets dans certains cas. | |
| |
| | | | problème avec le placement des objets dans certains cas. | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |