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 |
|
|
| KGF_dll - nouvelles versions | |
|
+13The Gamer Nardo26 silverman Minibug Pedro mindstorm pascal10000 Jicehel papydall Jean Claude JL35 Yannick Klaus 17 participants | |
Auteur | Message |
---|
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: KGF_dll - nouvelles versions Dim 11 Oct 2015 - 14:31 | |
| Je viens de télécharger la dernière version. La ligne 20 de la démo provoque une erreur chez moi: - Code:
-
res% = dll_call1("LoadAnyImageFile",adr(img$)) l'erreur est: 'Exception EconvertError in module KGF.dll at 00019CE0' | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 11 Oct 2015 - 14:44 | |
| Est-ce que tu as adapté le chemin vers l'image dans la ligne 12 ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: KGF_dll - nouvelles versions Dim 11 Oct 2015 - 15:01 | |
| | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: KGF_dll - nouvelles versions Dim 11 Oct 2015 - 15:31 | |
| Non, je la trouve où cette image? Tu devrais adapter cette fonction pour qu'elle renvoi un message d'erreur du type 'chemin introuvable'
Edit: ok, c'est bon, ça marche!
Dernière édition par silverman le Dim 11 Oct 2015 - 16:07, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 11 Oct 2015 - 15:57 | |
| Très bien. Comme tu vois, le programme se télécharge son image lui-même. Il est auto-suffisant... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 13 Oct 2015 - 21:50 | |
| Nouvelle version: KGF.dll V5.13 du 013/10/2015Nouveautés: - nouvelle fonction GenerateMaskList Modules modifiés: KGF.dll KGF.chmLa doc, l'aide en ligne et les sources sont à jour. Voici un programme de démo: - Code:
-
dim a$, separ$, mask_separ$, mask_text$, mask_quote$, mask_out$, res%, g$
mask_separ$ = "*" : mask_text$ = "=" : mask_quote$ = "{}"
separ$ = " ,:<>='/*+-" g$ = chr$(34) width 0,1000 : height 0,600 memo 10 : width 10,950 : bar_both 10 : height 10,80 font_name 10,"Courier"
a$ = " For a% = 1 to 10:print " + g$ + "fort de toute expérience" + g$ + ": next a%:if a%>=10 then a%=10: ' fin de la ligne"
mask_out$ = string$(len(a$)," ") dll_on "KGF.dll"
res% = dll_call6("GenerateMask",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),adr(mask_out$)) item_add 10,a$ item_add 10,mask_out$ list 1 : top 1,80 : height 1,480 dlist 2 dim i% res% = dll_call6("GenerateMaskList",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),object_internal(2)) for i%=1 to count(2) item_add 1,item_read$(2,i%) next i% end
Le programme utilise les fonctions GenerateMask et GenerateMaskList. Le résultat de la première est affiché dans me mémo, pour contrôle. Le résultat de la seconde est disponible dans une DLIST qui est ensuite recopiée dans une LIST pour pouvoir visualiser son contenu. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 14 Oct 2015 - 2:58 | |
| Nouvelle version: KGF.dll V5.14 du 014/10/2015Nouveautés: - nouvelle fonction GenerateMaskFragmentsModules modifiés: KGF.dll KGF.chmLa doc, l'aide en ligne et les sources sont à jour. Cette nouvele fonction est identique ) GenerateMaskList, sauf que les fragments eux-même sont retournés dans la DLIST, pas les indices. Voici un programme de démo: - Code:
-
' test_GenerateMaskList.bas dim a$, separ$, mask_separ$, mask_text$, mask_quote$, mask_out$, res%, g$
mask_separ$ = "*" : mask_text$ = "=" : mask_quote$ = "{}"
separ$ = " ,:<>='/*+-" g$ = chr$(34) width 0,1000 : height 0,600 memo 10 : width 10,950 : bar_both 10 : height 10,80 font_name 10,"Courier"
a$ = " For a% = 1 to 10:print " + g$ + "fort de toute expérience" + g$ + ": next a%:if a%>=10 then a%=10: ' fin de la ligne"
mask_out$ = string$(len(a$)," ") dll_on "KGF.dll"
res% = dll_call6("GenerateMask",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),adr(mask_out$)) item_add 10,a$ item_add 10,mask_out$ list 1 : top 1,80 : height 1,480 dlist 2 dim i% res% = dll_call6("GenerateMaskList",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),object_internal(2)) for i%=1 to count(2) item_add 1,item_read$(2,i%) next i% list 3 : top 3,80 : height 3,480 : left 3,width(1) res% = dll_call6("GenerateMaskFragments",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),object_internal(2)) for i%=1 to count(2) item_add 3,item_read$(2,i%) next i%
end | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Mer 14 Oct 2015 - 10:56 | |
| klaus il est très dommage qu'on dois utilisé plusieurs dlist cela m'aurai arrangé si le dlist ce comporterait comme une matrice; avec plusieurs colonnes et de rangées et je pensai que tu allais avoir cette idée c ce qui me manque comme commande utilisé une matrice comme celles qui sont présente sur les calculatrices de texas instrument les ti81 jusqu’à la ti92 enfin c toi qui voit et si c faisable | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 14 Oct 2015 - 13:42 | |
| Malheureusement impossible. Une DLIST est une simple liste. Elle n'a pas la notion de "colonne". De toutes façons, pour pa présente fonction, je en vois pas ce que la notion de "colonne" voudrait dire dans le cas de l'éclatement d'une ligne de texte en fragments, selon l'occurrence de séparateurs. Le résultat ne peut être qu'une simple liste, ou une colonne si tu préfères, mais c'est pareil. Si tu veux remplir un objet GRID à partir de là, il faut faire une boucle sur tous les éléments de la DLIST - élémentaire. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 14 Oct 2015 - 13:44 | |
| Nouvelle version: KGF.dll V5.14 du 014/10/2015Nouveautés: - nouvelle fonction GetHighPerformanceTimerModules modifiés: KGF.dll KGF.chmLa doc, l'aide en ligne et les sources sont à jour. Voilà une démo, mesurant le délai introduit par la commande "pause 200": - Code:
-
dim res%, ticks%, tim1%, tim2%
dll_on "KGF.dll"
ticks% = dll_call1("GetHighPerformanceTimer",0) res% = dll_call1("GetHighPerformanceTimer",1) tim1% = dll_call1("GetHighPerformanceTimer",2) pause 200 tim2% = dll_call1("GetHighPerformanceTimer",2) message str$((tim2%-tim1%)*1000/ticks%) end
Je vous conseille de lire attentivement la doc ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 14 Oct 2015 - 13:53 | |
| Très intéressante cette fonction (comme toutes d' ailleurs). 2+2+2+.... cela fini par faire des secondes voir des minutes cet affaire... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 14 Oct 2015 - 15:16 | |
| Nouvelle version: KGF.dll V5.15 du 014/10/2015Nouveautés: - correction d'un bug dans GenerateMaskList et GenerateMaskFragmentsModules modifiés: KGF.dll KGF.chmLa doc, l'aide en ligne et les sources sont à jour. J'ai dû remplacer l'objet DLIST par un objet LIST (caché par HIDE). Ces deuxc fonctions effacent automatiquement le contenu de cette LIST avant de mettre les nouveaux résultats. Voici le programme de démo adapté: - Code:
-
' test_GenerateMaskList.bas label start dim a$, separ$, mask_separ$, mask_text$, mask_quote$, mask_out$, res%, g$ dim i%
width 0,1000 : height 0,600 list 1 : top 1,80 : height 1,480 list 2 : hide 2 list 3 : top 3,80 : height 3,480 : left 3,width(1) memo 10 : width 10,950 : bar_both 10 : height 10,80 font_name 10,"Courier" button 20 : top 20,120 : left 20,width(1)+width(3)+20 : caption 20,"Start" on_click 20,start
mask_separ$ = "*" : mask_text$ = "=" : mask_quote$ = "{}"
separ$ = " ,:<>='/*+-" g$ = chr$(34)
a$ = " For a% = 1 to 10:print " + g$ + "fort de toute expérience" + g$ + ": next a%:if a%>=10 then a%=10: ' fin de la ligne"
mask_out$ = string$(len(a$)," ") dll_on "KGF.dll" end
start: res% = dll_call6("GenerateMask",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),adr(mask_out$)) item_add 10,a$ item_add 10,mask_out$
clear 1 res% = dll_call6("GenerateMaskList",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),handle(2)) for i%=1 to count(2) item_add 1,item_read$(2,i%) next i%
clear 3 res% = dll_call6("GenerateMaskFragments",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),handle(2)) for i%=1 to count(2) item_add 3,item_read$(2,i%) next i%
return | |
| | | Invité Invité
| Sujet: Re: KGF_dll - nouvelles versions Mer 14 Oct 2015 - 15:36 | |
| J'ai mis 2 à show à droite pour voir. - Spoiler:
|
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 14 Oct 2015 - 15:43 | |
| ??? Voici le code modifié pour montrer la LIST 2: - Code:
-
' test_GenerateMaskList.bas label start dim a$, separ$, mask_separ$, mask_text$, mask_quote$, mask_out$, res%, g$ dim i%
width 0,1000 : height 0,600 list 1 : top 1,80 : height 1,480 list 2 : top 2,80 : left 2,500 : height 2,480 : ' hide 2 list 3 : top 3,80 : height 3,480 : left 3,width(1) memo 10 : width 10,950 : bar_both 10 : height 10,80 font_name 10,"Courier" button 20 : top 20,120 : left 20,width(1)+width(3)+20 : caption 20,"Start" on_click 20,start
mask_separ$ = "*" : mask_text$ = "=" : mask_quote$ = "{}"
separ$ = " ,:<>='/*+-" g$ = chr$(34)
a$ = " For a% = 1 to 10:print " + g$ + "fort de toute expérience" + g$ + ": next a%:if a%>=10 then a%=10: ' fin de la ligne"
mask_out$ = string$(len(a$)+1," ") dll_on "KGF.dll" end
start: res% = dll_call6("GenerateMask",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),adr(mask_out$)) item_add 10,a$ item_add 10,mask_out$
clear 1 res% = dll_call6("GenerateMaskList",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),handle(2)) for i%=1 to count(2) item_add 1,item_read$(2,i%) next i%
clear 3 res% = dll_call6("GenerateMaskFragments",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),handle(2)) for i%=1 to count(2) item_add 3,item_read$(2,i%) next i%
return Et voici le résultat, après le 3ème clic sur "Start": Je ne vois pas où est le problème...
Dernière édition par Klaus le Jeu 15 Oct 2015 - 0:07, édité 1 fois | |
| | | Invité Invité
| Sujet: Re: KGF_dll - nouvelles versions Mer 14 Oct 2015 - 17:16 | |
| apparemment kgf ne s'est pas chargé normalement. Je l'ai repris et l'exemple marche. Reste à voir avec un fichier source. EDIT: bon je n'avais pas modifié la ligne, c'était object_internal je crois au lieu de hande(x) Mais tu devrais modifier mask_out$ comme ceci: mask_out$ = string$(len(aa$)+1," ")car string$() doit avoir le premier paramètre > 0, et si la chaine est vide, il y a erreur. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 0:09 | |
| - Citation :
- object_internal je crois au lieu de hande(x)
Effectivement. Il faut que ce soit handle(x) car j'ai dû passer de DLIST à LIST. La doc est à jour, à ce niveau-là. - Citation :
- mask_out$ = string$(len(aa$)+1," ")
C'est fait. Merci, Cosmos70. | |
| | | Invité Invité
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 0:15 | |
| Est-ce que tu as essayé le programme que j'ai mis, en chargeant un fichier source? Au début ça marche bien, et au bout d'un moment j'ai un blocage de la dll. Si tu n'as rien changé, la commande est inutilisable. (en tout cas chez moi). |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 0:34 | |
| Nouvelle version: KGF.dll V5.16 du 014/10/2015
Nouveautés: - correction d'un bug dans GenerateMaskList et GenerateMaskFragments
Modules modifiés: KGF.dll
La doc est inchangée. Les soruces sont à jour.
Le bug concernait des lignes à analyser dans lesquelles il n'y avait aucun séparateur - un oubli.
| |
| | | Invité Invité
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 0:52 | |
| Apparemment le bug a disparu. Par contre je viens de constater que les chaines sont coupées par les séparateurs. Il me semblait évident pour un programme basic, que ce qui est entre accolades ou guillemets, selon qu'on regarde la ligne basic de départ, ou le texte du masque, de ne pas couper les mots à l'intérieur des chaines. Je ne sais pa si c'est possible aussi d'y inclure les guillemets, mais comme en Panoramic, on n'y arrive pas, je ne sais pas si là on peut.
Je sais je devient chiant, mais le but est la rapidité du code, sinon je n'ai pas besoin de dll. Je ne sais pas si vous avez un intérêt pour ce programme. Si c'est pas le cas, alors ne te casse pas la tête.
Une question: Je regarde les instructions pour imprimer, et là je suis surpris. Je n'avais jamais regardé comment on procédait. Je pensais qu'on imprimait un picture, et je ne sais pas si je continu sur le picture, ou si je dois m'imaginais la programmation sur des lignes pour l'imprimante directement avec les fonctions de texte, sans avoir un aperçu de ce que je fais. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 0:59 | |
| - Citation :
- Par contre je viens de constater que les chaines sont coupées par les séparateurs.
Si j'ai bien compris, tu voudrais avoir dans la LIST de résultat, en une seule ligne tout ce qui se trouve entre guillemts, les guillemets y compris ? Confirme-moi stp si j'ai bien compris. Si c'est cela, c'est faisable sans problème. - Citation :
- Je pensais qu'on imprimait un picture...
Oui, tu peux imprimer un picture, avec les fonctions de KGF.dll. Plus précisément, c'est la fonction PrinterFunction qui le fait, avec le code fonction 7. Bon, il y a un peu de gestion autour à faire, mais c'est cette fonction qui imprime l'image. Tu peux la positionner et dimensionner comme tu veux. | |
| | | Invité Invité
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 1:44 | |
| - Klaus a écrit:
- Si j'ai bien compris, tu voudrais avoir dans la LIST de résultat, en une seule ligne tout ce qui se trouve entre guillemts, les guillemets y compris ? Confirme-moi stp si j'ai bien compris. Si c'est cela, c'est faisable sans problème.
Oui tu as bien compris. La fonction masque, tel qu’elle est définie est pour faire la coloration syntaxique. Donc couper les mots à l'intérieur d'une chaine ne sert pas. Pour l'imprimante, je regarderai plus tard. A cette heure-ci, je dois penser au lendemain, même si c'est déjà commencé. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 1:57 | |
| Nouvelle version: KGF.dll V5.17 du 015/10/2015
Nouveautés: - changement dans GenerateMaskFragments: considérer ".." comme un seul fragment
Modules modifiés: KGF.dll
La doc est inchangée. Les sources sont à jour.
Alors, charge la nouvelle version qui fait ça... | |
| | | Invité Invité
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 7:49 | |
| Merci Klaus, c'est fait et ça marche. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 12:34 | |
| Nouvelle version: KGF.dll V5.18 du 015/10/2015Nouveautés: - correction de bugs dans GenerateMaskFragmentsModules modifiés: KGF.dllLa doc est inchangée. Les sources sont à jour. Et voici le tout appliqué à une visualisation dans un GRID (limité à 500 lignes et 200 colonnes, dans cette version du programme de démo): - Code:
-
' test_GenerateMaskList_cosmos70.bas
dll_on "KGF.dll"
label start, open, montrer dim a$, separ$, mask_separ$, mask_text$, mask_quote$, mask_out$ dim res%, g$ , i% , j , f$ ,h$, lig%, col%, x%, y%
full_space 0 list 2 : hide 2 button 20 : caption 20,"Open" : on_click 20,open button 21 : caption 21,"Start" : on_click 21,start : left 21,width(20)+5 list 5 : left 5,420 : top 5,80 : width 5,500 : height 5,450 : hide 5 grid 3 : full_space 3 : height 3,height(3)-30 : top 3,30 grid_row 3,501 : grid_column 3,201 : on_click 3,montrer for i%=2 to 501 grid_write 3,i%,1,str$(i%-1) next i% for i%=2 to 201 grid_write 3,1,i%,str$(i%-1) next i% open_dialog 6 mask_separ$ = "*" : mask_text$ = "=" : mask_quote$ = "{}" separ$ = " ,:<>='/*+-" : g$ = chr$(34) end ' ============================================ open: f$ = file_name$(6) : if f$ <> "_" then file_load 5,f$ return montrer: x% = mouse_x_left_down(3) y% = mouse_y_left_down(3) col% = grid_x_to_column(3,x%) lig% = grid_y_to_row(3,y%) f$ = grid_read$(3,lig%,col%) message f$ return start: if count(5) > 0 for j = 1 to count(5) if j>500 then exit_for a$ = item_read$(5,j) if a$ <> "" caption 0,a$ +"<<== len(a$)=" + str$(len(a$)) + " j="+str$(j) +" / "+str$(count(5)) mask_out$ = string$(len(a$)+1," ") res% = dll_call6("GenerateMask",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),adr(mask_out$)) res% = dll_call6("GenerateMaskFragments",adr(a$),adr(separ$),adr(mask_separ$),adr(mask_text$),adr(mask_quote$),handle(2)) for i% = 1 to count(2) if count(2) > 0 h$ = item_read$(2,i%) grid_write 3,j+1,i%+1,h$ end_if next i% end_if next j end_if return Un clic sur n'importe quelle case du GRID affiche le contenu complet de la case ! | |
| | | Invité Invité
| Sujet: Re: KGF_dll - nouvelles versions Jeu 15 Oct 2015 - 14:30 | |
| C'est quoi le bug? Est-ce que la version que j'ai chargé ce matin, y est?. J'aurai été perfectioniste, j'aurai demandé autre chose. Non quand-même pas! |
| | | Contenu sponsorisé
| Sujet: Re: KGF_dll - nouvelles versions | |
| |
| | | | KGF_dll - nouvelles versions | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |