| Créateur d'objets Panoramic | |
|
|
|
Auteur | Message |
---|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Créateur d'objets Panoramic Mar 5 Juin 2018 - 18:11 | |
| Bonjour à tous ! J'ouvre un nouveau sujet aujourd'hui pour vous présenter ce qui devrait devenir un créateur d'objets ultra simple en 100% Panoramic. En fait il en est au tout début.... Aucun critère de vérification n'est mis en place, donc, Bourrin peut y aller à cœur joie avec les plantages ! Le but pour l'instant est de vous montrer le principe que j'ai retenu. 1/ Pour commencer on choisi un objet dans la liste en haut à gauche. 2/ Les propriétés susceptibles d'être utilisées sur cet objet apparaissent automatiquement. 3/ Vous sélectionnez les propriétés que vous désirez ajouter au code. 4/ Vous cliquez sur le bouton AJOUTER L'OBJET pour le voir le code s'afficher dans la fenêtre de droite. 5/ Vous pouvez aussi visualiser le résultat par AFFICHER LES OBJETS Ces 5 phases sont déjà fonctionnelles ! PS : Bien entendu il y aura par la suite la possibilité de choisir les options des propriétés (Valeurs, ON/OFF, choix, etc.). Je vais aussi mettre en place un système de sauvegarde pour reprendre des codes ultérieurement. Vous pouvez dès maintenant télécharger le ZIP OBJETS sur mon WEBDAV. Voici une copie d'écran : | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Créateur d'objets Panoramic Mar 5 Juin 2018 - 19:07 | |
| Intéressant tout ça ! Puisque debugger un code consiste à traquer et supprimer les bugs, la programmation ne serait que l’art d’en créer ! Bon, il me semble que tu as bien maitrisé l’art de commettre des bugs. - Minibug a écrit:
- Aucun critère de vérification n'est mis en place, donc, Bourrin peut y aller à cœur joie avec les plantages !
Pour que Maitre Bourrin puisse utiliser aussi bien sa souris que son clavier, modifier la ligne 124 (la dernière ligne DATA) en ajoutant aux CAPTIONs des BUTTONs le caractère ‘ampersand’ ( & ) qui soulignera la lettre à taper au lieu du click souris. - Code:
-
DATA "&Ajouter l'objet" , "&Copier le code" , "A&fficher les objets" , "&Effacer le code" , "&Quitter"
Bonne continuation ! | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mar 5 Juin 2018 - 20:16 | |
| Et bien Maître Papydall à parler !
Je vais tester cela... Mais toi as tu tester le programme ? Et qu'en pense tu ? | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Créateur d'objets Panoramic Mar 5 Juin 2018 - 20:48 | |
| Bonsoir, Je viens de faire un test rapide. L'idée semble intéressante, il faudra voir avec la suite. Je vois l'avantage d'avoir sous le coude toutes les commandes, attributs, ..., qui se rapportent à l'objet sélectionné et de les renseigner pour obtenir un code à copier de cette objet. Le choix de no%, pour créer l'objet est une bonne chose, vu que c'est un peu un standard sur ce forum, pour la gestion automatique des numéros d'objets. Mais il y a une erreur dans la génération du code concernant no%: no%=no%+1 ne doit pas être après la déclaration DIM no%, mais avant, car bourrin a commencé par créer un EDIT (pas un FORM) du coup l'EDIT a le numéro 0. Et il faut, aussi, que tu ajoutes la possibilité pour le programmeur d'ajouter un "allias" (Nom qui représente la fonction de l'objet) sinon ça sera ingérable pour retrouver son numéro. Exemple: - Code:
-
no%=no%+1 : DIM EditNom% : EditNom% =no% : EDIT EditNom% : ..... Une suggestion: Le choix d'un COMBO pour afficher les Objets Panoramic n'est pas (à mon avis) le bon. J'aurai préféré un LIST qui permettrait d'afficher plus de lignes qu'un COMBO. A+ | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mar 5 Juin 2018 - 21:02 | |
| Bonsoir Jean Claude !
Les questions que tu soulèves sont en cours de résolution dans la nouvelle version que je prépare : - Le problème de l'EDIT et du FORM sont résolus - L'alias est mis en place
Je suis en train de mettre en œuvre les attributs (texte, choix, etc.) Et aussi la possibilité de basculer les commandes par simple clic : - HIDE/SHOW - ACTIVE INACTIVE - ON_CLICK / OFF CLICK - etc.
Pour le combo c'est surtout un problème de place qui a motivé mon choix. Mais on peut toujours réfléchir à une autre façon de faire... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Créateur d'objets Panoramic Mar 5 Juin 2018 - 21:16 | |
| - Citation :
- Pour le combo c'est surtout un problème de place qui a motivé mon choix.
Mais on peut toujours réfléchir à une autre façon de faire... Ben, pourquoi ne pas agrandir la fenêtre du programme J'ai vu que le code s'écris automatiquement avec des : (2 points) de séparation. C'est bien, mais il serait bon de limiter leur nombre pour éviter d'avoir une ligne d'un kilomètre pour la création d'un objet. En particulier pour les déclarations d’événements comme ON_CLICK, ON_CHANGE, .... qui méritent d'être isolés pour être visible au premier coup d’œil. Le top serait aussi que les "commandes" de l'objet soit triées dans un ordre précis. Exemple: en priorité PARENT no% (s'il y en a un) ensuite WIDTH no% : HEIGHT no% avant LEFT et TOP Etc.... A+ | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mar 5 Juin 2018 - 21:24 | |
| Oui j'y est aussi pensé. Mais cela viendra en temps et heure... Pour l'instant le principal c'est que l'ensemble fonctionne sans trop de complications. Je veux vraiment quelque chose de simple. Car après je reprendrai GPP. Et là on aura du lourd à se mettre sous la dent... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 10:29 | |
| Génial Minibug | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 11:59 | |
| Bonjour à tous ! Salut Jicehel. Content que ça te plaise ! Je viens de mettre une nouvelle version avec un réaménagement des objets sous forme de boutons. J'ai suivi les recommandations de Jean Claude et c'est mieux ainsi. - Maintenant on peut aussi cliquer sur le texte des propriétés pour changer les ON en OFF ou les HIDE en SHOW, etc... - Il y a aussi un petit bouton à droite qui sert au choix du texte ou de la valeur à rentrer. Je reviendrai plus tard sur cette option car elle ne me convient pas. Mais elle a le mérite de fonctionner... Les erreurs mentionnées par Jean Claude hier sont normalement corrigées. Je vais aussi intégrer l'ajout automatique des sous-programmes. Comme par exemple lors de l'ajout de ON_CLICK,menu_click. Je vais faire en sorte que le sous-programme menu_click soit ajouté automatiquement. Idem pour les PARENTs des objets, ou l'on pourra sélectionner les PARENTs déjà existant dans les lignes. et pour le choix des valeurs, je vais mettre en place tout un système d'EDIT et de LIST pour les choix. PS : le choix pour COLOR et FONT_COLOR n'est pas encore en place mais pas de panic ça va venir... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 13:16 | |
| Bonjour à tous, @Minibug, Je viens de tester un peu. J'insiste sur le fait que no%=no%+1 devrait se trouver au début de la ligne de code, pour moi c'est source d'erreur de le placer à la fin. Il faut que tu prévois ("Bourrin" étant incapable de créer un objet sans se tromper ) que l'on puisse revenir sur l'objet pour en modifier ses attributs. D'où l'utilité d'un allias ou au minimum de connaitre son numéro. Sinon, je pense que ça va être une véritable aide à la programmation en Panoramic. A+ | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 13:32 | |
| Salut jean Claude ! - Citation :
- J'insiste sur le fait que no%=no%+1 devrait se trouver au début de la ligne de code,
Bah chez moi il est toujours à la fin et aucune erreur avec cette méthode. Mais si cela peut être mieux pour toi je n'y vois pas d’inconvénient. je vais m'en occuper... - Citation :
- Il faut que tu prévois que l'on puisse revenir sur l'objet pour en modifier ses attributs.
Alors là, clairement non, je ne fais pas une 'usine à gaz' de ce programme ! Après tu peux toujours modifier le code manuellement comme tu le fais dans ton éditeur habituel. - Citation :
- D'où l'utilité d'un allias ou au minimum de connaitre son numéro.
Et bien oui cela est déjà en place : FORM0% , BUTTON1% , etc. | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 14:08 | |
| Jean Claude je viens de suivre tes préconisations. Une nouvelle version est en ligne. Dis moi ce que tu en penses... | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 18:09 | |
| Je viens de mettre une nouvelle version. Elle gère l'ajout des LABELS et des sous-programmes et reconnaît leur présence dans le code. Cela évite les lignes en double qui provoquerai des erreurs dans le code. Tout cela commence vraiment a prendre forme ! Avant d'aller plus loin je vais reprendre la partie saisie pour l'améliorer. Mais là c'est un gros morceau. je pense en avoir pour un moment. Enfin on verra bien... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 18:22 | |
| Bonsoir, Testé et approuvé. Heu... l'avant dernière version (on viens de se croiser). - Citation :
- Citation :
Il faut que tu prévois que l'on puisse revenir sur l'objet pour en modifier ses attributs.
Alors là, clairement non, je ne fais pas une 'usine à gaz' de ce programme ! Après tu peux toujours modifier le code manuellement comme tu le fais dans ton éditeur habituel.
Bon, OK, c'est vrai que modifier manuellement est assez simple. Concernant les "allias", heu je suis confus j'ai interprété la variable EDIT0% comme étant EDITO% (édito et non edit 0) et comme je n'ai testé que l'edit.... Quel crétin je suis ... Demain je testerai les LABEL(s). A+ | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 18:31 | |
| Ok Jean Claude pas de problème ! Je viens encore de mettre a jour une nouvelle version. Un 'mini' bug ( ) s'était glissé dans la gestion des labels... J'ai aussi corrigé des erreurs dans la base de données des propriétés. Certaines sont allouées à des objets avec qui c'est incompatible. Du coup cela génère une erreur. Je vais tenter de traquer tout cela ! | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Mer 6 Juin 2018 - 18:59 | |
| Je viens de passer toutes les propriétés de tous les objets à la moulinette. Les dernières erreurs dans la base sont corrigées. la nouvelle version est en ligne. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 8:19 | |
| Bonjour à tous, Bien Minibug, c'est apparemment terminé. Je veux dire que c'est fonctionnel. Je n'ai pas eu de BUG En utilisant, je me suis dis: "- Les boutons [M] n'ont pas de raison d'être" Comme on doit cocher les commandes que l'on souhaite ajouter au code, cela veut dire qu'on va automatiquement changer quelque chose. Exemple: si on crée un BUTTON et qu'on garde sa taille d'origine, on a pas besoin de cocher les cases WIDTH et HEIGHT. Si on les coche, c'est qu'on veut modifier la valeur. En passant en revu toutes les commandes de la colonne de gauche, on voit que c'est valable pour toutes. Sauf pour les événements qui ont déjà le nom du sous-programme associé, là le bouton [M] a sa raison d'être. Qu'en penses-tu ? A+ | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 10:51 | |
| Bonjour jean Claude !
Ton idée se défends...
C'est vrai qu'au début je me disais qu'il était pratique de mettre une valeur en place mais comme on est pas pas dans l'affichage en temps réel, cela a peu d'intérêt.
Dans ce cas je peux retirer les boutons M partout, sauf pour le PARENT. Où là j'ai en tête d'utilisé un COMBO à la place du bouton M avec une liste des noms des objets déjà créés qui peuvent être PARENT. Ensuite il suffit de sélectionner dans la liste le nom du parent souhaité. Cela simplifie un peu la création du code et évite de rechercher le nom du PARENT dans le programme.
Concernant les noms des sous-programmes, je peux créer une option sous forme d'un bouton permettant de modifier le noms. Qu'est ce que tu en penses ? | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 11:02 | |
| - Minibug a écrit:
- Dans ce cas je peux retirer les boutons M partout, sauf pour le PARENT.
Où là j'ai en tête d'utilisé un COMBO à la place du bouton M avec une liste des noms des objets déjà créés qui peuvent être PARENT. Ensuite il suffit de sélectionner dans la liste le nom du parent souhaité. Cela simplifie un peu la création du code et évite de rechercher le nom du PARENT dans le programme.
Pour PARENT c'est une excellente idée. Retirer les boutons partout, oui, mais dans ce cas il faut que la fenêtre de saisie des valeurs s'ouvre (quand on coche la commande) pour les autres objets. Par exemple pour avoir un TOP no%,10 ,... Si on souhaite changer la valeur plus tard, on clique sur OK de le fenêtre de saisie et basta. - Code:
-
Concernant les noms des sous-programmes, je peux créer une option sous forme d'un bouton permettant de modifier le noms. Ben là, tu as déjà les boutons [M] qui ici sont valables. A+ | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 11:11 | |
| Ah OK ! Je croyais que tu ne trouvais pas utile de changer les valeurs et de supprimer cette option. Vu sous cette angle, je vais continuer mon idée de départ et tu me dira ensuite ce que tu en penses... En lieu et place des boutons 'M' je vais mettre sur chaque ligne un EDIT ou COMBO avec les valeurs correspondantes. C'est ce que j'avais comme idée au départ mais pour gagner du temps j'avais mis en place cette fenêtre. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 11:23 | |
| Fait ce que tu as prévu, je te donnerai mon avis. Mais garde ta version actuelle sous le coude, on ne sait jamais. A+ | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 13:21 | |
| Voici la nouvelle version ! Cela commence vraiment à ressembler à ce que j'avais en tête... Il me reste encore quelques petites choses à corriger mais le principe est bien là ! Une copie d'écran vaut mieux qu'un long discours... Pas mal non ?! | |
|
| |
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 15:01 | |
| Il manque des objets dans ton menu, en voici la liste complète extraite d'un de mes sources. Ils sont classés par type, c'est à dire que le numéro de 'case' correstpond à 'OBJECT_TYPE()': - Code:
-
select typ% case 0 : form obj% case 1 : scene3d obj% case 2 : button obj% case 3 : edit obj% case 4 : memo obj% case 5 : combo obj% case 6 : alpha obj% case 7 : form obj% case 8 : list obj% case 9 : picture obj% case 10: check obj% case 11: option obj% case 12: main_menu obj% case 13: sub_menu obj% case 14: sound obj% case 15: movie obj% case 16: track_bar obj% case 17: open_dialog obj% case 18: save_dialog obj% case 19: scroll_bar obj% case 20: progress_bar obj% case 21: spin obj% case 22: grid obj% case 23: container obj% case 24: memo_rich obj% case 25: button_picture obj% case 26: dlist obj% case 27: scene2d obj% case 28: timer obj% case 29: panel obj% case 30: ' case 31: main_menu_pop obj% case 32: container_option obj% case 33: open_dialog_pic obj% case 34: save_dialog_pic obj% case 35: shape obj% case 36: hviewer obj% case 37: serial obj% case 38: led1 obj% case 39: digit1 obj% case 40: switch1 obj% case 41: image obj% case 42: container_tab obj% case 43: tab obj% case 44: ' case 45: ' case 46: synedit obj% case 47: chart obj% end_select
| |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 15:15 | |
| Merci Silverman Voila une liste complète ! Le problème c'est qu'on a pas les toutes les infos sur ces objets. Quels sont les événement et les propriétés qui fonctionnent ? Mais c'est pas très grave, je vais les tester une par une... | |
|
| |
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Créateur d'objets Panoramic Jeu 7 Juin 2018 - 15:55 | |
| Il y a quand même 630 combinaisons objet/évènement Mais bon, comme j'ai déjà testé toutes les combinaisons, voici un code qui les affiches: - Code:
-
' Panoramic 0.9.28i12
' ============================================================== ' = Title : ' = ' = Author : Silverman ' = ' = Date : Mai 2017 ' = ' = Version: 1.0 ' ============================================================== ' Comments : Vérifie et affiche l'ensemble des évènements ' : associés à tous les objets ' ==============================================================
label trait_error , on_continu dim typ%,obj%,i,l,c
hide 0 : full_space 0 caption 0,"check_all_events"
' on_error_goto trait_error TEST_EVENT(0,26) :' initialisation tableau MAKE_OBJECT_FROM_TYPE(26,26) : delete 26 :' initialisation tableau
' fabrique une grille pour inscrire les résultats alpha 4 : font_bold 4 : hide 4 :' pour obtenir la largeur d'un texte grid 5 : parent 5,0 : full_space 5 : font_bold 5 : color 5,239,239,239 grid_column 5,16 : grid_one_column_width 5,1,160 grid_row 5,51 : grid_row_height 5,18 ' écrire les évènements for i=1 to 15 EVENT_NAME$(i)=" "+EVENT_NAME$(i)+" " grid_write 5,1,i+1,EVENT_NAME$(i) : caption 4,EVENT_NAME$(i) : grid_one_column_width 5,i+1,text_width(EVENT_NAME$(i),4) :' 9*len(EVENT_NAME$(i))+9 next i ' écrire les objets for i = 0 to 49 grid_write 5,i+2,1,str$(i)+" : "+OBJECT_TYPE_NAME$(i) next i
' teste tous les objets... obj%=10 :' un numero d'objet pour les tests for typ%=0 to 49 MAKE_OBJECT_FROM_TYPE(typ%,obj%) :' ...selon leur type... ' if OBJECT_TYPE_NAME$(typ%)<>"_" :' ...excepté les types non défini for c=1 to 15 TEST_EVENT(c,obj%) :' teste tous les évènements de panoramic on_continu: fill_grid(typ%,c,result) :' remplir la grille next c if object_exists(obj%)=1 then delete obj% end_if next typ%
show 0 off_error_goto
END ' #################################################################################################### ' TRAITEMENT D'ERREUR ' trait_error: result=0 goto on_continu
' #################################################################################################### ' SUBS ' ' remplir la grille sub fill_grid(l,c,test) if test=0 ' grid_write 5,l+1,c+1,"E_"+str$(error_number) :' DEBUG else grid_write 5,l+2,c+1," X" end_if end_sub
' fabriquer un objet selon son type sub MAKE_OBJECT_FROM_TYPE(typ%,obj%) if variable("OBJECT_TYPE_NAME$")=0 dim OBJECT_TYPE_NAME$(50) dim OBJECT_TYPE_HANDLE(50) : ' Ce tableau n'est pas utilisé dans ce code source ' 0=néant / 1=handle / 2=handle_canvas / 4=handle_form / 8=objet non-visible / 16=objet non-déplaçable; Un objet peut avoir plusieurs propriétés(sommation) OBJECT_TYPE_NAME$(0)="MAIN_FORM" : OBJECT_TYPE_HANDLE(0)=7 OBJECT_TYPE_NAME$(1)="SCENE3D" : OBJECT_TYPE_HANDLE(1)=1 OBJECT_TYPE_NAME$(2)="BUTTON" : OBJECT_TYPE_HANDLE(2)=1 OBJECT_TYPE_NAME$(3)="EDIT" : OBJECT_TYPE_HANDLE(3)=1 OBJECT_TYPE_NAME$(4)="MEMO" : OBJECT_TYPE_HANDLE(4)=1 OBJECT_TYPE_NAME$(5)="COMBO" : OBJECT_TYPE_HANDLE(5)=3 OBJECT_TYPE_NAME$(6)="ALPHA" : OBJECT_TYPE_HANDLE(6)=2 OBJECT_TYPE_NAME$(7)="FORM" : OBJECT_TYPE_HANDLE(7)=7 OBJECT_TYPE_NAME$(8)="LIST" : OBJECT_TYPE_HANDLE(8)=3 OBJECT_TYPE_NAME$(9)="PICTURE" : OBJECT_TYPE_HANDLE(9)=2 OBJECT_TYPE_NAME$(10)="CHECK" : OBJECT_TYPE_HANDLE(10)=1 OBJECT_TYPE_NAME$(11)="OPTION" : OBJECT_TYPE_HANDLE(11)=1 OBJECT_TYPE_NAME$(12)="MAIN_MENU" : OBJECT_TYPE_HANDLE(12)=25 OBJECT_TYPE_NAME$(13)="SUB_MENU" : OBJECT_TYPE_HANDLE(13)=25 :' doit être associé à 'main_menu' pour être visible OBJECT_TYPE_NAME$(14)="SOUND" : OBJECT_TYPE_HANDLE(14)=25 OBJECT_TYPE_NAME$(15)="MOVIE" : OBJECT_TYPE_HANDLE(15)=1 OBJECT_TYPE_NAME$(16)="TRACK_BAR" : OBJECT_TYPE_HANDLE(16)=1 OBJECT_TYPE_NAME$(17)="OPEN_DIALOG" : OBJECT_TYPE_HANDLE(17)=25 OBJECT_TYPE_NAME$(18)="SAVE_DIALOG" : OBJECT_TYPE_HANDLE(18)=25 OBJECT_TYPE_NAME$(19)="SCROLL_BAR" : OBJECT_TYPE_HANDLE(19)=1 OBJECT_TYPE_NAME$(20)="PROGRESS_BAR" : OBJECT_TYPE_HANDLE(20)=1 OBJECT_TYPE_NAME$(21)="SPIN" : OBJECT_TYPE_HANDLE(21)=1 OBJECT_TYPE_NAME$(22)="GRID" : OBJECT_TYPE_HANDLE(22)=3 OBJECT_TYPE_NAME$(23)="CONTAINER" : OBJECT_TYPE_HANDLE(23)=1 OBJECT_TYPE_NAME$(24)="MEMO_RICH" : OBJECT_TYPE_HANDLE(24)=0 OBJECT_TYPE_NAME$(25)="BUTTON_PICTURE" : OBJECT_TYPE_HANDLE(25)=1 OBJECT_TYPE_NAME$(26)="DLIST" : OBJECT_TYPE_HANDLE(26)=24 OBJECT_TYPE_NAME$(27)="SCENE2D" : OBJECT_TYPE_HANDLE(27)=1 OBJECT_TYPE_NAME$(28)="TIMER" : OBJECT_TYPE_HANDLE(28)=24 OBJECT_TYPE_NAME$(29)="PANEL" : OBJECT_TYPE_HANDLE(29)=1 OBJECT_TYPE_NAME$(30)="_" : OBJECT_TYPE_HANDLE(30)=0 OBJECT_TYPE_NAME$(31)="MAIN_MENU_POP" : OBJECT_TYPE_HANDLE(31)=0 OBJECT_TYPE_NAME$(32)="CONTAINER_OPTION" : OBJECT_TYPE_HANDLE(32)=1 OBJECT_TYPE_NAME$(33)="OPEN_DIALOG_PIC" : OBJECT_TYPE_HANDLE(33)=25 OBJECT_TYPE_NAME$(34)="SAVE_DIALOG_PIC" : OBJECT_TYPE_HANDLE(34)=25 OBJECT_TYPE_NAME$(35)="SHAPE" : OBJECT_TYPE_HANDLE(35)=0 OBJECT_TYPE_NAME$(36)="HVIEWER" : OBJECT_TYPE_HANDLE(36)=1 OBJECT_TYPE_NAME$(37)="SERIAL" : OBJECT_TYPE_HANDLE(37)=8 OBJECT_TYPE_NAME$(38)="LED1" : OBJECT_TYPE_HANDLE(38)=0 OBJECT_TYPE_NAME$(39)="DIGIT1" : OBJECT_TYPE_HANDLE(39)=0 OBJECT_TYPE_NAME$(40)="SWITCH1" : OBJECT_TYPE_HANDLE(40)=0 OBJECT_TYPE_NAME$(41)="IMAGE" : OBJECT_TYPE_HANDLE(41)=8 :' Pourquoi 'image' est déplaçable? bug? OBJECT_TYPE_NAME$(42)="CONTAINER_TAB" : OBJECT_TYPE_HANDLE(42)=1 OBJECT_TYPE_NAME$(43)="TAB" : OBJECT_TYPE_HANDLE(43)=9 :' doit être associé à 'container_tab' pour être visible / Pourquoi 'tab' est déplaçable? bug? OBJECT_TYPE_NAME$(44)="_" : OBJECT_TYPE_HANDLE(44)=0 OBJECT_TYPE_NAME$(45)="_" : OBJECT_TYPE_HANDLE(45)=0 OBJECT_TYPE_NAME$(46)="SYNEDIT" : OBJECT_TYPE_HANDLE(46)=0 OBJECT_TYPE_NAME$(47)="CHART" : OBJECT_TYPE_HANDLE(47)=0 OBJECT_TYPE_NAME$(48)="_" : OBJECT_TYPE_HANDLE(48)=0 OBJECT_TYPE_NAME$(49)="_" : OBJECT_TYPE_HANDLE(49)=0 end_if ' select typ% case 0 : form obj% :' donne les mêmes résultats que le form 0 case 1 : scene3d obj% case 2 : button obj% case 3 : edit obj% case 4 : memo obj% case 5 : combo obj% case 6 : alpha obj% case 7 : form obj% case 8 : list obj% case 9 : picture obj% case 10: check obj% case 11: option obj% case 12: main_menu obj% case 13: sub_menu obj% case 14: sound obj% case 15: movie obj% case 16: track_bar obj% case 17: open_dialog obj% case 18: save_dialog obj% case 19: scroll_bar obj% case 20: progress_bar obj% case 21: spin obj% case 22: grid obj% case 23: container obj% case 24: memo_rich obj% case 25: button_picture obj% case 26: dlist obj% case 27: scene2d obj% case 28: timer obj% case 29: panel obj% case 30: ' case 31: main_menu_pop obj% case 32: container_option obj% case 33: open_dialog_pic obj% case 34: save_dialog_pic obj% case 35: shape obj% case 36: hviewer obj% case 37: serial obj% case 38: led1 obj% case 39: digit1 obj% case 40: switch1 obj% case 41: image obj% case 42: container_tab obj% case 43: tab obj% case 44: ' case 45: ' case 46: synedit obj% case 47: chart obj% case 48: ' case 49: ' end_select end_sub
' tester les évènements sub TEST_EVENT(nb%,obj%) if variable("EVENT_NAME$")=0 dim EVENT_NAME$(15) EVENT_NAME$(1)="ON_ACTIVATE" EVENT_NAME$(2)="ON_CHANGE" EVENT_NAME$(3)="ON_CLICK" EVENT_NAME$(4)="ON_CLOSE" EVENT_NAME$(5)="ON_DOUBLE_CLICK" EVENT_NAME$(6)="ON_KEY_DOWN" EVENT_NAME$(7)="ON_KEY_UP" EVENT_NAME$(8)="ON_MOUSE_DOWN" EVENT_NAME$(9)="ON_MOUSE_MOVE" EVENT_NAME$(10)="ON_MOUSE_UP" EVENT_NAME$(11)="ON_MOVE" EVENT_NAME$(12)="ON_RESIZE" EVENT_NAME$(13)="ON_SHOW" EVENT_NAME$(14)="ON_TIMER" EVENT_NAME$(15)="ON_USER_EVENT" if label("null_event")=0 then label null_event dim result dim check_event_nb end_if ' if nb%>0 result=1 select nb% case 1: check_event_nb=1 : on_activate obj%,null_event :' off_activate obj% case 2: check_event_nb=2 : on_change obj%,null_event :' off_change obj% case 3: check_event_nb=3 : on_click obj%,null_event :' off_click obj% case 4: check_event_nb=4 : on_close obj%,null_event :' off_close obj% case 5: check_event_nb=5 : on_double_click obj%,null_event :' off_double_click obj% case 6: check_event_nb=6 : on_key_down obj%,null_event :' off_key_down obj% case 7: check_event_nb=7 : on_key_up obj%,null_event :' off_key_up obj% case 8: check_event_nb=8 : on_mouse_down obj%,null_event :' off_mouse_down obj% case 9: check_event_nb=9 : on_mouse_move obj%,null_event :' off_mouse_move obj% case 10: check_event_nb=10 : on_mouse_up obj%,null_event :' off_mouse_up obj% case 11: check_event_nb=11 : on_move obj%,null_event :' off_move obj% case 12: check_event_nb=12 : on_resize obj%,null_event :' off_resize obj% case 13: check_event_nb=13 : on_show obj%,null_event :' off_show obj% :' NB:la commande 'off_show obj%' ne fonctionne pas sur un tab case 14: check_event_nb=14 : on_timer obj%,null_event :' timer_off obj% case 15: result=0 : check_event_nb=15 : on_user_event null_event :' off_user_event obj% :' impossible d'obtenir un erreur car pas d'objet associé à cet évènement, donc on renvoi 0 end_select end_if exit_sub ' null_event: return end_sub
Pour les propriétés, la je ne peux pas t'aider | |
|
| |
Contenu sponsorisé
| Sujet: Re: Créateur d'objets Panoramic | |
| |
|
| |
| Créateur d'objets Panoramic | |
|