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 | |
|
+12JL35 Oscaribout bignono Pedro pascal10000 silverman Jicehel papydall Minibug Marc Yannick Klaus 16 participants | |
Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 30 Juin 2017 - 5:46 | |
| Bravo Klaus ! Cette outils va être très utile dans les progs pour windows. J' ai essayé toute la journée de faire cela en Panoramic mais c' est une galère... tu pourras voir mon rendu dans le nouvel outils que je publie dans la foulée et qui est sur mon webdev sous le nom de PanoLang. Je te laisse découvrir les procédures l' une dans l' autre FormViewDrap() pour le graphisme DefineNbFlags() pour les définitions c' est pas très catho tout çà ... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 30 Juin 2017 - 12:41 | |
| Nouvelle version: KGF.dll V7.79 du 30/06/2017
Nouveautés: - fonction FolderSelect: permettre de remonter dans l'arborescence des dossiers
Modules modifiés: KGF.dll
La doc est inchangée. Les sources sont à jour.
Suite à une remarque de Papydall, j'ai modifié cette fonction pour permettre de remonter dans l'arborescence des dossiers, au-dessus de la "racine" représentant le dossier initialement proposé, et même de changer de disque. Cecie st valable pour la version avec ou sans création de nouveau dossier (gérée par le 3ème paramètre). La doc reste inchangée.
Ceci permet en particulier, avec le programme de démo de mon post précédent, de choisir n'importe quel dossier sur n'importe quel disque? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 8 Juil 2017 - 12:06 | |
| Nouvelle version: KGF.dll V7.81 du 08/07/2017Nouveautés: - KGF.ilb: ajout de nouvelles icônes (370 au total) - nouvel objet: IconButton - nouvelle fonction: GetImageViewFileNameFromPointModules modifiés: KGF.dllLa doc est inchangée. Les sources sont à jour. La doc est en cours de constitution. La démo de l'objet IconButton a été publiée ici. La nouvelle fonction GetImageViewFileNameFromPoint permet d'avoir le nom du fichier associé à une icône de l'objet ImageView, lors du survol du curseur sur l'objet. Dans le programme ci-dessous, cliquez sur le bouton "Créer", puis "Charger", choisissez un dossier contenant des images quelconques. Puis, lorsque le chargement est terminé, passez la souris sur les icônes et observez le libellé en bas de l'écran. Un clic sur une icône donne bien sûr le même nom que celui affiché lors du survol: - Code:
-
' test_ImageView.bas
label creer, charger, vider, supprimer, localiser label haut, pprec, prec, suiv, psuiv, bas, UserEvent label trace, close0
dim res%, IV%, IVhnd%, racine$, dossier$, current$ dim i%, f$, ext$, ind%, dern%, s0$, x0%, y0%, nom$ dim types$ : types$ = ".bmp.jpg.jpeg.gif.ico.png"
full_space 0 button 1 : top 1,10 : left 1,10 : caption 1,"Créer" : on_click 1,creer button 2 : top 2,10 : left 2,110 : caption 2,"Vider" : on_click 2,vider : inactive 2 button 3 : top 3,10 : left 3,200 : caption 3,"Supprimer" : on_click 3,supprimer : inactive 3 button 21 : top 21,10 : left 21,430 : caption 21,"Charger" : on_click 21,charger : inactive 21
dll_on "KGF.dll"
button 101 : top 101,40 : left 101,10 : caption 101,"Haut" : on_click 101,haut : inactive 101 button 102 : top 102,65 : left 102,10 : caption 102,"Page préc." : on_click 102,pprec : inactive 102 button 103 : top 103,90 : left 103,10 : caption 103,"Ligne préc." : on_click 103,prec : inactive 103 button 104 : top 104,115 : left 104,10 : caption 104,"Lign suiv." : on_click 104,suiv : inactive 104 button 105 : top 105,140 : left 105,10 : caption 105,"Page suiv." : on_click 105,psuiv : inactive 105 button 106 : top 106,165 : left 106,10 : caption 106,"Bas" : on_click 106,bas : inactive 106
panel 200 : hide 200 : width 200,250 : color 200,255,255,0 top 200,(screen_y-height(200))/2 : left 200,(screen_x-width(200))/2 caption 200,"Chargement en cours..." font_size 200,16 :font_color 200,255,0,0 : font_bold 200 alpha 30 : top 30,700 : left 30,10 timer 31 : timer_interval 31,200 : on_timer 31,trace
dern% = -1
on_user_event UserEvent on_mouse_move 0,trace on_close 0,close0
end
creer: if IV%<>0 then return ' message "a: "+str$(LV%) IV% = dll_call5("CreateImageView",handle(0),50,50,adr(dern%),adr(IVhnd%)) ' message "b: "+str$(LV%) res% = dll_call5("ImageViewGeometry",IV%,90,40,400,500) inactive 1 active 2 active 3 active 21 return vider: res% = dll_call1("ClearImageView",IV%) for i%=101 to 106 inactive i% next i% dern% = -1 return supprimer: res% = dll_call1("DeleteImageView",IV%) if res%=0 IV% = 0 active 1 inactive 2 inactive 3 inactive 21 for i%=101 to 106 inactive i% next i% end_if dern% = -1 return charger: current$ = dir_current$ racine$ = dir_current$ dossier$ = string$(255," ") res% = DLL_call4("FolderSelect",adr(racine$),adr(dossier$),len(dossier$),0) to_foreground 0 dossier$ = trim$(dossier$) if dossier$="" dir_change current$ return end_if dir_change dossier$ f$ = file_find_first$ inactive 0 show 200 timer_off 31 repeat f$ = file_find_next$ if f$="_" then exit_repeat if Left$(f$,1)<>"." ext$ = lower$(file_extract_extension$(f$)) if instr(types$,ext$)>0 res% = dll_call3("AddImageToImageView",IV%,adr(f$),adr(ind%)) end_if end_if until f$="_" file_find_close active 0 hide 200 message "Chargement de "+str$(ind%+1)+" images terminé"+chr$(13)+chr$(10)+"Dernier indice visible: "+str$(dern%) dir_change current$ for i%=101 to 106 active i% next i% timer_on 31 return haut: res% = dll_call3("ScrollImageView",IV%,1,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return pprec: res% = dll_call3("ScrollImageView",IV%,2,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return prec: res% = dll_call3("ScrollImageView",IV%,3,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return suiv: res% = dll_call3("ScrollImageView",IV%,4,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return psuiv: res% = dll_call3("ScrollImageView",IV%,5,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return bas: res% = dll_call3("ScrollImageView",IV%,6,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return localiser: if dern%<0 then return x% = mouse_x_left_down(100) y% = mouse_y_left_down(100) nom$ = string$(255," ") res% = dll_call4("GetListImageFileName",IV%,x%,y%,adr(nom$)) nom$ = trim$(nom$) message "Indice: "+str$(res%)+" "+nom$ return
UserEvent: if User_Event_LParam<>hex("03000000") then return : ' pas ImageView ? if bin_and(User_Event_WParam,hex("FFFF0000"))<>hex("00010000") then return : ' pas ImageSelect ? ind% = bin_and(User_Event_WParam,hex("0000FFFF")) ' message "WPARAM="+hex$(User_Event_WParam)+" "+"LPARAM="+hex$(User_Event_LParam) nom$ = string$(255," ") res% = dll_call3("GetImageViewFileName",IV%,ind%,adr(nom$)) nom$ = trim$(nom$) message "indice="+str$(ind%)+" "+nom$ return
trace: res% = dll_call3("GetMousePosition",IVhnd%,adr(x0%),adr(y0%)) s0$ = string$(255," ") res% = dll_call4("GetImageViewFileNameFromPoint",IV%,x0%,y0%,adr(s0$)) caption 30,"("+str$(x0%)+","+str$(y0%)+ ") Fichier "+str$(res%)+": "+trim$(s0$) return
close0: timer_off 31 res% = dll_call1("DeleteImageView",IV%) dll_off return
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 8 Juil 2017 - 14:33 | |
| @ Klaus, Il est 14h32 et je n' arrive pas à acceder à ton dossier "Dll" sur ton webdev. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 8 Juil 2017 - 14:47 | |
| Curieux... Pour moi, le WebDav est accessible, et je n'ai mis aucune restriction. Donc, réessaye, ou prends la DLL sur mon site via le lien KGF.dll dans ma signature, ou va directement sur mon site ou mon site miroir - tout est mis à jour. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 8 Juil 2017 - 14:50 | |
| 14h49 ....ouf!...ca y est ! j' ai réussi à télécharger KGF.dll et KGF.ilb. ( peut-être une maintenance du serveur ou un coup de chaud... ) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 9 Juil 2017 - 13:25 | |
| La doc de la dernière version de KGF.dll est à jour - sur le WebDav, sur les deux sites internet et sur la documentation en ligne. Cela concerne particulièrement les nouveaux objets ImageList et IconButton. Par ailleurs, Jack vient de pubier la version PANORAMIC_EDITOR V0 9 28i12 du 08 07 2017. Cette version apporte entre autres la correction du problème d'inversion des valeurs de USER_EVENT_WPARAM et USER_EVENT_LPARAM. Je remets donc ici les codes des 3 programmes de démo pour les nouiveaux objets ci-dessus, tenant compte de cette nouveauté (ne pas oublier d'installer cette version de Panoramic pour cela !): test_ImageView.bas: - Code:
-
' test_ImageView.bas
label creer, charger, vider, supprimer, localiser label haut, pprec, prec, suiv, psuiv, bas, UserEvent label trace, close0
dim res%, IV%, IVhnd%, racine$, dossier$, current$ dim i%, f$, ext$, ind%, dern%, s0$, x0%, y0%, nom$ dim types$ : types$ = ".bmp.jpg.jpeg.gif.ico.png"
full_space 0 button 1 : top 1,10 : left 1,10 : caption 1,"Créer" : on_click 1,creer button 2 : top 2,10 : left 2,110 : caption 2,"Vider" : on_click 2,vider : inactive 2 button 3 : top 3,10 : left 3,200 : caption 3,"Supprimer" : on_click 3,supprimer : inactive 3 button 21 : top 21,10 : left 21,430 : caption 21,"Charger" : on_click 21,charger : inactive 21
dll_on "KGF.dll"
button 101 : top 101,40 : left 101,10 : caption 101,"Haut" : on_click 101,haut : inactive 101 button 102 : top 102,65 : left 102,10 : caption 102,"Page préc." : on_click 102,pprec : inactive 102 button 103 : top 103,90 : left 103,10 : caption 103,"Ligne préc." : on_click 103,prec : inactive 103 button 104 : top 104,115 : left 104,10 : caption 104,"Lign suiv." : on_click 104,suiv : inactive 104 button 105 : top 105,140 : left 105,10 : caption 105,"Page suiv." : on_click 105,psuiv : inactive 105 button 106 : top 106,165 : left 106,10 : caption 106,"Bas" : on_click 106,bas : inactive 106
panel 200 : hide 200 : width 200,250 : color 200,255,255,0 top 200,(screen_y-height(200))/2 : left 200,(screen_x-width(200))/2 caption 200,"Chargement en cours..." font_size 200,16 :font_color 200,255,0,0 : font_bold 200 alpha 30 : top 30,700 : left 30,10 timer 31 : timer_interval 31,200 : on_timer 31,trace
dern% = -1
on_user_event UserEvent on_mouse_move 0,trace on_close 0,close0
end
creer: if IV%<>0 then return ' message "a: "+str$(LV%) IV% = dll_call5("CreateImageView",handle(0),50,50,adr(dern%),adr(IVhnd%)) ' message "b: "+str$(LV%) res% = dll_call5("ImageViewGeometry",IV%,90,40,400,500) inactive 1 active 2 active 3 active 21 return vider: res% = dll_call1("ClearImageView",IV%) for i%=101 to 106 inactive i% next i% dern% = -1 return supprimer: res% = dll_call1("DeleteImageView",IV%) if res%=0 IV% = 0 active 1 inactive 2 inactive 3 inactive 21 for i%=101 to 106 inactive i% next i% end_if dern% = -1 return charger: current$ = dir_current$ racine$ = dir_current$ dossier$ = string$(255," ") res% = DLL_call4("FolderSelect",adr(racine$),adr(dossier$),len(dossier$),0) to_foreground 0 dossier$ = trim$(dossier$) if dossier$="" dir_change current$ return end_if dir_change dossier$ f$ = file_find_first$ inactive 0 show 200 timer_off 31 repeat f$ = file_find_next$ if f$="_" then exit_repeat if Left$(f$,1)<>"." ext$ = lower$(file_extract_extension$(f$)) if instr(types$,ext$)>0 res% = dll_call3("AddImageToImageView",IV%,adr(f$),adr(ind%)) end_if end_if until f$="_" file_find_close active 0 hide 200 message "Chargement de "+str$(ind%+1)+" images terminé"+chr$(13)+chr$(10)+"Dernier indice visible: "+str$(dern%) dir_change current$ for i%=101 to 106 active i% next i% timer_on 31 return haut: res% = dll_call3("ScrollImageView",IV%,1,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return pprec: res% = dll_call3("ScrollImageView",IV%,2,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return prec: res% = dll_call3("ScrollImageView",IV%,3,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return suiv: res% = dll_call3("ScrollImageView",IV%,4,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return psuiv: res% = dll_call3("ScrollImageView",IV%,5,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return bas: res% = dll_call3("ScrollImageView",IV%,6,adr(dern%)) message "Dernier indice visible: "+str$(dern%) return localiser: if dern%<0 then return x% = mouse_x_left_down(100) y% = mouse_y_left_down(100) nom$ = string$(255," ") res% = dll_call4("GetListImageFileName",IV%,x%,y%,adr(nom$)) nom$ = trim$(nom$) message "Indice: "+str$(res%)+" "+nom$ return
UserEvent: if User_Event_WParam<>hex("03000000") then return : ' pas ImageView ? if bin_and(User_Event_LParam,hex("FFFF0000"))<>hex("00010000") then return : ' pas ImageSelect ? ind% = bin_and(User_Event_LParam,hex("0000FFFF")) ' message "WPARAM="+hex$(User_Event_WParam)+" "+"LPARAM="+hex$(User_Event_LParam) nom$ = string$(255," ") res% = dll_call3("GetImageViewFileName",IV%,ind%,adr(nom$)) nom$ = trim$(nom$) message "indice="+str$(ind%)+" "+nom$ return
trace: res% = dll_call3("GetMousePosition",IVhnd%,adr(x0%),adr(y0%)) s0$ = string$(255," ") res% = dll_call4("GetImageViewFileNameFromPoint",IV%,x0%,y0%,adr(s0$)) caption 30,"("+str$(x0%)+","+str$(y0%)+ ") Fichier "+str$(res%)+": "+trim$(s0$) return
close0: timer_off 31 res% = dll_call1("DeleteImageView",IV%) dll_off return
test_IconButton.bas: - Code:
-
' test_IconButton.bas
label creer, supprimer, images, image1, image2, image3, image0, UserEvent label stretch, stretch1, stretch2, stretch3 label imglist, imglist1, imglist2, imglist3, imglist0
dim res%, IBTN1%, IBTN2%, IBTN3%, IL%, nb%, hint$ dim f$, stretch1%, stretch2%, stretch3%, x%, nlist% dim size% : size% = 32 dim m1% : m1% = -1 dim stretch% : stretch% = 0 stretch1% = stretch% stretch2% = stretch% stretch3% = stretch% dim ilb$ : ilb$ = "KGF.ilb"
on_user_event UserEvent
dll_on "KGF.dll"
button 1 : top 1,10 : left 1,10 : caption 1,"Créer" : on_click 1,creer button 2 : top 2,10 : left 2,100 : caption 2,"Supprimer" : on_click 2,supprimer : inactive 2
button 3 : top 3,10 : left 3,220 : caption 3,"Images" : width 3,80 : on_click 3,images : inactive 3 button 31 : top 31,35 : left 31,220 : caption 31,"1" : width 31,20 : on_click 31,image1 : inactive 31 button 32 : top 32,35 : left 32,250 : caption 32,"2" : width 32,20 : on_click 32,image2 : inactive 32 button 33 : top 33,35 : left 33,280 : caption 33,"3" : width 33,20 : on_click 33,image3 : inactive 33 button 39 : top 39,60 : left 39,220 : caption 39,"Effacer" : width 39,80 : on_click 39,image0 : inactive 39
button 4 : top 4,10 : left 4,320 : caption 4,"Stretch on" : width 4,80 : on_click 4,stretch : inactive 4 button 41 : top 41,35 : left 41,320 : caption 41,"1" : width 41,20 : on_click 41,stretch1 : inactive 41 button 42 : top 42,35 : left 42,350 : caption 42,"2" : width 42,20 : on_click 42,stretch2 : inactive 42 button 43 : top 43,35 : left 43,380 : caption 43,"3" : width 43,20 : on_click 43,stretch3 : inactive 43
button 5 : top 5,10 : left 5,420 : caption 5,"ImageList" : width 5,80 : on_click 5,imglist : inactive 5 button 51 : top 51,35 : left 51,420 : caption 51,"1" : width 51,20 : on_click 51,imglist1 : inactive 51 button 52 : top 52,35 : left 52,450 : caption 52,"2" : width 52,20 : on_click 52,imglist2 : inactive 52 button 53 : top 53,35 : left 53,480 : caption 53,"3" : width 53,20 : on_click 53,imglist3 : inactive 53 button 59 : top 59,60 : left 59,420 : caption 59,"Effacer" : width 59,80 : on_click 59,imglist0 : inactive 59
open_dialog 99 : filter 99,"Images|*.ico;*.bmp;*.jpg"
IL% = dll_call2("CreateImageList",16,16) nlist% = dll_call2("LoadImageList",IL%,adr(ilb$)) message ilb$+" contient "+str$(nlist%)+" icônes"
end
creer: x% = 40 IBTN1% = dll_call3("CreateIconButton",handle(0),1,M1%) res% = dll_call6("IconButtonGeometry",IBTN1%,x%,100,size%,size%,stretch1%) hint$ = "Ceci est le bouton 1" res% = dll_call2("SetIconButtonHint",IBTN1%,adr(hint$)) x% = x% + size% IBTN2% = dll_call3("CreateIconButton",handle(0),2,M1%) res% = dll_call6("IconButtonGeometry",IBTN2%,x%,100,size%,size%,stretch2%) hint$ = "Ceci est le bouton 2" res% = dll_call2("SetIconButtonHint",IBTN2%,adr(hint$)) x% = x% + size% IBTN3% = dll_call3("CreateIconButton",handle(0),3,M1%) res% = dll_call6("IconButtonGeometry",IBTN3%,x%,100,size%,size%,stretch3%) hint$ = "Ceci est le bouton 3" res% = dll_call2("SetIconButtonHint",IBTN3%,adr(hint$)) inactive 1 active 2 active 3 active 31 active 32 active 33 active 39 active 4 active 41 active 42 active 43 active 5 active 51 active 52 active 53 active 59 return
supprimer: res% = dll_call1("DeleteIconButton",IBTN1%) if res%=0 then IBTN1% = 0 res% = dll_call1("DeleteIconButton",IBTN2%) if res%=0 then IBTN2% = 0 res% = dll_call1("DeleteIconButton",IBTN3%) if res%=0 then IBTN3% = 0 if (IBTN1%=0) and (IBTN2%=0) and (IBTN3%=0) inactive 2 inactive 3 inactive 31 inactive 32 inactive 33 inactive 39 inactive 4 inactive 41 inactive 42 inactive 43 inactive 5 inactive 51 inactive 52 inactive 53 inactive 59 active 1 end_if return images: ChargerImage(IBTN1%) ChargerImage(IBTN2%) ChargerImage(IBTN3%) return image1: ChargerImage(IBTN1%) return image2: ChargerImage(IBTN2%) return image3: ChargerImage(IBTN3%) return image0: res% = dll_call2("SetIconButtonImage",IBTN1%,0) res% = dll_call2("SetIconButtonImage",IBTN2%,0) res% = dll_call2("SetIconButtonImage",IBTN3%,0) return sub ChargerImage(IBTN%) f$ = file_name$(99) if f$="_" then return if file_exists(f$)=0 then return res% = dll_call2("SetIconButtonImage",IBTN%,adr(f$)) end_sub
stretch: stretch% = 1 - stretch% select stretch% case 0 caption 4,"Stretch on" case 1 caption 4,"Stretch off" end_select stretch1% = stretch% stretch2% = stretch% stretch3% = stretch% Stretch(IBTN1%,stretch1%) Stretch(IBTN2%,stretch2%) Stretch(IBTN3%,stretch3%) return stretch1: stretch1% = 1 - stretch1% Stretch(IBTN1%,stretch1%) return stretch2: stretch2% = 1 - stretch2% Stretch(IBTN2%,stretch2%) return stretch3: stretch3% = 1 - stretch3% Stretch(IBTN3%,stretch3%) return sub Stretch(IBTN%,stretch%) res% = dll_call6("IconButtonGeometry",IBTN%,M1%,M1%,M1%,M1%,stretch%) end_sub imglist: ImgList(IBTN1%) ImgList(IBTN2%) ImgList(IBTN3%) return imglist1: ImgList(IBTN1%) return
imglist2: ImgList(IBTN2%) return
imglist3: ImgList(IBTN3%) return imglist0: res% = dll_call3("SetIconButtonImageList",IBTN1%,IL%,0) res% = dll_call3("SetIconButtonImageList",IBTN2%,IL%,0) res% = dll_call3("SetIconButtonImageList",IBTN3%,IL%,0) return
sub ImgList(IBTN%) dim_local ind% ind% = int(rnd(nlist%))+1 res% = dll_call3("SetIconButtonImageList",IBTN%,IL%,ind%) end_sub
UserEvent: nb% = bin_and(USER_EVENT_LPARAM,hex("FFFF")) message "UserEvent WPARAM="+hex$(USER_EVENT_WPARAM)+" LPARAM="+hex$(USER_EVENT_LPARAM)+" Bouton "+str$(nb%) return
demo_toolbars_avec_IconButtons.bas: - Code:
-
' demo_toolbars_avec_IconButtons.bas
label UserEvent
dim TB1%, TB2% : ' les toolbars (des containers ou panels dim IB1%(5) : ' les IconButton pour TB1% dim IB2%(8) : ' les IconButton pour TB2% dim IL% : ' ImageList pour KGF.ilb (ou une autre ILD...)
dim M1% : M1% = -1 dim size% : size% = 20 dim ilb$ : ilb$ = "KGF.ilb"
dim res%, i%, j%, k%, hint$, nb%, nlist%, nt%
dll_on "KGF.dll"
on_user_event UserEvent
TB1% = 1 : TB2% = 2
panel TB1% : top TB1%,30 : left TB1%,10 : width TB1%,110 : height TB1%,30 color TB1%,0,255,255 panel TB2% : top TB2%,30 : left TB2%,120 : width TB2%,90 : height TB2%,50 color TB2%,255,255,0 IL% = dll_call2("CreateImageList",16,16) nlist% = dll_call2("LoadImageList",IL%,adr(ilb$)) for i%=1 to 5 IB1%(i%) = dll_call3("CreateIconButton",handle(TB1%),256+i%,M1%) res% = dll_call6("IconButtonGeometry",IB1%(i%),5,5,size%,size%,1) if i%>1 then res% = dll_call3("DockIconButtonToIconButton",IB1%(i%),IB1%(i%-1),3) hint$ = "Ceci est le bouton "+str$(i%)+" de la toolbar 1" res% = dll_call2("SetIconButtonHint",IB1%(i%),adr(hint$)) ImgList(IB1%(i%)) next i%
for k%=1 to 2 for j%=1 to 4 i% = (k%-1)*4 + j% IB2%(i%) = dll_call3("CreateIconButton",handle(TB2%),512+i%,M1%) res% = dll_call6("IconButtonGeometry",IB2%(i%),5,5,size%,size%,1) if (i%>1) and (i%<=4) then res% = dll_call3("DockIconButtonToIconButton",IB2%(i%),IB2%(i%-1),3) if i%=5 then res% = dll_call3("DockIconButtonToIconButton",IB2%(i%),IB2%(1),4) if (i%>5) and (i%<=8) then res% = dll_call3("DockIconButtonToIconButton",IB2%(i%),IB2%(i%-1),3) hint$ = "Ceci est le bouton "+str$(i%)+" de la toolbar 2" res% = dll_call2("SetIconButtonHint",IB2%(i%),adr(hint$)) ImgList(IB2%(i%)) next j% next k%
pause 1000 res% = dll_call3("DockOjects",handle(1),handle(2),2) pause 1000 res% = dll_call3("DockOjects",handle(1),handle(2),3) pause 1000 res% = dll_call3("DockOjects",handle(1),handle(2),4) pause 1000 res% = dll_call3("DockOjects",handle(1),handle(2),1)
end
sub ImgList(IBTN%) dim_local ind% ind% = int(rnd(nlist%))+1 res% = dll_call3("SetIconButtonImageList",IBTN%,IL%,ind%) end_sub
UserEvent: nb% = bin_and(USER_EVENT_LPARAM,hex("00FF")) nt% = (bin_and(USER_EVENT_LPARAM,hex("FF00"))/256) message "UserEvent WPARAM="+hex$(USER_EVENT_WPARAM)+" LPARAM="+hex$(USER_EVENT_LPARAM)+" Bouton "+str$(nb%)+" de ToolBar "+str$(nt%) return
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 13 Juil 2017 - 2:08 | |
| Nouvelle version: KGF.dll V7.82 du 13/07/2017Nouveautés: - nouvelles fonctions DeclarePanoramicObject, FindPanoramicObject et FreePanoramicObjectsModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. Ces fonctions permettent d'ientifier on objet Panoramic par des coordonnées X et Y, retournées par exemple par la fonction GetMousePosition de KGF.dll. Pour cela, on déclare tous les objets avec DeclarePanoramicObject. Ensuite, la fonction FindPanoramicObject retourne le numéro de l'objet dans lequel se trouvent les coordonnées X et Y passées en paramètre, ou -1 si rien n'est trouvé. La fonction FreePanoramicObjects efface la liste des objets créée par DeclarePanoramicObject, sans supprimer les objets eux-mêmes, bien sûr. Ceci est appliqué dans la démo ci-dessous. Chosir "Panoramic" dans la combo en haut à gauche et promener le curseur dans la fenêtre. La barre de titre montre le resultat. - Code:
-
' SurveillerLaSouris.bas
label tick
dim x%, y%, res%,Numero%
dll_on "KGF.dll"
combo 10 : width 10,150 item_add 10,"Survol avec Panoramic" item_add 10,"Survol avec KGF.dll" item_select 10,1
memo 1 : top 1,30 : left 1,100 alpha 2 : top 2,150 : left 2,10 : caption 2,"Alpha 2"
res% = dll_call6("DeclarePanoramicObject",object_internal(10),10, 0,0,width(10),height(10)) res% = dll_call6("DeclarePanoramicObject",object_internal(1),1, 100,30,width(1),height(1)) res% = dll_call6("DeclarePanoramicObject",object_internal(2),2, 10,150,width(2),height(2)) res% = dll_call6("DeclarePanoramicObject",0,0, 0,0,width_client(0),height_client(0))
timer 99 : timer_interval 99,100 : on_timer 99,tick
end
tick: if item_index(10)=1 x% = mouse_x_position(0) y% = mouse_y_position(0) else res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) end_if Numero% = dll_call2("FindPanoramicObject",x%,y%) caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%) return
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 13 Juil 2017 - 14:39 | |
| Nouvelle version: KGF.dll V7.83 du 13/07/2017Nouveautés: - modification des fonction DeclarePanoramicObject et FindPanoramicObject Modules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. La fonction DeclarePanoramicObject n'a plus que deux paramètres, et a fonction FindPanoramicObject a un paramètre supplémentaire. On n'a plus besoin de déclarer la position et les dimensions de chaque objet. La function FindPanoramicObject les trouve elle-même. Par contre, la fonction FindPanoramicObject retourne an plus du numéro d'objet Panoramic, une chaîne de caractères donnant le type de l'objet (en notation Delphi). Voici le programme démo, adapté à cela, et avec un PICTURE en plus: - Code:
-
' SurveillerLaSouris.bas
label tick
dim x%, y%, res%,Numero% dim txt$ : txt$ = string$(100," ")
dll_on "KGF.dll"
combo 10 : width 10,150 item_add 10,"Survol avec Panoramic" item_add 10,"Survol avec KGF.dll" item_select 10,2
memo 1 : top 1,30 : left 1,100 alpha 2 : top 2,150 : left 2,10 : caption 2,"Alpha 2" picture 3 : top 3,150 : left 3,200
res% = dll_call2("DeclarePanoramicObject",object_internal(10),10) res% = dll_call2("DeclarePanoramicObject",object_internal(1),1) res% = dll_call2("DeclarePanoramicObject",object_internal(2),2) res% = dll_call2("DeclarePanoramicObject",object_internal(3),3) res% = dll_call2("DeclarePanoramicObject",0,0)
timer 99 : timer_interval 99,100 : on_timer 99,tick
end
tick: if item_index(10)=1 x% = mouse_x_position(0) y% = mouse_y_position(0) else res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) end_if ' Numero% = dll_call2("FindPanoramicObject",x%,y%) ' caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%) Numero% = dll_call3("FindPanoramicObject",x%,y%,adr(txt$)) caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%)+" = "+trim$(txt$) return
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 13 Juil 2017 - 21:21 | |
| Nouvelle version: KGF.dll V7.84 du 13/07/2017Nouveautés: - FindPanoramicObject: trouver même les objets enfants de... enfants de... etcModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. En voici un exemple avec cette démo contenant un container avec un bouton et un panel qui contient de son côté 2 objets check: - Code:
-
' SurveillerLaSouris.bas
label tick
dim x%, y%, res%,Numero% dim txt$ : txt$ = string$(100," ")
dll_on "KGF.dll"
combo 10 : width 10,150 item_add 10,"Survol avec Panoramic" item_add 10,"Survol avec KGF.dll" item_select 10,2
memo 1 : top 1,30 : left 1,100 alpha 2 : top 2,150 : left 2,10 : caption 2,"Alpha 2" picture 3 : top 3,150 : left 3,200
container 20 : top 20,100 : left 20,350 : width 20,200 : height 20,300 caption 20,"Un container" button 21 : parent 21,20 : top 21,20 : left 21,40 panel 30 : parent 30,20 : top 30,50 : left 30,20 : width 30,150 : height 30,200
check 31 : parent 31,30 : caption 31,"Check 31" : top 31,20 : left 31,10 check 32 : parent 32,30 : caption 32,"Check 32" : top 32,50 : left 32,10
res% = dll_call2("DeclarePanoramicObject",object_internal(10),10) res% = dll_call2("DeclarePanoramicObject",object_internal(1),1) res% = dll_call2("DeclarePanoramicObject",object_internal(2),2) res% = dll_call2("DeclarePanoramicObject",object_internal(3),3)
res% = dll_call2("DeclarePanoramicObject",object_internal(31),31) res% = dll_call2("DeclarePanoramicObject",object_internal(32),32) res% = dll_call2("DeclarePanoramicObject",object_internal(30),30)
res% = dll_call2("DeclarePanoramicObject",object_internal(21),21) res% = dll_call2("DeclarePanoramicObject",object_internal(20),20)
res% = dll_call2("DeclarePanoramicObject",object_internal(0),0)
timer 99 : timer_interval 99,100 : on_timer 99,tick
end
tick: if item_index(10)=1 x% = mouse_x_position(0) y% = mouse_y_position(0) else res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) end_if ' Numero% = dll_call2("FindPanoramicObject",x%,y%) ' caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%) Numero% = dll_call3("FindPanoramicObject",x%,y%,adr(txt$)) caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%)+" = "+trim$(txt$) return
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 15 Juil 2017 - 15:46 | |
| Nouvelle version: KGF.dll V7.85 du 15/07/2017Nouveautés: - GetObjectTree: permettre de commencer par a form 0Modules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. Cette amélioration entraîne une légère modification de la syntaxe d'appel de cette fonction (Handle() au lieu de Object_Interna() pour le deuxième paramètre. En voici l'utilisation, montrée à l'aide du programme de démo de l'identification des objets par survol: - Code:
-
' SurveillerLaSouris.bas
label tick
dim x%, y%, res%,Numero% dim txt$ : txt$ = string$(100," ")
dll_on "KGF.dll"
combo 10 : width 10,150 item_add 10,"Survol avec Panoramic" item_add 10,"Survol avec KGF.dll" item_select 10,2
memo 1 : top 1,30 : left 1,100 alpha 2 : top 2,150 : left 2,10 : caption 2,"Alpha 2" picture 3 : top 3,150 : left 3,200
container 20 : top 20,100 : left 20,350 : width 20,200 : height 20,300 caption 20,"Un container" button 21 : parent 21,20 : top 21,20 : left 21,40 panel 30 : parent 30,20 : top 30,50 : left 30,20 : width 30,150 : height 30,200
check 31 : parent 31,30 : caption 31,"Check 31" : top 31,20 : left 31,10 check 32 : parent 32,30 : caption 32,"Check 32" : top 32,50 : left 32,10
list 50 : top 50,180 : left 50,10 : height 50,200
res% = dll_call2("DeclarePanoramicObject",object_internal(10),10) res% = dll_call2("DeclarePanoramicObject",object_internal(1),1) res% = dll_call2("DeclarePanoramicObject",object_internal(2),2) res% = dll_call2("DeclarePanoramicObject",object_internal(3),3) res% = dll_call2("DeclarePanoramicObject",object_internal(50),50)
res% = dll_call2("DeclarePanoramicObject",object_internal(31),31) res% = dll_call2("DeclarePanoramicObject",object_internal(32),32) res% = dll_call2("DeclarePanoramicObject",object_internal(30),30)
res% = dll_call2("DeclarePanoramicObject",object_internal(21),21) res% = dll_call2("DeclarePanoramicObject",object_internal(20),20)
res% = dll_call2("DeclarePanoramicObject",object_internal(0),0)
res% = dll_call3("GetObjectTree",object_internal(0),handle(50),0)
timer 99 : timer_interval 99,100 : on_timer 99,tick
end
tick: if item_index(10)=1 x% = mouse_x_position(0) y% = mouse_y_position(0) else res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) end_if ' Numero% = dll_call2("FindPanoramicObject",x%,y%) ' caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%) Numero% = dll_call3("FindPanoramicObject",x%,y%,adr(txt$)) caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%)+" = "+trim$(txt$) return
| |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Dim 16 Juil 2017 - 11:37 | |
| bonjour klaus A ta nouvelle commande "DeclarePanoramicObject" il y a un p'tit hic lorsque on déclare un deuxième form kgf reconnai celui-ci mais dès que le form est en dehor du form 0 il n'est plus reconus il marque -1 - Code:
-
' SurveillerLaSouris.bas
label tick
dim x%, y%, res%,Numero% dim txt$ : txt$ = string$(100," ")
dll_on "C:\Program Files\PanoBasic\kgf.dll"
combo 10 : width 10,150 item_add 10,"Survol avec Panoramic" item_add 10,"Survol avec KGF.dll" item_select 10,2
button 21 : top 21,20 : left 21,40
form 60 : top 60,100 : left 60,350 : width 60,200 : height 60,300
res% = dll_call2("DeclarePanoramicObject",object_internal(60),60)
res% = dll_call2("DeclarePanoramicObject",object_internal(21),21) res% = dll_call2("DeclarePanoramicObject",object_internal(0),0) timer 99 : timer_interval 99,100 : on_timer 99,tick end
tick: if item_index(10)=1 x% = mouse_x_position(0) y% = mouse_y_position(0) else res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) end_if ' Numero% = dll_call2("FindPanoramicObject",x%,y%) ' caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%) Numero% = dll_call3("FindPanoramicObject",x%,y%,adr(txt$)) caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%)+" = "+trim$(txt$) return
je t'ai fait ce p'tit code pour t'en rendre compte bon w-end | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 16 Juil 2017 - 12:06 | |
| Merci d'avoir signalé cela. Je vais y remédier ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 17 Juil 2017 - 10:53 | |
| En fait; la solution est simple, Pascal10000 ! Au lieu d'utiliser GetMousePosition, tu utilises GetAbsoluteMousePosition, et tout marche bien: - Code:
-
' SurveillerLaSouris.bas
label tick
dim x%, y%, res%,Numero% dim txt$ : txt$ = string$(100," ")
dll_on "kgf.dll"
combo 10 : width 10,150 item_add 10,"Survol avec Panoramic" item_add 10,"Survol avec KGF.dll" item_select 10,2
button 21 : top 21,20 : left 21,40
form 60 : top 60,100 : left 60,350 : width 60,200 : height 60,300
res% = dll_call2("DeclarePanoramicObject",object_internal(60),60)
res% = dll_call2("DeclarePanoramicObject",object_internal(21),21) res% = dll_call2("DeclarePanoramicObject",object_internal(0),0) timer 99 : timer_interval 99,100 : on_timer 99,tick end
tick: if item_index(10)=1 x% = mouse_x_position(0) y% = mouse_y_position(0) else ' res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) res% = dll_call2("GetAbsoluteMousePosition",adr(x%),adr(y%)) end_if ' Numero% = dll_call2("FindPanoramicObject",x%,y%) ' caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%) Numero% = dll_call3("FindPanoramicObject",x%,y%,adr(txt$)) caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%)+" = "+trim$(txt$) return Et pour être complet, voici mon programme de démo, utilisant la même fonction: - Code:
-
' SurveillerLaSouris.bas
label tick
dim x%, y%, res%,Numero% dim txt$ : txt$ = string$(100," ")
dll_on "kgf.dll"
combo 10 : width 10,150 item_add 10,"Survol avec Panoramic" item_add 10,"Survol avec KGF.dll" item_select 10,2
button 21 : top 21,20 : left 21,40
form 60 : top 60,100 : left 60,350 : width 60,200 : height 60,300
res% = dll_call2("DeclarePanoramicObject",object_internal(60),60)
res% = dll_call2("DeclarePanoramicObject",object_internal(21),21) res% = dll_call2("DeclarePanoramicObject",object_internal(0),0) timer 99 : timer_interval 99,100 : on_timer 99,tick end
tick: if item_index(10)=1 x% = mouse_x_position(0) y% = mouse_y_position(0) else ' res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) res% = dll_call2("GetAbsoluteMousePosition",adr(x%),adr(y%)) end_if ' Numero% = dll_call2("FindPanoramicObject",x%,y%) ' caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%) Numero% = dll_call3("FindPanoramicObject",x%,y%,adr(txt$)) caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%)+" = "+trim$(txt$) return | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 17 Juil 2017 - 12:41 | |
| Nouvelle version: KGF.dll V7.86 du 17/07/2017
Nouveautés: - SyneditFunction: nouveau code 47 = gestion de la largeur de tabulatioin
Modules modifiés: KGF.dll KGF.chm
La doc et les sources sont à jour.
Ce nouveau code permet de connaître la largeur de tabulation en cours (avec par%=0) ou d'imposer la nouvelle largeur de tabulation (avec par%=nouvelle largeur). | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 17 Juil 2017 - 18:06 | |
| En voilà une idée quelle est bonne. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 17 Juil 2017 - 18:21 | |
| @ Klaus, Comme d' hab, je suis en décalé sur le sujet du moment. La question concerne la fonction d' encryptage. Y a t il un moyen de déterminer si un fichier est encrypté ou pas ? Je suis sur une application qui édite des listes de lecture pour un logiciel. Sauf que certaines de ces listes ne sont pas à mettre sous les yeux de tout le monde. J' ai donc mis en place l' encryptage du fichier à l' enregistrement avec la fonction de KGF. pwd1$ est défini par l' application et pwd2$ est laissé à la volonté de l' utilisateur via un message_input$. Sauf que, lorsque je veux ouvrir un fichier, si je mets d' office le décryptage et que le fichier ne l' est pas... Je crypte mon fichier et bonjour les hiéroglyphes . Et, si le fichier l' est et que je ne mets pas une procédure de décryptage... encore des hiéroglyphes . Donc, il me faudrait savoir si il y a un marqueur dans le fichier encrypté qui me permette de déterminé si oui ou non l' application doit proposer la procédure de décryptage. As tu une réponse à la question ? ( Cela m' éviterai de crypter des dizaines de fichiers et de les analyser pour le savoir. ) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 17 Juil 2017 - 18:43 | |
| La réponse est simple: Tu places une première ligne dans le fichiern avec un texte banal, mais identique pour tous ces fichiers possiblement cryptés. A l'ouverture, tu commences par lire la première ligne, et tu décides: - si elle contient ton texte spécial, alors le fichier n'est pas crypté. - sinon, il est possiblement crypté. alors tu le décryptes et tu relis la première ligne. - si elle contient alors ton texte spécial, c'est bon - tu as décrypté le fichier. - sinon, le fichier contient tout à fait autre chose ou a été modifié par un moyen non approprié, et de ce fait, est inutilisable. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 17 Juil 2017 - 19:55 | |
| Oui, j' ai trouvé ce palliatif aussi si ce n' est que la ligne marquée n' est pas la première mais la dernière. ( J' ai fait ainsi pour la concordance entre deux listes ) | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 17 Juil 2017 - 21:50 | |
| @ Klaus, - Code:
-
res% = dll_call4("crypter",adr(pwd1$),adr(pwd2$),adr(fichier$),mode%) Il y a un souci avec cette fonction lorsque mode%=1 A la première utilisation le fichier est encrypté mais... ...à la deuxième aussi. - Source:
- Code:
-
dim res% dim Mess$ dim pwd1$ dim pwd2$ dim code$ dim Marq$ dim Crypt%
dim Kgf$ : Kgf$ = "C:\KGF\KGF.dll" dim file$ : file$= "C:\Users\Yannick\Desktop\VLC_PlayList\tv.vpl"
list 1 full_space 1 font_name 1,"Courier New" font_size 1,8
dll_on Kgf$
file_load 1,file$ EncryptDecryptFile(1)
wait 5000
clear 1 file_load 1,file$ EncryptDecryptFile(2)
wait 5000
clear 1 file_load 1,file$ end
sub EncryptDecryptFile(T%) if T%=1 Mess$ = "Encryptage" code$ = message_input$(Mess$,"Mot de passe","") if code$<>"" pwd1$ = "Yg020571" pwd2$ = code$ res% = dll_call4("crypter",adr(pwd1$),adr(pwd2$),adr(file$),1) else message "Ce fichier ne sera pas encrypté !" end_if end_if if T%=2 Mess$ = "Décryptage" code$ = message_input$(Mess$,"Mot de passe","") if code$<>"" pwd1$ = "Yg020571" pwd2$ = code$ res% = dll_call4("crypter",adr(pwd1$),adr(pwd2$),adr(File$),1) else message "Désolé, le fichier ne peut être décrypté." end_if end_if end_sub
- Fichier test:
- Code:
-
TF1 (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/211.ts France 2 (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/213.ts M6 (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/212.ts W9 (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/214.ts CANAL+ (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/188.ts CANAL+CINEMA (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/189.ts CANAL+SERIES (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/191.ts CANAL+FAMILY (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/190.ts CANAL+SPORT (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/187.ts beIN SPORTS 1 (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/228.ts beIN SPORTS 2 (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/230.ts beIN SPORTS 3 (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/232.ts OCS Max (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/302.ts Ciné+ Premier (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/301.ts Cine+ Frisson ( H265 ) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/303.ts Cine Emotion (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/233.ts Ushuaïa (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/234.ts National Geographic (H265) http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/235.ts Canal+ http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/3.ts Canal+Decale http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/120.ts Canal+Cinema http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/6.ts Canal+Series http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/5.ts Canal+Family http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/34.ts Paris Premiere http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/126.ts Cine+Premier http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/2.ts Cine+Frisson http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/33.ts Cine+Emotion http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/70.ts OCS Max HD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/8.ts OCS Geants http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/58.ts OCS City http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/31.ts OCS_Choc http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/59.ts TF1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/23.ts M6 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/24.ts France 2 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/17.ts France 3 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/18.ts France 4 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/19.ts France 5 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/20.ts France O http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/16.ts Arte http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/30.ts 6ter http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/42.ts W9 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/22.ts HD1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/36.ts Orange Cinema 1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/238.ts Orange Cinema 2 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/239.ts Orange Cinema 3 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/240.ts Orange Cinema 4 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/241.ts Orange Cinema 5 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/242.ts Orange Cinema 6 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/243.ts Orange Cinema 7 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/244.ts Orange Cinema 8 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/245.ts Orange Cinema 9 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/246.ts Orange Cinema 10 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/247.ts RTS_Un_HD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/128.ts RTS_Deux_HD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/129.ts La Une http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/73.ts La Deux http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/75.ts La Trois http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/74.ts NT1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/172.ts NICKELODEON http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/168.ts NRJ12 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/25.ts FRANCEINFO: http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/224.ts LCI http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/10.ts I-Tele http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/32.ts BFM TV http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/121.ts TMC http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/67.ts Teva http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/50.ts Syfy http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/49.ts Serie Club http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/62.ts RTL TVI http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/71.ts Plug RTL http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/72.ts Club RTL http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/76.ts Seasons http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/226.ts Chasse et Peche http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/127.ts Action http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/48.ts 13eme Rue http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/43.ts M6 Music http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/38.ts Cine FX http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/123.ts AB1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/124.ts E! Entertainment http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/39.ts Comedie http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/44.ts Cinepolar http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/57.ts Cartoon Network http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/45.ts PIWI+ http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/7.ts Mangas http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/55.ts TVBREIZH http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/152.ts TREK http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/215.ts toute L Histoire http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/216.ts Science et Vie http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/217.ts RTL9 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/218.ts RMC Decouverte HD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/219.ts NUMERO 23 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/220.ts NRJ 12 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/221.ts LCP http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/222.ts L EQUIPE 21 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/223.ts NUMERO_23_HD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/154.ts AB MOTEURS http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/225.ts TV5 MONDE http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/186.ts TELETOON+ http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/193.ts Disney Junior http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/192.ts Tiji kids http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/194.ts GAME_ONE http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/160.ts CSTAR http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/150.ts CINEFAMIZ http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/155.ts CHERIE_25 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/153.ts C8 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/151.ts BFM_Business http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/161.ts GULLI http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/26.ts Boomerang TV http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/29.ts Disney XD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/40.ts Disney Cinema http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/41.ts Disney Channel 1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/14.ts EURONEWS http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/125.ts Disney Channel http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/54.ts Canal+Sport http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/4.ts BEIN Sport 1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/64.ts BEIN Sport 2 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/65.ts BEIN Sport 3 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/66.ts SFR_SPORT_1_HD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/146.ts SFR_SPORT_2_HD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/147.ts SFR_SPORT_3_HD http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/148.ts Equipe 21 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/61.ts Infosport+ http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/27.ts Eurosport 1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/52.ts Eurosport 2 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/51.ts Equidia Live http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/28.ts Nat Geo Wild http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/9.ts National Geographic http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/13.ts HISTOIRE http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/169.ts Planete+ CI http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/11.ts Planete+ http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/12.ts Animaux http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/47.ts Voyage http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/60.ts USHUAIA TV http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/1.ts Tva sport http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/208.ts TELEMAGINO http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/202.ts ici montreal. http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/209.ts EVASION CA http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/195.ts RDS http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/210.ts ICI ARTV http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/236.ts ASSEMBLE NATIONAL http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/237.ts tele quebec http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/201.ts teletoon CAN http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/199.ts canal vie http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/198.ts VRAK http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/197.ts MUSIC PLUS http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/196.ts Super ecran 4 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/297.ts Super ecran 3 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/298.ts Super ecran 2 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/299.ts Super ecran 1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/300.ts A-LA-CARTE-1 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/80.ts A-LA-CARTE-2 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/81.ts A-LA-CARTE-3 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/82.ts A-LA-CARTE-4 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/83.ts A-LA-CARTE-5 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/84.ts A-LA-CARTE-6 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/85.ts A-LA-CARTE-7 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/86.ts A-LA-CARTE-8 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/87.ts A-LA-CARTE-9 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/88.ts A-LA-CARTE-10 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/89.ts A-LA-CARTE-11 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/90.ts A-LA-CARTE-12 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/91.ts A-LA-CARTE-13 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/92.ts A-LA-CARTE-14 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/93.ts A-LA-CARTE-15 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/94.ts A-LA-CARTE-16 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/95.ts A-LA-CARTE-17 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/96.ts A-LA-CARTE-18 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/97.ts A-LA-CARTE-19 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/98.ts A-LA-CARTE-20 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/99.ts A-LA-CARTE-21 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/100.ts A-LA-CARTE-22 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/101.ts A-LA-CARTE-23 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/102.ts A-LA-CARTE-24 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/103.ts A-LA-CARTE-25 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/104.ts A-LA-CARTE-26 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/105.ts A-LA-CARTE-27 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/106.ts A-LA-CARTE-28 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/107.ts A-LA-CARTE-29 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/108.ts A-LA-CARTE-30 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/109.ts A-LA-CARTE-31 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/110.ts A-LA-CARTE-32 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/111.ts A-LA-CARTE-33 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/112.ts A-LA-CARTE-34 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/113.ts A-LA-CARTE-35 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/114.ts A-LA-CARTE-36 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/115.ts A-LA-CARTE-37 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/116.ts A-LA-CARTE-38 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/117.ts A-LA-CARTE-39 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/118.ts A-LA-CARTE-40 http://62.210.139.14:8000/live/Vdh9g0AE1AA5F7u/1rFoFno8SexvEwD/119.ts #Liste
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 18 Juil 2017 - 0:15 | |
| Bizarre. Et si tu utilises le mode 0 ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 18 Juil 2017 - 9:04 | |
| Mode%=0 fonctionne correctement. | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Mar 18 Juil 2017 - 14:56 | |
| bonjour klaus il y tjr un problème à la commande "DeclarePanoramicObject" avec l'aide que tu m'as procuré ça fonctionne En testant ta démo que tu a posté le 23 juillet, j'ai remarqué qu'il y avait quelque chose qui cloche. c'est en déplaçant la fenêtre que plus rien ne fonctionne teste le et tu le verra A mon avis kgf ne cherche pas à la position dans le form mais bien dans l'espace du bureau allez a+ | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 18 Juil 2017 - 15:40 | |
| J'ai vu. Il y a une confusion entre les dimensions extérieures et la zone client de la form 0. Je vais analyser cela. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 18 Juil 2017 - 16:20 | |
| Nouvelle version: KGF.dll V7.87 du 18/07/2017Nouveautés: - FindPanoramicObject: gérer le déplacement de la form 0Modules modifiés: KGF.dllLa doc est inchangée. Les sources sont à jour. Ceci corrige le problème soulevé par pascal10000. Voici le code de Pascal10000, avec une ligne supplémentaire pour déclarer la combo: - Code:
-
' SurveillerLaSouris_pascal10000.bas
label tick
dim x%, y%, res%,Numero% dim txt$ : txt$ = string$(100," ")
dll_on "kgf.dll"
combo 10 : width 10,150 item_add 10,"Survol avec Panoramic" item_add 10,"Survol avec KGF.dll" item_select 10,2
button 21 : top 21,20 : left 21,40
form 60 : top 60,100 : left 60,350 : width 60,200 : height 60,300
res% = dll_call2("DeclarePanoramicObject",object_internal(60),60)
res% = dll_call2("DeclarePanoramicObject",object_internal(10),10) res% = dll_call2("DeclarePanoramicObject",object_internal(21),21) res% = dll_call2("DeclarePanoramicObject",object_internal(0),0) timer 99 : timer_interval 99,100 : on_timer 99,tick end
tick: if item_index(10)=1 x% = mouse_x_position(0) y% = mouse_y_position(0) else ' res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) res% = dll_call2("GetAbsoluteMousePosition",adr(x%),adr(y%)) end_if ' Numero% = dll_call2("FindPanoramicObject",x%,y%) ' caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%) Numero% = dll_call3("FindPanoramicObject",x%,y%,adr(txt$)) caption 0,str$(x%)+","+str$(y%)+" objet "+str$(Numero%)+" = "+trim$(txt$) return Cela marche également avec le programme de démo que j'ai publié. | |
| | | 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
| |
| |
| |