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 |
|
|
| WIDTH(N) HEIGHT(N) avec GRID N | |
| | Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: WIDTH(N) HEIGHT(N) avec GRID N Ven 14 Aoû 2015 - 15:00 | |
| Suis je le seul ? Width() et height() ne me renvoie pas la bonne dimension de l' objet Grid lorsque je le place dans un objet tab. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N Ven 14 Aoû 2015 - 15:19 | |
| Salut ygeronimi ! Comment tu procèdes pour utilisé ces fonctions ? Moi j'utilise un GRID dans un tab sur GPP, je n'ai pas de problème. J'utilise FULL_SPACE et j'obtiens bien le GRID en rapport dans l'espace. Je suis sous WIN 7. Est ce que c'est un problème de version de windows ??? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 14 Aoû 2015 - 16:00 | |
| Le code est pas encore trop long , je te le mets ici : - Code:
-
' PLM DATABASE hide 0 application_title "PLM Database" Variables_objets() Variables_adresses() Variables_database() Variables_application() Labels() Init() Gui() show 0 end
' ############################################################################## ' DECLARATION DES VARIABLES OBJETS ' ##############################################################################
SUB Variables_objets() dim_local i%
dim no% dim frame% : no%=no%+1 : frame% =no% dim mm% : no%=no%+1 : mm% =no% dim sm%(20) : for i%=1 to 20 : no%=no%+1 : sm%(i%)=no% : next i% dim table% : no%=no%+1 : table% =no% dim feuil%(4): for i%=1 to 4 : no%=no%+1 : feuil%(i%)=no% : next i% dim grill%(4): for i%=1 to 4 : no%=no%+1 : grill%(i%)=no% : next i% END_SUB ' ############################################################################## ' DECLARATION DES VARIABLES ADRESSES ' ##############################################################################
SUB Variables_adresses() END_SUB ' ############################################################################## ' DECLARATION DES VARIABLES DATABASE ' ##############################################################################
SUB Variables_database() END_SUB ' ############################################################################## ' DECLARATION DES VARIABLES APPLICATION ' ##############################################################################
SUB Variables_application() END_SUB ' ############################################################################## ' DECLARATION DES LABELS ' ##############################################################################
SUB Labels() Label Clic Label Change Label DClic Label Vue Label Close END_SUB ' ############################################################################## ' INITIALISATIONS ' ##############################################################################
SUB Init() END_SUB ' ############################################################################## ' INTERFACE UTILISATEUR ' ##############################################################################
SUB Gui() dim_local i%,h%,w% ' definition de la fenêtre principale height 0,500 width 0,850 top 0,(screen_y-height(0))/2 left 0,(screen_x-width(0))/2 font_name 0,"arial" font_size 0,8 caption 0,"PLM Database" on_close 0,close ' création du main_menu main_menu mm% sub_menu sm%(1) : parent sm%(1),mm% : caption sm%(1),"Ajouter" : on_click sm%(1),clic sub_menu sm%(2) : parent sm%(2),mm% : caption sm%(2),"Modifier" : on_click sm%(2),clic sub_menu sm%(3) : parent sm%(3),mm% : caption sm%(3),"Supprimer": on_click sm%(3),clic ' création du classeur pour les tables container_tab table% full_space table% for i%=1 to 4 tab feuil%(i%) parent feuil%(i%),table% on_show feuil%(i%),vue next i% caption feuil%(1),"Articles" caption feuil%(2),"Mags" caption feuil%(3),"Rubriques" caption feuil%(4),"Auteurs" ' création des tableurs recevant les tables for i%=1 to 4 grid grill%(i%) parent grill%(i%),feuil%(i%) full_space grill%(i%) ' ---------------------------------LA EST LE SCHMILBLICK ----------------------- h%= height(grill%(i%)) w%= width(grill%(i%)) message str$(h%)+" - "+str$(w%) ' ------------------------------------------------------------------------------ grid_column_fixed grill%(i%),0.01 grid_fixed_color grill%(i%),110,180,110 grid_row grill%(i%),2 next i% grid_column grill%(1),5 grid_one_column_width grill%(1),5,540 for i%= 2 to 4 grid_column grill%(i%),2 grid_one_column_width grill%(i%),2,736 next i% grid_write grill%(1),1,1,"N° Article" grid_write grill%(1),1,2,"Mag" grid_write grill%(1),1,3,"Rubrique" grid_write grill%(1),1,4,"Auteur" grid_write grill%(1),1,5,"Titre" grid_write grill%(2),1,1,"ID" grid_write grill%(2),1,2,"Mag" grid_write grill%(3),1,1,"ID" grid_write grill%(3),1,2,"Rubrique" grid_write grill%(4),1,1,"N° Article" grid_write grill%(4),1,2,"Auteur" END_SUB ' ############################################################################## ' MENUS ' ##############################################################################
Clic: return
Change: return
DClic: return
Vue: if number_show = feuil%(1) :message "base Articles" : return :end_if if number_show = feuil%(2) :message "base Mags" : return :end_if if number_show = feuil%(3) :message "base Rubriques" : return :end_if if number_show = feuil%(4) :message "base Auteurs" : return :end_if return
Close: return ' ############################################################################## ' FONCTIONS ET PROCEDURES ' ##############################################################################
| |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N Ven 14 Aoû 2015 - 19:35 | |
| Excuses moi pour le retard de ma réponse, j'étais au boulot et ensuite j'avais quelques petites choses a faire avant de rentrer. Je viens de découvrir ton code. Effectivement, j'ai eu un problème similaire qui peut être supprimé en enlevant le HIDE 0 ET SHOW 0 du début. Je sais, c'est plus propre avec pour une belle initialisation et je suis d'accord avec toi... Ensuite j'ai rajouté SHOW feuil%(i%) en ligne 90 après tab feuil%(i%). c'est un bidouillage et ca ne devrait pas avoir lieu, mais bon moi j'ai fais avec... C'est la seule façon que j'ai trouvé de solutionner le problème. Si Jack passe pas ici, il pourra peut être nous donner son avis... | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N Ven 14 Aoû 2015 - 22:06 | |
| bsr ygeronimi je vient de regarder ton code et a mon avis c'est que les grandeurs que indique les msg c'est a dire 120/320 sont les dimensions réel du grid mais du fait quelles sont en full_space panoramic ignore ses dimensions et ne peut pas t'en informé car elles sont accroché au form0 voilas mon avis! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 15 Aoû 2015 - 10:34 | |
| Bon, ben...tant pis...je vais faire autrement... | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N Sam 15 Aoû 2015 - 11:08 | |
| Salut ygeronimi ! Eh oui il faut trouver une alternative comme je l'ai fait sur GPP... C'est vrai que tout ces petits détails, défauts de Panoramic finissent par devenir ennuyeux a la longue. Panoramique est un super outil mais tous ces petits problèmes font que malheureusement il n'est pas fiable a 100. C'est vraiment dommage ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 15 Aoû 2015 - 12:23 | |
| Souvent lorsque l' on poste un programme, nous avons notre gendarme Papydall qui nous exhorte à sécurisé nos programmes pour les cliqueurs fous ou pour les formats d' entrées de données. Mais il pourrait être bien de sécuriser l' existant avant de passer à de nouvelles versions de Panoramic ou du moins de ses affiliés. Bon, sous les hués du public, je sors... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N Sam 15 Aoû 2015 - 12:39 | |
| Si tu fais ta création des grilles de cette manière: - Code:
-
' création des tableurs recevant les tables for i%=1 to 4 grid grill%(i%) parent grill%(i%),feuil%(i%) : ' grill%(i%)+1000 ' full_space grill%(i%) height grill%(i%),height(table%) width grill%(i%),width(table%) ' ---------------------------------LA EST LE SCHMILBLICK ----------------------- h%= height(grill%(i%)) w%= width(grill%(i%)) message str$(h%)+" - "+str$(w%) ' ------------------------------------------------------------------------------ grid_column_fixed grill%(i%),0.01 grid_fixed_color grill%(i%),110,180,110 grid_row grill%(i%),2 next i% les dimensions sont correctes. Il y a un bug dans Panoramic. La commande FULL_SPACE sur un objet placé dans un TAB ne marche pas correctement. Elle change bien les dimensions de l'objet à l'écran, mais ne met pas à jour les variables internes contenant largeur et hauteur de l'objet. Mais si tu mets les dimensions explicitement, ça marche. J'ai testé avec un PANEL à la place du GRID, et le problème est identique. Le panel est bien dimensionné pour remplir tout le TAB, mais les fonctions HEIGHT et WIDTH retournent les dimensions de l'objet à sa création, ou celles que l'objet avait juste avant FULL_SPACE. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N Sam 15 Aoû 2015 - 12:50 | |
| Recitifcation: ce n'est PAS un bug de Panoramic ! Cela doit venir de ton code. Voici une version simplifiée, avec un container_tab, un seul tab, et un panel ou un grid. Et là, tout marche. Ou presque: les dimensions d'un TAB sont toujours retournées comme 0 ! Voici la démo, qui est très claire: - Code:
-
width 0,800 memo 10 : top 10,10 : left 10,550 : height 10,200 container_tab 1 : width 1,500 : height 1,300 item_add 10,"container_tab 1:" item_add 10," W="+str$(width(1))+" H="+str$(height(1)) item_add 10,"" tab 2 : parent 2,1 item_add 10,"tab 2:" item_add 10," W="+str$(width(2))+" H="+str$(height(2)) item_add 10,"" panel 3 : parent 3,2 item_add 10,"panel 3:" item_add 10," W="+str$(width(3))+" H="+str$(height(3)) item_add 10,"" full_space 3 item_add 10,"panel 3 après full_space:" item_add 10," W="+str$(width(3))+" H="+str$(height(3)) item_add 10,""
delete 3 grid 4 : parent 4,2 item_add 10,"grid 4:" item_add 10," W="+str$(width(4))+" H="+str$(height(4)) item_add 10,"" full_space 4 item_add 10,"panel 4 après full_space:" item_add 10," W="+str$(width(4))+" H="+str$(height(4)) item_add 10,""
end
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 15 Aoû 2015 - 13:09 | |
| @ Klaus,
Apparemment c' est le fait de "hider" le form 0 qui fait que les dimensions ne sont pas renvoyées correctement. Or, caché ou pas, les dimensions devraient être renvoyées tel qu' elles sont. L' objet à l' attribut full_space du tab donc.... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N Sam 15 Aoû 2015 - 13:19 | |
| Tu as raison, Ygeronimi. Le fait d'ajouter un HIDE 0 en début du programme provoque l'anomalie. C'est bien un BUG dans Panoramic, et ce petit code le met en évidence: - Code:
-
hide 0 : ' <==== cette ligne provoque le bug. En commentaire, tout est correct ! width 0,800 memo 10 : top 10,10 : left 10,550 : height 10,200 container_tab 1 : width 1,500 : height 1,300 item_add 10,"container_tab 1:" item_add 10," W="+str$(width(1))+" H="+str$(height(1)) item_add 10,"" tab 2 : parent 2,1 item_add 10,"tab 2:" item_add 10," W="+str$(width(2))+" H="+str$(height(2)) item_add 10,"" panel 3 : parent 3,2 item_add 10,"panel 3:" item_add 10," W="+str$(width(3))+" H="+str$(height(3)) item_add 10,"" full_space 3 item_add 10,"panel 3 après full_space:" item_add 10," W="+str$(width(3))+" H="+str$(height(3)) item_add 10,""
delete 3 grid 4 : parent 4,2 item_add 10,"grid 4:" item_add 10," W="+str$(width(4))+" H="+str$(height(4)) item_add 10,"" full_space 4 item_add 10,"panel 4 après full_space:" item_add 10," W="+str$(width(4))+" H="+str$(height(4)) item_add 10,"" show 0 end
| |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N Sam 15 Aoû 2015 - 13:53 | |
| Merci klaus ! Cela confirme ce que je disais au début de ce post ! | |
| | | Contenu sponsorisé
| Sujet: Re: WIDTH(N) HEIGHT(N) avec GRID N | |
| |
| | | | WIDTH(N) HEIGHT(N) avec GRID N | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |