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 |
|
|
| Aide à la génération de code avec fonctions KGF.dll | |
| | Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Aide à la génération de code avec fonctions KGF.dll Jeu 6 Aoû 2020 - 15:36 | |
| J'ai fait une petite démonstration comment on peut faire aisément une génération d'une maquette de code pour un appel d'une fonction de KGF.dll. Ceci concerne évidemment les générateurs de code ou gestionnaires de projet ayant pour but de produire du code Panoramic (PP2, ...). Téléchargez à partir de mon WebDav le petit fichier " KGF DLL fonctions exportées 06 08 2020.txt" (trop long pour être posté ici !). Ce fichier se trouve dans le dossier " KGF DLL" là où il y a aussi KGF.dll !. Puis exécutes le programme suivant. Il faut saisir le nom de la fonction souhaitée (ou une partie du nom à condition que ce soit une partie significative), puis cliquez sur me bouton. Instantanément, la syntaxe s'affiche dans le champ en-dessous: - Code:
-
' KGF dll modèle de syntaxe pour éditeurs Panoramic.bas label chercher dim nom$, n%, i%, nom1$
width 0,800 alpha 1 : top 1,10 : left 1,10 : caption 1,"Fonction à chercher:" edit 2 : top 2,10 : left 2,130 : width 2,300 button 3 : top 3,10 : left 3,440 : caption 3,"Chercher" : on_click 3,chercher alpha 4 : top 4,40 : left 4,10 : caption 4,"Syntaxe: edit 5 : top 5,40 : left 5,130 : width 5,500
dlist 6 : file_load 6,"KGF DLL fonctions exportées 06 08 2020.txt"
end
chercher: nom$ = trim$(text$(2)) if nom$="" message "Il faut donner un nom de fonction !" return end_if n% = count(6) for i%=1 to n% nom1$ = item_read$(6,i%) if instr(nom1$,nom$)>0 text 5,nom1$ return end_if next i% message "La fonction "+nom$+" n'est pas trouvée."
return
| |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Jeu 6 Aoû 2020 - 18:11 | |
| Bonsoir Klaus ! Merci pour ce partage. Du coup je propose une version un peu différente avec un résultat sous forme de LIST. Etant souvent confronté à la recherche des fonctions de KGF, je trouve se mode plus souple... - Code:
-
' KGF dll modèle de syntaxe pour éditeurs Panoramic.bas LABEL chercher , memoriser DIM n%, i%
WIDTH 0,900 : HEIGHT 0,520 ALPHA 1 : TOP 1,10 : LEFT 1,5 : FONT_SIZE 1,10 : CAPTION 1,"Fonction à chercher:" EDIT 2 : TOP 2,10 : LEFT 2,130 : WIDTH 2,300 BUTTON 3 : TOP 3,10 : LEFT 3,440 : CAPTION 3,"Chercher" : ON_CLICK 3,chercher ALPHA 4 : TOP 4,40 : LEFT 4,10 LIST 5 : HIDE 5 : TOP 5,60 : LEFT 5,5 : WIDTH 5,(WIDTH_CLIENT(0)-10) : HEIGHT 5,380 : ON_CLICK 5,memoriser DLIST 6 : FILE_LOAD 6,"KGF DLL fonctions exportées 06 08 2020.txt" ALPHA 7 : TOP 7,450 : LEFT 7,5 : TOP 7,HEIGHT_CLIENT(0)-40 : FONT_SIZE 7,10
END
chercher: CAPTION 4,"Recherche des syntaxes correspondantes..." CAPTION 7,"Cliquez sur la ligne correspondante pour la mémoriser dans presse_papier de Windows" HIDE 5 : CLEAR 5 : i%=0 : PAUSE 100 FOR n%=1 TO COUNT(6) IF INSTR(ITEM_READ$(6,n%),TEXT$(2))<>0 THEN ITEM_ADD 5,ITEM_READ$(6,n%) : i%=i%+1 NEXT n% CAPTION 4,"Syntaxe(s) trouvée(s) : "+STR$(i%)+" / "+STR$(COUNT(6)) SHOW 5 : SHOW 7 RETURN
memoriser: CLIPBOARD_STRING_COPY ITEM_READ$(5,ITEM_INDEX(5)) CAPTION 7,"La ligne suivante est mémorisée dans le presse_papier : "+CHR$(13)+ITEM_READ$(5,ITEM_INDEX(5)) RETURN
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Ven 7 Aoû 2020 - 15:54 | |
| Intéressant ! Autre solution, avec affichage dynamique des solutions possibles lors de la frappe du critère dans le premier champ. Un clic dans la liste affiche le résultat en bas et mémorise la ligne dans le presse-papier: - Code:
-
' KGF dll modèle de syntaxe pour éditeurs Panoramic avec LIST.bas label chercher, change, choix dim nom$, n%, i%, nom1$
width 0,800 : height 0,700 alpha 1 : top 1,10 : left 1,10 : caption 1,"Fonction à chercher:" edit 2 : top 2,10 : left 2,130 : width 2,300 : on_change 2,change list 21 : top 21,40 : left 21,10 : width 21,500 : height 21,500 : on_click 21,choix file_load 21,"KGF DLL fonctions exportées 06 08 2020.txt" ' on_change 2,filtrer button 3 : top 3,10 : left 3,440 : caption 3,"Chercher" : on_click 3,chercher alpha 4 : top 4,570 : left 4,10 : caption 4,"Syntaxe: ' edit 5 : top 5,40 : left 5,130 : width 5,500 edit 5 : top 5,570 : left 5,130 : width 5,500
dlist 6 : file_load 6,"KGF DLL fonctions exportées 06 08 2020.txt"
end
change: nom$ = lower$(trim$(text$(2))) clear 21 for i%=1 to count(6) nom1$ = item_read$(6,i%) if nom$="" item_add 21,nom1$ else if instr(lower$(nom1$),nom$)<>0 then item_add 21,nom1$ end_if next i% return choix: text 5,item_read$(21,item_index(21)) clipboard_string_copy text$(5) return
chercher: nom$ = lower$(trim$(text$(2))) if nom$="" message "Il faut donner un nom de fonction !" return end_if n% = count(6) for i%=1 to n% nom1$ = item_read$(6,i%) if instr(lower$(nom1$),nom$)>0 text 5,nom1$ clipboard_string_copy nom1$ return end_if next i% message "La fonction "+nom$+" n'est pas trouvée."
return
EDITCeci dit, la première version que j'avais postée, était surtout destinée à être utilisée dans un éditeur de code. Par exemple, si le curseur est placé dans un nom de fonction complet, le code significatif du programme permettrait de remplacer ce nom de fonction par une ligne contenant la definition de ma syntaxe. Il ne restera plus qu'à renseigner les paramètres... Les autres exemples sont surtout dédiés à constituer la base d'une fenêtre auxilaire appelée par un bouton ou un eligne d'un menu, injectant alors la définition choisie dans le code. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Ven 7 Aoû 2020 - 20:22 | |
| Bonsoir Klaus ! Oui c'est ce que j'avais commencé a faire mais je trouvais qu'il n'y avait pas assez de réactivité. C'est pourquoi j'ai changé d'optique et j'ai préféré la liste... Mais c'est une bonne idée aussi. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Ven 7 Aoû 2020 - 23:20 | |
| Jusqu'à maintenant, j'ai codé tout cela en 100 % Panoramic. Par congtre, si je fais cela dans une fonction de KGF.dll, les performances seraient toutes autres ! Cela t'intéresserait-il ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 1:05 | |
| Tiens, en avant-première, teste ceci (après avoir rechargé KGF.dll bien sûr !): - Code:
-
' test_LestSelector..bas
dim res%, LS%, fichier$
dll_on "KGF.dll"
height 0,800
edit 1 : top 1,480 : left 1,10 : width 1,300 ' on_change 1,........ ici,, on intercepte le fait que l'utilisateur a fait son choix !
fichier$ = "KGF DLL fonctions exportées 06 08 2020.txt" LS% = dll_call6("CreateListSelector",handle(0),30,40,300,400,adr(fichier$)) res% = dll_call2("SetListSelectorResultEdit",LS%,handle(1)) res% = dll_call2("ShowListSelector",LS%,1)
end
Je crois que tu seras surpris... | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 7:47 | |
| Bonjour Klaus, J'ai bien téléchargé la dernière version de KGF mais : Ce qui serai top aussi c'est d'avoir un texte explicatif de la fonction lorsqu'elle est sélectionnée. Et même encore mieux l'exemple qui va avec... un peu à la façon des mots clefs de Panoramic. Çà permettrai de se mettre 'dans le bain' direct si tu vois ce que je veux dire... Je sais que là j'en demande beaucoup mais c'est sûr que ça simplifierai l'usage de KGF ! Combien de fois je retourne sur ton site pour voir les exemples et ensuite mettre en oeuvre les fonctions concernées. Car il faut bien l'avouer, KGF n'est pas des plus simples pour un néophyte...
Dernière édition par Minibug le Sam 8 Aoû 2020 - 10:49, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 8:20 | |
| J'ai recréé KGF.zip et ke l'ai republié sur mon site. Il y a dû y a voir une confusion. Rechqrge à partir de mon site (dans ma signature), mais pas à partir de mon WebDav... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 9:20 | |
| J'ai ajouté 2 modifications: 1. Dans KGFdll, la frappe d'une touche Echap lors de la saisie du critère abandonne la saisie et ferme la fenêtre (elle peut être réaffichée par ShowListSelector). 2. Dans le programme Panoramic, j'ai ajouté le code pour la prise en charge d'une sélection. Il faut recharger KGF.dll à partir de mon site. - Code:
-
' test_LestSelector..bas
label choix
dim res%, LS%, fichier$
dll_on "KGF.dll"
height 0,800
edit 1 : top 1,480 : left 1,10 : width 1,300 on_change 1,choix : ' ici,, on intercepte le fait que l'utilisateur a fait son choix !
fichier$ = "KGF DLL fonctions exportées 06 08 2020.txt" LS% = dll_call6("CreateListSelector",handle(0),30,40,300,400,adr(fichier$)) res% = dll_call2("SetListSelectorResultEdit",LS%,handle(1)) res% = dll_call2("ShowListSelector",LS%,1)
end
choix: message "Syntaxe choisie: "+chr$(13)+chr$(10)+text$(1) return
En fait, ces fonctions peuvent être utilisées avec n'importe quel fichier texte. Pas seulement pour la liste des syntaxes des fonctions KGF.dll. C'est un puissant outil de sélection. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 10:48 | |
| Désolé Klaus mais ça ne marche pas !
toujours le même message quelque soit l'endroit d'où je charge KGF c'est la version de 9h15... | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 11:06 | |
| Bonjour à tous ! Je me permets d'intervenir dans votre échange. Chez moi, ça fonctionne bien, y compris la touche Echap. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 11:57 | |
| La bonne version est bien celle de 9h15 d'aujourd'hui. Il faut la télécharger de mon site, PAS de mon WebDav.
Attention: il se peut que le cache de l'explorateur joue des tours. Vide le cache avant de recharger à nouveau...
Merci, Marc, pour ta confirmation ! | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 12:33 | |
| Çà y est j'ai compris !
Cela ne vient pas de la dll KGF mais du chemin dans l'éditeur Panoramic.
Habituellement j'indique juste 'KGF.dll' et je la dépose dans le même dossier que le programme. Mais là rien à faire. il a fallut que j'indique le chemin complet pour qu'il me lance correctement le programme.
Bizarre cette histoire... Enfin ça fonctionne et c'est le principal ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll Sam 8 Aoû 2020 - 12:42 | |
| Très bien !
Je vais faire la doc complète et publier une nouvelle version officielle. | |
| | | Contenu sponsorisé
| Sujet: Re: Aide à la génération de code avec fonctions KGF.dll | |
| |
| | | | Aide à la génération de code avec fonctions KGF.dll | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |