| Début d'un constructeur d'un GUI Panoramic | |
|
|
|
Auteur | Message |
---|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Lun 4 Avr 2022 - 10:38 | |
| Merci Klaus pour ces explications détaillées. Ca fonctionne aussi chez moi ! | |
|
| |
Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: MOCKUP Lun 4 Avr 2022 - 10:50 | |
| Bonjour à tou(te)s
Recevez mes meilleurs encouragements pour ce projet COLLABORATIF et hautement nécessaire. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| |
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Lun 4 Avr 2022 - 13:08 | |
| oui effectivement ! Je t'invite aussi à tester ce que j'ai fait et à l'occasion donne moi ton avis pas seulement sur le designer mais sur l'ensemble. J'était parti sur un fonctionnement en pur Panoramic. Ce qui explique que je n'avais pas intégré KGF jusqu'à présent. J'avais déjà développé mon propre TREEVIEW et tout le système de sélection des objets. Je ne pense donc pas intégrer tout ça dans cette version mais peut être pour une prochaine version... Merci Kaus | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Lun 4 Avr 2022 - 13:32 | |
| J'ai joué un peu avec ton Editeur d'Objets.
L'idée est séduisante et la présentation de l'interface claire et intuitive. On voit que ce n'est pas encore complet mais ce n'est pas un problème pour évaluer le projet globalement.
Par contre, on ne voit pas bien l'utilité des 4 fenêtres en bas contenant un GRID - il n'y a même pas un titre de fenêtre pour guider un peu.
Les objets se placent bien dans la form, et on les gère par le Designer, apparemment. Par contre, ni les nouvelles coordonnées ni les nouvelles dimensions n'apparaissent dans les propriétés montrées dans le fenêtre principale. Pas encore implémenté ?
Le changement des propriétés telles que position ou dimensions dans le tableau n'a pas d'effet visuel sur l'objet visuel.
Bref, un beau début prometteur. La page de déplacement par flèche et la page de duplication est également une idée intéressante et intuitive, mais c'est également sans effet concret pour le moment. | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Lun 4 Avr 2022 - 14:05 | |
| - Citation :
- Par contre, on ne voit pas bien l'utilité des 4 fenêtres en bas contenant un GRID
Oui c'est pour le débogage du treeview - Citation :
- Par contre, ni les nouvelles coordonnées ni les nouvelles dimensions n'apparaissent dans les propriétés
Le changement des propriétés telles que position ou dimensions dans le tableau n'a pas d'effet visuel sur l'objet visuel. La page de déplacement par flèche et la page de duplication est également une idée intéressante et intuitive Normal ce n'est pas encore configuré ! - Citation :
- L'idée est séduisante et la présentation de l'interface claire et intuitive.
Bref, un beau début prometteur. Merci Pour ce retour Klaus ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Lun 4 Avr 2022 - 23:58 | |
| Dans GUI_Builder, j'ai ajouté une protection contre la tentative d'attacher un objet à un autre par la commande PARENT lorsque Panoramic ne le permet pas. Ce cas est maintenant intercepté par ON_ERROR_GOTO et la valeur de la propriété PARENT retourne à 0. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Sam 9 Avr 2022 - 19:54 | |
| J'ai automatisé et sécurisé l'affectation d'un parent à un objet. J'appelle cette fonctionnalité "parent automatique". Il y a un nouveau cadre avec ce titre, en haut au milieu. Par défaut, le libellé "<aucun>" est affiché. Ceci signifie qu'aucun objet n'est parent automatique et toutes les créations se feront poiur la form 0. Il suffit de sélectionner un objet pouvant recevoir d'autres objets, et de cliquer sur le bouton "Objet actuel". Cet objet deviendra alors le parent autmatique pour tout ajout d'objet par la suite, et son nom s'affiche dans ce petit cadre. A tout moment, on peut en choisir un autre. Un clic sur le bouton "Pas de parent" annule le parent automatique et "<aucun>" sera réaffiché. Lorsqu'on veut ajouter un objet comme parent autmatique qui en réalite ne peut pas être parent, il y a in message d'erreur et le choix est rejeté. Lorsqu'on veut ajouter un objet à un parent automatique qui n'accepte pas vet objet (un EDIT dans un CONTAINER_TAB, par exemple), il y a un message d'errreur et l'objet n'est pas ajouté ay projet. Pour tester, chargez le source sur mon WebDav dossier GUI_Builder ainsi que le prohet test_container_tab. Lancez le source. Choisissez ce projet dans la combo de sélection des projets. Cliquez sur "Ouvrir projet" Répondes "Oui" aux deux questions qui sont posées. Attention à bien attendre le message de fin de chargement ! Sélectionnez maintenant un objet quelconque et tentez de la déclarer parent automatique. Sélectionnez "Container_TAB" et déclarez-le parent autmatique. Ajoutez un objet TAB ==> il viendra automatiquement dans le CONTAINER_TAB Ajoutez un objet EDIT ==> l'ajout sera rejeté car on ne peut pas aouter un EDIT dans un CONTAINER_TAP Sélectinnnez un des objets TAT et déclrez-le parent automatique Ajoutez un objet EDIT ==> il sera ajouté dans le TAB sélectionné Ajoutez un objet TAB ==> l'ajout sera rejeté car un TAB ne peut être ajouté qu'à un CONTAINER_TAB, pas à un TAB Voici le visuel: | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Sam 9 Avr 2022 - 20:11 | |
| Hum je vois que ça avance bien chez toi aussi Klaus ! Moi je me suis battu aujourd'hui pour que la sélection d'objet dans un TAB à partir de la la liste permette de l'afficher quel que soit le niveau ou il se trouve... Oui En fait si tu as plusieurs TABs et que c'est le TAB 1 qui s'affiche et que tu clique dans la liste des objets sur le BUTTON 1 qui lui se trouve sur le TAB 3 cela ne fonctionne pas. Donc j'ai programmer tout ça !!! Je vais tester les nouvelles fonctions de ton programme dans la soirée... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Dim 10 Avr 2022 - 0:46 | |
| - Citation :
- Oui En fait si tu as plusieurs TABs et que c'est le TAB 1 qui s'affiche et que tu clique dans la liste des objets sur le BUTTON 1 qui lui se trouve sur le TAB 3 cela ne fonctionne pas.
Exact. Mais si tu cliques sur le TAB dans la fenêtre, ce dernier s'affiche avec sont Designer associé. La sélection a bien été prise en compte. EDITJ'ai ajouté 1 seule ligne et maintenant, quelque soit le TAB sélectionné dans la liste, il est activé et s'affiche directement, avec son Designer. Voici ma modification: - Code:
-
selectionner_objet: if objet_actuel$<>"" then sauver_objet_actuel() objet_actuel$ = item_index$(n_liste_objets%) typobjet$ = left$(objet_actuel$,instr(objet_actuel$,"_")-1) fichier_objet_actuel$ = "GD_object_"+objet_actuel$+".GDdef" res% = dll_call2("LoadKGFGridFromFile",KG_proprietes%,adr(fichier_objet_actuel$)) sx$ = "Numéro Panoramic" ind% = dll_call5("GetKGFGridRowByValue",KG_proprietes%,1,1,1,adr(sx$)) numero_objet_actuel% = dll_call4("GetKGFGridCellValue",KG_proprietes%,ind%,2,0) if DoDesigner%=1 if DS%<>0 then DS% = dll_call1("DeleteDesigner",DS%) DS% = dll_call6("CreateDesigner",numero_objet_actuel%,handle(parent(numero_objet_actuel%)),handle(n_memo_designer%),object_internal(numero_objet_actuel%),1,3) end_if if typobjet$="TAB" then active numero_objet_actuel% : ' <===== ligne ajoutée return | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Dim 10 Avr 2022 - 11:09 | |
| Tu y es presque Klaus.... Il reste à faire la même chose avec les objets qui sont inclus dans un TAB pour que le TAB en question s'affiche... Exemple de ton programme : - Je suis sur le TAB1 sélectionné à l'écran - Je clic dans la liste sur l'ALPHA2 Et là il faut que le TAB2 s'affiche avec la sélection sur l'ALPHA2 ! Et ce quel que soit le niveau du TAB ou des objets dans le TAB... En fait il faut vérifier que dans le chemin de l'objet sélectionné (Objet parent de.... qui est parent de... etc) s'il y a un TAB. Et si c'est le cas afficher le TAB et ensuite sélectionner l'objet ! C'est ce que j'ai programmé hier... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Dim 10 Avr 2022 - 11:47 | |
| Voici ma solution: j'ai créé une SUB mntrer-TAB(), comme ceci: - Code:
-
sub montrer_TAB() dim_local p%, typ% p% = numero_objet_actuel% typ% = object_type(p%) while typ%<>7 if typ%=43 active p% show p% end_if p% = parent(p%) typ% = object_type(p%) end_while end_sub
selectionner_objet: if objet_actuel$<>"" then sauver_objet_actuel() objet_actuel$ = item_index$(n_liste_objets%) typobjet$ = left$(objet_actuel$,instr(objet_actuel$,"_")-1) fichier_objet_actuel$ = "GD_object_"+objet_actuel$+".GDdef" res% = dll_call2("LoadKGFGridFromFile",KG_proprietes%,adr(fichier_objet_actuel$)) sx$ = "Numéro Panoramic" ind% = dll_call5("GetKGFGridRowByValue",KG_proprietes%,1,1,1,adr(sx$)) numero_objet_actuel% = dll_call4("GetKGFGridCellValue",KG_proprietes%,ind%,2,0) if DoDesigner%=1 if DS%<>0 then DS% = dll_call1("DeleteDesigner",DS%) DS% = dll_call6("CreateDesigner",numero_objet_actuel%,handle(parent(numero_objet_actuel%)),handle(n_memo_designer%),object_internal(numero_objet_actuel%),1,3) end_if montrer_TAB() : ' <======== montrer ici le ou les TABs concernés return | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Dim 10 Avr 2022 - 12:00 | |
| Ca fonctionne parfaitement maintenant. Bravo Klaus pour ce défi relevé en moins d'une heure ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Dim 10 Avr 2022 - 12:14 | |
| Merci, Minibug !
A cette occasion, j'ai remarqué que dans la doc de Panoramic pour la fonction OBJECT_TYPE, il y a deux objets lanquants: type 42 = CONTAINER_TAB type 43 = TAB Sûrement un oubli de Jack après la création de ces objets...
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Lun 11 Avr 2022 - 9:48 | |
| J'ai ajouté la possibilité de supprimer un objet. Pour cela, il fautle sélectionner, puis cliquer sur le bouton "Supprimer" qui apparaît à gauche du bouton "Ajouter".
On peut supprimer des objets de type PANEL, CONTAINER, FORM etc, mais il faut qu'ils soit "vides" (sans objets dépendants). Le programme demande confirmation avant de procéder à la suppression.
Je n'ai pas encore trouvé un moyen de trouver tous les objets éventuellement dépendants de l'objet à supprimer, sachant qu'on peut avoir un TAB contenant un PANEL contenant lui-même un CONTAINER etc. Ceci reste un probl_me à résoudre. | |
|
| |
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Lun 11 Avr 2022 - 11:06 | |
| @Klaus La doc ne comptabilise qu'une trentaine d'objet alors qu'il y a quarante! En voici une liste: select typ% case 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 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 case 34 case 35: shape obj% case 36: hviewer obj% case 37 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 | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Lun 11 Avr 2022 - 11:47 | |
| Merci, Silverman ! Je complète dans mon programme... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Mar 12 Avr 2022 - 0:04 | |
| J'ai mis une nouvelle version de GUI_Builder dans mon WebDav. J'ai résolu le problème de suppression d'objets dans un cas général, y compris des PANEL, CONTAINER etc contenant eux-mêmes des objets de ce genre et ainsi de suite. J'ai fait cela via une SUB pseudo-"réentrante" qui s'appelle elle-même.Pour tester, j'ai ajouté un projet test_suppression, qui donne ceci: On peut sélectionner n'importe quel objet dans la liste et cliquer sur "Supprimer objet". Il disparaît alors de la partie visualisation (normal - c'est Panoramic qui fait ça par la commande DELETE), mais aussi de la liste des objets contenus dans le projet. Dans l'image ci-dessus, un container a été sélectionné qui contient un EDIT et un PANEL. Ce dernier contient à son tour un BUTTON et un EDIT. Ayant selectionné ce CONTAINER comme dans l'image ci-dessus et en cliquant sur le bouton "Supprimer objet", tout le CONAINER disparaît avec ses objets associés, et seuls les deux autres subsistent. Mais un peut aussi bien supprimer n'importe lequel de ces objets - ça marche dans tous les cas. Note: J'ai réalisé cette technique de SUB pseudo-réentrante selon une technique proposée par Papydall, il y a longtemps déjà. Cela reste néanmoins d'actualité, comme on voit. Merci à Papydall pour ce travail de précurseur ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Mer 13 Avr 2022 - 2:56 | |
| J'ai ajouté le début de la gestion des objets invisibles, et j'ai créé la définition du TIMER comme premier objet.
J'ai intégré un TIMER dans le projet test_suppression.
Télécharger le source et ce projet, lancer le source et répondre OUI aux deux questions - les nouvelles descriptions d'objets seront installées automatiquement. Puis, vous verrez le TIMER présent dans la liste des objets du projet.
EDIT 16/04/2022 à 14:55
J'ai ajouté un objet DLIST. Il a été a intégré dans le projet test_suppression également. J'ai également corrigé quelques anomalies d'affichage des propriétés. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Jeu 14 Avr 2022 - 18:14 | |
| J'ai sensiblement amélioré le temps de chargement d'un projet, en jouant sur la partie "sauvegardée" des maquettes des objets (juste les lignes utiles au lieu du KGFGrid entier).
Il faut recharger KGF.dll pour cela. | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Jeu 14 Avr 2022 - 19:05 | |
| Bonsoir Klaus ! J'ai voulu tester la dernière version. Du coup j'ai tout recharger : les zip, le programme et la DLL. - Je charge le builder comme d'habitude - Ensuite le choisi test_suppression - J'ai un premier message ou je répond oui - Ensuite j'ai l'impression que ça bug ! - Je ferme par la croix et la j'ai le message suivant : PS : j'ai tout rechargé 2 fois et toujours le même problème ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Jeu 14 Avr 2022 - 20:22 | |
| Aïe... j'ai été trop confiant... S'il te plaît, remplace la ligne 1765 par: - Code:
-
if file_exists(olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$ Il n'y aura plus de problème (en tout cas pas celui-ci !). | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| |
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Jeu 14 Avr 2022 - 23:57 | |
| Même cause, même punition... il y en avait d'autres, des endroits comme ça. Voici le code du sousprogramme, entre les lignes 1666 et 1836: - Code:
-
ouvrir_projet: text n_co_archive%,"GD_projet_"+text$(n_co_projets%)+".zip" s$ = text$(n_co_archive%) if file_exists(s$)=0 message "Cette archive de projet n'existe pas !" return end_if inactive 0 DoDesigner% = 0 for i%=1 to 200 dernier_numero_objet%(i%) = 0 next i% derniere_ligne_utilisee% = 0 if count(n_liste_objets%)>0 for i%=1 to count(n_liste_objets%) item_select n_liste_objets%,i% objet_actuel$ = item_index$(n_liste_objets%) fichier_objet_actuel$ = "GD_object_"+objet_actuel$+".GDdef" res% = dll_call2("LoadKGFGridFromFile",KG_proprietes%,adr(fichier_objet_actuel$)) s$ = "Numéro Panoramic" ind% = dll_call5("GetKGFGridRowByValue",KG_proprietes%,1,1,1,adr(s$)) num% = dll_call4("GetKGFGridCellValue",KG_proprietes%,ind%,2,0) if object_exists(num%) then delete num% next i% clear n_liste_objets% objet_actuel$ = "" fichier_objet_actuel$ = "" derniere_ligne_utilisee% = DernièreLigne%() s$ = "" res% = dll_call6("SetKGFGridCellRangeType",KG_proprietes%,derniere_ligne_utilisee%+1,100,2,2,1) res% = dll_call6("SetKGFGridCellRangeValue",KG_proprietes%,derniere_ligne_utilisee%+1,100,1,2,adr(s$)) end_if ZIP% = dll_call0("Create7Zip") : ' créer l'objet ZIP res% = dll_call2("CompressedFile7Zip",ZIP%,adr(s$)) : ' définir le fichier ZIP à lire s$ = dir_current$+"\GUI_Builder_temp" CreateTempDir(s$) s1$ = "" res% = dll_call4("Extract7Zip",ZIP%,adr(s$),adr(s1$),handle(n_hidden_memo%)) olddir$ = dir_current$ dir_change s$ s1$ = file_find_first$ k% = 0 while s1$<>"_" p% = 0 if s1$="GD_TEMPLATE.GDdef" : ' contient le template général if message_confirmation_yes_no("Voulez-vous restituer le template général ?")=1 p% = 1 if file_exists(file_delete olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$ file_move s1$,olddir$+"\"+s1$ end_if end_if if left$(s1$,11)="GD_objects_" : ' contient la liste des objets chargés dans le projet p% = 1 file_load n_liste_objets%,s1$ file_delete s1$ end_if if left$(s1$,10)="GD_object_" : ' contient la définition d'un des objets chargés dans le projet p% = 1 if file_exists(file_delete olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$ file_move s1$,olddir$+"\"+s1$ end_if if left$(s1$,9)="GD_types_" : ' contient la liste des types d'objets p% = 1 clear n_combo_objets% file_open_read 1,s1$ while file_eof(1)=0 file_readln 1,s2$ item_add n_combo_objets%,s2$ end_while file_close 1 if file_exists(file_delete olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$ file_move s1$,olddir$+"\"+s1$ end_if if left$(s1$,11)="GD_numeros_" : ' contient la liste des derniers numéros des types d'objets p% = 1 file_open_read 1,s1$ file_readln 1,s2$ prochain_numero_objet% = val(s2$) i% = 0 while file_eof(1)=0 file_readln 1,s2$ i% = i% + 1 dernier_numero_objet%(i%) = val(s2$) end_while file_close 1 file_delete s1$ end_if if p%=0 : ' ici, il ne reste que les templates des objets individuels if k%=0 if message_confirmation_yes_no("Voulez-vous restituer le template des objets ?")=1 k% = 1 : ' remplacer les templates des objets else k% = 2 : ' ne pas remplacer les templates des objets end_if end_if if k%=1 if left$(s1$,1)<>"." if file_exists(olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$ file_move s1$,olddir$+"\"+s1$ end_if end_if end_if s1$ = file_find_next$ end_while file_find_close dir_change ".." ' dir_remove s$ ZIP% = dll_call1("Delete7Zip",ZIP%) : ' supprimer l'objet ZIP s1$ = file_find_first$ while s1$<>"_" ' GD_xxx.GDdef" if left$(s1$,3)="GD_" k% = 1 if left$(s1$,9) ="GD_types_" then k% = 0 if left$(s1$,10)="GD_objects" then k% = 0 if left$(s1$,10)="GD_liste_o" then k% = 0 if left$(s1$,10)="GD_objets_" then k% = 0 if left$(s1$,10)="GD_projet_" then k% = 0 if left$(s1$,10)="GD_numeros" then k% = 0 if left$(s1$,10)="GD_TEMPLAT" then k% = 0 if right$(s1$,6)<>".GDdef" then k% = 0 if instr("0123456789",mid$(s1$,len(s1$)-6,1))>0 then k% = 0 if k%=1 s1$ = mid$(s1$,4,len(s1$)) s1$ = left$(s1$,instr(s1$,".GDdef")-1) if count(n_combo_objets%)>0 k% = 0 for i%=1 to count(n_combo_objets%) if item_read$(n_combo_objets%,i%)=s1$ k% = 1 exit_for end_if next i% if k%=0 then item_add n_combo_objets%,s1$ end_if end_if end_if s1$ = file_find_next$ end_while file_find_close sort n_combo_objets% n% = count(n_liste_objets%) if n%>0 for i%=1 to n% item_select n_liste_objets%,i% objet_actuel$ = item_index$(n_liste_objets%) fichier_objet_actuel$ = "GD_object_"+objet_actuel$+".GDdef" res% = dll_call2("LoadKGFGridFromFile",KG_proprietes%,adr(fichier_objet_actuel$)) afficher_objet_actuel() sauver_objet_actuel() next i% end_if res% = dll_call2("SelectListBoxItem",handle(n_liste_objets%),0) s$ = " " res% = dll_call6("SetKGFGridCellRangeType",KG_proprietes%,1,100,2,2,1) res% = dll_call6("SetKGFGridCellRangeValue",KG_proprietes%,1,100,1,2,adr(s$)) derniere_ligne_utilisee% = 0 objet_actuel$ = "" DoDesigner% = 1 active 0 message "L'archive a été restaurée !"
return J'ai mis le source à jour dans le WebDav. | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic Ven 15 Avr 2022 - 7:51 | |
| Bonjour Klaus ! Toujours le même problème... - J'ai mis le source à jour. Toujours le problème. - J'ai tenté l'ajout entre les lignes 1666 et 1836. Toujours le problème. J'ai toujours une erreur en ligne 1726 ! | |
|
| |
Contenu sponsorisé
| Sujet: Re: Début d'un constructeur d'un GUI Panoramic | |
| |
|
| |
| Début d'un constructeur d'un GUI Panoramic | |
|