| KGF_dll - nouvelles versions | |
|
+13The Gamer Nardo26 silverman Minibug Pedro mindstorm pascal10000 Jicehel papydall Jean Claude JL35 Yannick Klaus 17 participants |
|
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: KGF_dll - nouvelles versions Jeu 5 Nov 2015 - 0:03 | |
| Merci Klaus ! je n'avais pas percuté sur le Web Browser, mais avec le WBDelete tout rentre dans l'ordre, et la page apparaît bien comme il faut, et ça me convient très bien comme ça pour convertir des fichiers html en txt en local sur le pc. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 5 Nov 2015 - 0:26 | |
| | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 5 Nov 2015 - 19:16 | |
| Nouvelle version: KGF.dll V5.28 du 05/11/2015
Nouveautés: - Nouvelles fonctions WBHtmlToMemo et WB_HtmlToMemo
Modules modifiés: KGF.dll KGF.chm
La doc et les sources sont à jour. Toujours sur le site miroir et le WebDav !
Ces nouvelles fonctions agissent comme WBCopyToMemo et WB_CopyToMemo, sauf que c'est code code HTML complet est copié. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 9 Nov 2015 - 10:52 | |
| Nouvelle version: KGF.dll V5.29 du 09/11/2015
Nouveautés: - Nouvelle fonction CountStringInString
Modules modifiés: KGF.dll KGF.chm
La doc et les sources sont à jour. Toujours sur le site miroir et le WebDav !
Cette fonction retourne le nombre d'occurrences d'une chaîne de caractères dans une autre. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 9 Nov 2015 - 22:23 | |
| Nouvelle version: KGF.dll V5.30 du 09/11/2015Nouveautés: - Nouvelle fonction CheckStringDelimiterValidityModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. Toujours sur le site miroir et le WebDav !Cette fonction vérifie la cohérence des délimiteurs de chaînes de caractères dans une chaîne pouvant être multi-ligne (comme le texte d'un mémo, par exemple). On spécifie, en-dehors de la chaîne à analyser, deux chaînes contenant respectivement de délimiteur de début et le délimiteur de fin. Le programme vérifie qu'il y a bien un délimiteur de fin pour chaque délimiteur de début, et vice-versa. Le cas échéant, on retourne une indication sur la nature de l'erreur. Les délimiteurs peuvent être ( et ), [ et ], < et >, etc, pourvu que cela fonctionne par paires de délimiteurs différents. Cela ne marche pas avec le guillemet comme délimiteur. Mais, on peut utiliser par exemple des balises HTML: <div>...</div>. Voici une démo: - Code:
-
' test_CheckStringDelimiterValidity.bas
dim res%, s$, deb$, fin$, crlf$ crlf$ = chr$(13)+chr$(10)
dll_on "KGF.dll"
s$ = "(2+(3-1)*6)/6" deb$ = "(" fin$ = ")" res% = dll_call3("CheckStringDelimiterValidity",adr(s$),adr(deb$),adr(fin$)) message str$(res%)+": "+s$ : ' résulat 0 (ok)
s$ = "(2+(3-1)*6))/6" deb$ = "(" fin$ = ")" res% = dll_call3("CheckStringDelimiterValidity",adr(s$),adr(deb$),adr(fin$)) message str$(res%)+": "+s$ : ' résultat 12 (parenthèse fermée en trop en position 12)
s$ = "<div>....<div>...</div>..." deb$ = "<div>" fin$ = "</div>" res% = dll_call3("CheckStringDelimiterValidity",adr(s$),adr(deb$),adr(fin$)) message str$(res%)+": "+s$ : ' résultat -1 (un </div> manque)
s$ = "if a=b"+crlf$+" message str$(a)"+crlf$+"end_if" deb$ = "if " fin$ = "end_if" res% = dll_call3("CheckStringDelimiterValidity",adr(s$),adr(deb$),adr(fin$)) message str$(res%)+": "+s$ : ' résulat 0 (ok)
end
| |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| |
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 10 Nov 2015 - 0:36 | |
| J'ai mis le WebDav à jour. Un oubli, probablement... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 11 Nov 2015 - 18:23 | |
| Dis-moi exactement ce que tu veux obtenir: 1. le handle de la fenêtre du titre passé en paramètre (c'est ce que tu fais, et tu obtiens le handle de la première fenêtre de ce titre, dans la liste des fenêtres de Windows) 2. le handle de la fenêtre principale (form 0) du programme dont tu passes le titre d'une des fenêtres "fille" 3. le nom de l'exécutable auquel appartient la fenêtre dont tu donnes le titre 4. le handle de la fenêtre principale (form 0) d'un processus dont tu donnes le nom de l'exécutable 5. la liste de toutes les fenêtres "fille" de la fenêtre dont tu donnes le handle 6. la liste de toutes les fenêtres "fille" d'un processus dont tu donnes le nom de l'exécutable ou autre chose ? J'espère que tu n'as pas attrapé le tourni ! Car tout ça, je peux le faire... | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Mer 11 Nov 2015 - 19:21 | |
| Bonsoir klaus Du coup j'ai trouvé une solution alternative a mon problème, c'est pourquoi j'ai retiré mon message. Même si elle manque d'élégance elle fonctionne. En fait ce que je cherchais correspond a ton option 3 : 3. le nom de l'exécutable auquel appartient la fenêtre dont tu donnes le titreMerci Klaus | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 12 Nov 2015 - 0:45 | |
| Nouvelle version: KGF.dll V5.31 du 11/11/2015Nouveautés: - Nouvelle fonction GetWindowProcessNameModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. Toujours sur le site miroir et le WebDav !Cette nouvelle fonction retourne le nom (sans le chemin !) du fichier EXE pour un processus. Pour cela, il faut lui passer le handle d'une des fenêtres de ce processes. Dans le programme de démo suivant, il faut saisir dans l'EDIT du haut une partie, si possible significative, du titre d'une fenêtre active dans Windows. Puis, un clic sur "Chercher" affiche le nom du fichier EXE dans l'EDIT en-dessous: - Code:
-
' test_GetWindowProcessName.bas
label chercher
dim res%, exe$, hnd%, tit$
alpha 1 : top 1,10 : left 1,10 : caption 1,"Titre de la fenêtre:" edit 2 : top 2,10 : left 2,120 : width 2,200 button 3 : top 3,10 : left 3,330 : caption 3,"Chercher" : on_click 3,chercher edit 4 : top 4,40 : left 4,10 : width 4,310
dll_on "KGF.dll"
end
chercher: tit$ = text$(2) hnd% = dll_call2("GetWindowByTitle",1,adr(tit$))
exe$ = string$(255," ") res% = dll_call2("GetWindowProcessName",hnd%,adr(exe$)) text 4,trim$(exe$) return
Ce programme est donné comme exemple dans la documentation de la fonction (section des fonctions de gestion des fenêtres). | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Jeu 12 Nov 2015 - 7:50 | |
| Bonjour Klaus ! Je vais remplacer mes quelques lignes de codes par ta fonction. Ça sera plus propre et moins gourmand en cycles ! Merci pour ta réactivité. | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Jeu 12 Nov 2015 - 17:26 | |
| Bonjour Klaus ! J'ai un problème avec les fonctions du GRID de KGF dans GPP. Les fonctions KGF sur le GRID que j'avais installé il y a quelques mois me données de parfaits résultats et là plus rien. Je n'arrive plus a changer les couleurs d'une ligne ou d'une cellule. Et je me demande si ce n'est pas la fonction 5 ou 8 (qui concerne l'activation des couleurs personnalisées) qui pose problème. J'ai repris le code de ton exemple et il ne se passe rien non plus - Code:
-
dim res%, RGB%, FRGB% grid 17
DLL_ON "C:\Users\ricoh\Documents\Panoramic\GPP\systeme\dll\KGF.dll" ' remplacer ONDRAWCELL, effacer liste des couleurs personnalisées res% = dll_call6("GridFunction",object_internal(17),8,1,0,0,0)
' changer la couleur d'une colonne sans partie fixes RGB(255,255,255) : ' écriture blanche FRGB% = RGB% RGB(255,0,0) : ' fond rouge res% = dll_call6("GridFunction",object_internal(17),7,2,0,RGB%,FRGB%)
' changer la couleur d'une ligne sans parties fixes RGB(255,255,0) : ' écriture jaune FRGB% = RGB% RGB(0,0,255) : ' fond bleu res% = dll_call6("GridFunction",object_internal(17),6,0,3,RGB%,FRGB%)
' changer la couleur d'une cellule, mais pas dans parties fixes RGB(0,0,255) : ' écriture bleue FRGB% = RGB% RGB(255,255,0) : ' fond jaune res% = dll_call6("GridFunction",object_internal(17),2,2,3,RGB%,FRGB%)
END sub RGB(R%,G%,B%) : ' produire une valeur RGB valide RGB% = (B%*256+R%)*256+G% end_sub Je ne comprends pas. Aurais tu modifié quelque chose -------------------------------------------------------------------------- EDIT DE 17h50 : Je viens de tester avec une ancienne version de Panoramic 9.26.6 et tout fonctionne. Donc je pense que cela provient de la dernière version 9.27 ! Peut être est ce a cause du changement que Jack a effectué : - Citation :
- - GRID_COLUMN_FIXED et GRID_ROW_FIXED acceptent maintenant 0 ligne ou 0 colonne
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 12 Nov 2015 - 18:23 | |
| C'est probable, Minibug ! Pour ma part, je reste toujours à le version V0.26 du 30 Juin 2015, qui fonctionne parfaitement. Il y a encore trop de bugs dans la V0.27i2 pour que je puisse m'en servir. Dommage, mais je suis très patient... | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Jeu 12 Nov 2015 - 20:11 | |
| Oui mais si personne ne teste comment on pourra trouver les bugs ?
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 0:49 | |
| Nouvelle version: KGF.dll V5.32 du 12/11/2015Nouveautés: - Nouvelle fonction GetWindowProcessHandlesModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. Toujours sur le site miroir et le WebDav !Cette nouvelle fonction retourne dans un mémo Panoramic (qui peut être invisible) la liste des processus actifs dans Windows, avec le handle de leur fenêtre principale et le nom de leur EXE. Si le processus est invisible, le handle retourné est 0. Un paramètre permet de choisir de retourner uniquement les processus invisibles, uniquement les processus visibles ou tous les processus. Le programme de démo suivant est placé également dans l'aide de cette fonction, dans la section de la gestion des fenêtres: - Code:
-
' test_GetWindowProcessHandles.bas
label inv, vis, tous
dim res%
dll_on "KGF.dll"
memo 1 : full_space 1 : bar_both 1 height 1,height(1) - 40 : top 1,40 button 11 : top 11,10 : left 11,10 : caption 11,"Invisibles" : on_click 11,inv button 12 : top 12,10 : left 12,10 : caption 12,"Visibles" : on_click 12,vis : left 12,left(11)+100 button 13 : top 13,10 : left 13,10 : caption 13,"Tous" : on_click 13,tous : left 13,left(12)+100
end
inv: clear 1 res% = dll_call2("GetWindowProcessHandles",0,handle(1)) return vis: clear 1 res% = dll_call2("GetWindowProcessHandles",1,handle(1)) return tous: clear 1 res% = dll_call2("GetWindowProcessHandles",2,handle(1)) return
| |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 8:30 | |
| Encore une Fonction intéressante ! Merci Klaus Je testerai plus tard, pour l'instant, je dois avancer dans GPP... | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 10:43 | |
| Bonjour Klaus ! J'ai encore une question Est il possible de récupérer un click de souris sur un objet synedit du style : IF MOUSE_LEFT_DOWN(1730)=1 THEN MESSAGE "clic sur objet synedit"1730 étant l'objet synedit défini auparavant. Merci pour ta réponse | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 14:22 | |
| Je vais voir c que je peux faire... | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 14:33 | |
| J'ai étudié la chose en recupérant le handle par
dll_call3("SyneditFunction",Syn%(1),20,0)
Et après j'ai vu qu'il y avait les fonctions Virtual key code table dont certaines concernant les boutons de la souris.
Peut être est ce une piste... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 19:50 | |
| Question: Est-ce que tu veux une fonction qui t'indique si le bouton gauche de la souris est en position "enfoncée" sur un Synedit (ce qui correspondrait à la fonction MOUSE_LEFT_DOWN), ou est-ce que tu veux savoir quel est le dernier objet cliqué (ce qui correspondrait à NUMBER_CLICK) ?
J'ai un problème avec ça: dans les deux cas, je n'ai aucun moyen de me greffer sur la gestion Panoramic de ces informations.
Voilà ce que je peux faire:
1. ajouter un code opération à SyneditFunction pour retourner le numéro du Synedit actif
2. lors d'un clic gauche, envoyer un texte Znnn dans l'objet EDIT associé au Synedit par la fonction SyneditCreate, indiquant ainsi la réception d'un clic
De toutes façons, tu as un ON_CHANGE sur l'EDIT associé au Synedit, et tu pourrais ainsi savoir par le texte du EDIT qu'il s'agit d'un clic, si le premier caractère est un "Z".
Est-ce qu'une des deux possibilités résoudrait ton problème ? Malheureusement, je ne peux pas le brancher sur la gestion du MouseLeftDown() de Panoramic. Mais avec l'option (2), tu pourrais définir une variable globale de type dim Synedit_Mouse_Left_Down% qui contiendrait le numéro d dernier Synedit cliqué. Et lors de l'évènement ON_CLICK sur l'EDIT associé, tu places le numéro nnnn dans cette variable. Ainsi, en interrogeant cette variable, tu sans si tel ou tel Synedit a été cliqué en dernier.
Mais: je n'ai aucun moyen de remettre cela à zéro si un objet Panoramic est cliqué - voir au début de mon post ! | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 21:13 | |
| Bonsoir Klaus !
En fait s'il est possible d'avoir une variable res% serai parfait : - 1 si left_clic sur l'objet synedit syn% - 2 si right_clic " " " " - 0 si aucun clic " " " " je mettrai cette fonction dans un sous programme déjà existant qui est appelé par timer toutes les secondes.
En fait j'ai commençais a décortiquer tous cela dans les messages précédents mais j'ai pas réussi a faire fonctionner le Virtual key code table par la fonction KGF ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 22:22 | |
| Click droit aussi, maintenant... à étudier. Mais une chose est certaine: je ne peux pas donner une valeur disant "pas de clic". Car, dès que tu as cliqué une fois dans un Synedit, le clic est enregistré, et on a beau cliquer dans un objet autre que Synedit, je n'en saurai rien et ne pourrai jamais dire "pas de clic". Tout ce que je pourrais dire c'est que le dernier clic sur un objet Synedit a concerné l'ojet Synedit numéro n.
Le clic droit est géré de façon interne dans Synedit, et je n'y ai pas accès.
Mais je peux envoyer un évènement ON_CHANGE sur l'EDIT associé au Synedit par la fonction SyneditCreate. Malheureusement pas pour le clic droit. A toi de gérer une variable Panoramic qui en garde la trace, dans la routine ON_CHANGE associée. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 22:25 | |
| Nouvelle version: KGF.dll V5.33 du 13/11/2015
Nouveautés: - le clic gauche dans un objet Synedit déclence maintenant un message "<nnn" dans l'EDIT associé
Modules modifiés: KGF.dll KGF.chm
La doc et les sources sont à jour. Toujours sur le site miroir et le WebDav !
Voilà ce que je peux faire de mieux, dans la gestion des clics dans un Synedit. Mais on a aussi l'évèmenent "Annn" qui se déclanche lorsque l'objet est "activé". | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 22:39 | |
| J'ai décidément bien du mal avec cette fonction Synedit ! Je vais regarder tout ça. Je te remercie pour ta réactivité klaus. Bonne soirée. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 13 Nov 2015 - 23:38 | |
| Ce n'est pas étonnant, Minibug ! Avec l'objet Tableur, c'est la partie la plus complexe de KGF.dll. Et comme avec le tableur, c'est juste l'intégration d'un outil tiers, certes en freeware, mais pas conçu et créé par moi. et donc, soumis à des contraintes que je ne maîtrise pas totalement. | |
|
| |
Contenu sponsorisé
| Sujet: Re: KGF_dll - nouvelles versions | |
| |
|
| |
| KGF_dll - nouvelles versions | |
|