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 |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 27 Nov 2017 - 16:45 | |
| Intéressant ! Je vais voir ça... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 27 Nov 2017 - 17:32 | |
| ouvelle version: KGF.dll V8.03 du 27/11/2017
Nouveautés: - MetaPrinterMode: correction d'un problème avec le choix du dossier pour sauvegarde en format JPG
Modules modifiés: KGF.dll KGF.chm
La doc et les sources sont à jour.
Voilà. Le bug est corrigé. | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| | | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 27 Nov 2017 - 18:34 | |
| Merci d'avoir pris le temps de tester, Marc ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 28 Nov 2017 - 8:27 | |
| Nouvelle version: KGF.dll V8.04 du 28/11/2017Nouveautés: - PrinterFunction: l'impression d'images PNG est maintenant opérationnelleModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. Maintenant on peut imprimer tous les fichiers admis pas la fonction LoadAnymageFile: BMP JPG JPEG GIF PNG EMF ICO WMFLe programme de démo est limité à JPG, BMP et PNG, mais c'est la commande FILTER dans le code Panoramic qui fait cela. Accessoirement, un problème de dimension de l'image résultante a été résolu. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 2 Déc 2017 - 16:40 | |
| Nouvelle version: KGF.dll V8.05 du 02/12/2017Nouveautés: - Nouvel objet: VuMeterModules modifiés: KGF.dllLa doc et les sources seront mises à jour ultérieurement. Voici les débuts d'un nouvel objet serant à l'affichage de valeurs, sous forme d'un afficheur graphique analogique (à aiguilles), digital à barres lumineuses ou en affichage 7 segments ou par matrice de points. Tous les caractéristiques sont (ou seront) paramétrables. Pour le moment, seule KGF.dll est modifiée - ladoc suivra un peu plus tard. Je publie cette partie pour avoir un "retour d'expérience" afin de finaliser le produit dans de bonnes conditions. Important: seule KGF.dll sur mon site est mise à jour, pas sur mon WebDav !Voici la démo. Chosir une des options, puis cliquer sur "Montrer". Puis choisir une autre et cliquer sur "Montrer", etc. - Code:
-
' test_VU_Meter.bas
label type1, type2, type3, montrer, DeleteType1, DeleteType2, DeleteType3
dim res%, s$, silver% dim AG1%, AG2%, AG3% dim VU1%, VU2%, VU3%, VU4%, VU5%, VU6%, VU7%, VU8%, VU9%, VU10%, VU11%, VU12% dim LCD1%, LCD2%
dll_on "KGF.dll"
full_space 0
option 1 : top 1,10 : left 1,10 : caption 1,"Type 1" option 2 : top 2,30 : left 2,10 : caption 2,"Type 2" option 3 : top 3,50 : left 3,10 : caption 3,"Type 3"
button 10 : top 10,30 : left 10,100 : caption 10,"Montrer" : on_click 10,montrer
end
montrer: if checked(1)=1 then gosub type1 if checked(2)=1 then gosub type2 if checked(3)=1 then gosub type3 return
type1: gosub DeleteType2 gosub DeleteType3 ' TA3nalogGauge ok ' style: 0=gauche 1=droite 2=centre AG1% = dll_call3("CreateVUMeter",handle(0),1,0) res% = dll_call2("SetVuMeterOrientation",AG1%,0) res% = dll_call5("LocalizeVuMeter",AG1%,20,100,200,200) res% = dll_call2("SetVuMeterValue",AG1%,75)
AG2% = dll_call3("CreateVUMeter",handle(0),1,1) res% = dll_call2("SetVuMeterOrientation",AG2%,1) res% = dll_call5("LocalizeVuMeter",AG2%,240,100,200,200) res% = dll_call2("SetVuMeterValue",AG2%,75)
AG3% = dll_call3("CreateVUMeter",handle(0),1,0) res% = dll_call2("SetVuMeterOrientation",AG3%,2) res% = dll_call5("LocalizeVuMeter",AG3%,460,100,200,200) res% = dll_call2("SetVuMeterValue",AG3%,75) return DeleteType1: AG1% = dll_call1("DeleteVuMeter",AG1%) AG2% = dll_call1("DeleteVuMeter",AG2%) AG3% = dll_call1("DeleteVuMeter",AG3%) return
Type2: gosub DeleteType1 gosub DeleteType3 ' TVuMeter ok VU1% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU1%,1) res% = dll_call2("SetVuMeterFormat",VU1%,0) res% = dll_call2("SetVuMeterStyle",VU1%,0) res% = dll_call5("LocalizeVuMeter",VU1%,20,100,0,0) res% = dll_call2("SetVuMeterValue",VU1%,75)
VU2% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU2%,1) res% = dll_call2("SetVuMeterFormat",VU2%,1) res% = dll_call2("SetVuMeterStyle",VU2%,1) res% = dll_call5("LocalizeVuMeter",VU2%,90,100,0,0) res% = dll_call2("SetVuMeterValue",VU2%,75)
VU3% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU3%,1) res% = dll_call2("SetVuMeterFormat",VU3%,2) res% = dll_call2("SetVuMeterStyle",VU3%,1) res% = dll_call5("LocalizeVuMeter",VU3%,160,100,0,0) res% = dll_call2("SetVuMeterValue",VU3%,0-75)
VU4% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU4%,1) res% = dll_call2("SetVuMeterFormat",VU4%,0) res% = dll_call2("SetVuMeterStyle",VU4%,0) res% = dll_call5("SetVuMeterSizes",VU4%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU4%,300,100,0,0) res% = dll_call2("SetVuMeterValue",VU4%,75)
VU5% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU5%,1) res% = dll_call2("SetVuMeterFormat",VU5%,1) res% = dll_call2("SetVuMeterStyle",VU5%,1) res% = dll_call5("SetVuMeterSizes",VU5%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU5%,340,100,0,0) res% = dll_call2("SetVuMeterValue",VU5%,75)
VU6% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU6%,1) res% = dll_call2("SetVuMeterFormat",VU6%,2) res% = dll_call2("SetVuMeterStyle",VU6%,1) res% = dll_call5("SetVuMeterSizes",VU6%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU6%,380,100,0,0) res% = dll_call2("SetVuMeterValue",VU6%,0-75)
VU7% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU7%,0) res% = dll_call2("SetVuMeterFormat",VU7%,0) res% = dll_call2("SetVuMeterStyle",VU7%,0) res% = dll_call5("LocalizeVuMeter",VU7%,450,100,0,0) res% = dll_call2("SetVuMeterValue",VU7%,75)
VU8% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU8%,0) res% = dll_call2("SetVuMeterFormat",VU8%,1) res% = dll_call2("SetVuMeterStyle",VU8%,1) res% = dll_call5("LocalizeVuMeter",VU8%,450,170,0,0) res% = dll_call2("SetVuMeterValue",VU8%,75)
VU9% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU9%,0) res% = dll_call2("SetVuMeterFormat",VU9%,2) res% = dll_call2("SetVuMeterStyle",VU9%,1) res% = dll_call5("LocalizeVuMeter",VU9%,450,240,0,0) res% = dll_call2("SetVuMeterValue",VU9%,0-75)
VU10% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU10%,0) res% = dll_call2("SetVuMeterFormat",VU10%,0) res% = dll_call2("SetVuMeterStyle",VU10%,0) res% = dll_call5("SetVuMeterSizes",VU10%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU10%,450,350,0,0) res% = dll_call2("SetVuMeterValue",VU10%,75)
VU11% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU11%,0) res% = dll_call2("SetVuMeterFormat",VU11%,1) res% = dll_call2("SetVuMeterStyle",VU11%,1) res% = dll_call5("SetVuMeterSizes",VU11%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU11%,450,390,0,0) res% = dll_call2("SetVuMeterValue",VU11%,75)
VU12% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU12%,0) res% = dll_call2("SetVuMeterFormat",VU12%,2) res% = dll_call2("SetVuMeterStyle",VU12%,1) res% = dll_call5("SetVuMeterSizes",VU12%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU12%,450,430,0,0) res% = dll_call2("SetVuMeterValue",VU12%,0-75) return
DeleteType2: VU1% = dll_call1("DeleteVuMeter",VU1%) VU2% = dll_call1("DeleteVuMeter",VU2%) VU3% = dll_call1("DeleteVuMeter",VU3%) VU4% = dll_call1("DeleteVuMeter",VU4%) VU5% = dll_call1("DeleteVuMeter",VU5%) VU6% = dll_call1("DeleteVuMeter",VU6%) VU7% = dll_call1("DeleteVuMeter",VU7%) VU8% = dll_call1("DeleteVuMeter",VU8%) VU9% = dll_call1("DeleteVuMeter",VU9%) VU10% = dll_call1("DeleteVuMeter",VU10%) VU11% = dll_call1("DeleteVuMeter",VU11%) VU12% = dll_call1("DeleteVuMeter",VU12%) return
type3: gosub DeleteType1 gosub DeleteType2 ' TLCD99 ok silver% = hex("C0C0C0") LCD1% = dll_call3("CreateVUMeter",handle(0),3,0) res% = dll_call5("SetVuMeterSizes",LCD1%,4,5,0,0) res% = dll_call5("LocalizeVuMeter",LCD1%,20,100,120,50) res% = dll_call2("SetVuMeterStyle",LCD1%,0) res% = dll_call5("SetVuMeterColors",LCD1%,0,255,silver%,0) s$ = "8075" res% = dll_call2("SetVuMeterValue",LCD1%,adr(s$))
LCD2% = dll_call3("CreateVUMeter",handle(0),3,0) res% = dll_call5("SetVuMeterSizes",LCD2%,4,5,0,0) res% = dll_call5("LocalizeVuMeter",LCD2%,160,100,120,50) res% = dll_call2("SetVuMeterStyle",LCD2%,1) res% = dll_call5("SetVuMeterColors",LCD2%,0,255,silver%,0) s$ = "8075" res% = dll_call2("SetVuMeterValue",LCD2%,adr(s$))
return DeleteType3: LCD1% = dll_call1("DeleteVuMeter",LCD1%) LCD2% = dll_call1("DeleteVuMeter",LCD2%) return
Dernière information: Pour les types 1 et 3, j'ai utilisé des composants Delphi totalement libres (et dont les auteurs seront indiqués dans la doc). J'ai juste créé l'interface compatible Panoramic. Par contre, le type 2 est écrit entièrement par moi. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Sam 2 Déc 2017 - 16:47 | |
| bonsoir Klaus ! je vois que tu suis l'activité du forum. Je suis sur mon presse papier virtuel pour le moment mais je vais regarder cela dans la soirée. Merci pour ton travail et ta remarquable adaptation à toutes les situations... Edit : Du coup de viens de jeter un coup d’œil rapide a ta réalisation. Cela semble prometteur... j'attends la suite avec impatiente ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 2 Déc 2017 - 17:16 | |
| En fait, j'avais déjà une version similaire de VuMeter, mais dans une DLL à part. Et lors d'un crash il y a 2 ou 3 ans, tout a été perdu. Je n'y ai pas fait plus attention que ça, vu qu'il n'y avait pas de demande. Mais comme j'ai vu que le sujet revenait sur le forum, j'ai récupéré les deux objets Delphi gratuits et j'en ai créé un autre de mon propre cru, puis le les ai intégré dans KGF.dll. Ainsi, ils seront toujours disponibles. Ils fonctionnent tous les 3. Je suis en train de créer tout un système de fonctions permettant de les paramétrer dans tous les sens. Lorsque ce sera prêt, j'en ferai la documentation. En attendant, tu peux faire des essais, si cela t'amuse, avec tous les types de VuMeter, selon ce modèle utilsant le premier objet de type 1: - Code:
-
' test_VU_Meter_en_boucle.bas
label tick
dim res%, AG1% : ' <========= définir ici la variable correspondant au VuMeter choisi dim i%, v%, dir%
full_space 0 dll_on "KGF.dll"
timer 1 : timer_interval 1,100 : on_timer 1,tick
' ============ mettre ici la section du VuMeter à tester ' TA3nalogGauge ok ' style: 0=gauche 1=droite 2=centre AG1% = dll_call3("CreateVUMeter",handle(0),1,0) res% = dll_call2("SetVuMeterOrientation",AG1%,0) : ' Style 0, 1 ou 2 res% = dll_call5("LocalizeVuMeter",AG1%,20,100,200,200) v% = 75 dir% = 0 res% = dll_call2("SetVuMeterValue",AG1%,v%) : ' <========= utiliser ici la variable v% ! ' =========== fin de la section end tick: timer_off 1 if dir%=0 v% = v% + 2 if v%>100 dir% = 1 v% = v% - 2 end_if else v% = v% - 2 if v%<10 dir% = 0 v% = v% + 2 end_if end_if res% = dll_call2("SetVuMeterValue",AG1%,v%) timer_on 1 return On voit ainsi ce que ça peut donner... | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: KGF_dll - nouvelles versions Sam 2 Déc 2017 - 18:34 | |
| Super Klaus !
J'ai testé les différents types, styles et orientations avec succès !
Merci ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 2 Déc 2017 - 18:55 | |
| Eh bien, voici une version animée de tous les afficheurs simultanément: - Code:
-
' test_VU_Meter.bas
label type1, type2, type3, montrer, DeleteType1, DeleteType2, DeleteType3 label tick, stopper, restart
dim res%, s$, silver%, dir%, dir2%, vag%, vlcd%, vvu1%, vvu2%, stop% dim AG1%, AG2%, AG3% dim VU1%, VU2%, VU3%, VU4%, VU5%, VU6%, VU7%, VU8%, VU9%, VU10%, VU11%, VU12% dim LCD1%, LCD2%
dll_on "KGF.dll"
full_space 0
option 1 : top 1,10 : left 1,10 : caption 1,"Type 1" option 2 : top 2,30 : left 2,10 : caption 2,"Type 2" option 3 : top 3,50 : left 3,10 : caption 3,"Type 3"
button 10 : top 10,30 : left 10,100 : caption 10,"Montrer" : on_click 10,montrer timer 11 : timer_interval 11,100 : on_timer 11,tick : timer_off 11 button 12 : top 12,30 : left 12,200 : caption 12,"Stop" : on_click 12,stopper button 13 : top 13,30 : left 13,300 : caption 13,"Restart" : on_click 13,restart
end
tick: timer_off 11 if checked(1)=1 if dir%=0 vag% = vag% + 2 if vag%>100 then dir% = 1 else vag% = vag% - 2 if vag%<10 then dir% = 0 end_if res% = dll_call2("SetVuMeterValue",AG1%,vag%) res% = dll_call2("SetVuMeterValue",AG2%,vag%) res% = dll_call2("SetVuMeterValue",AG3%,vag%) end_if if checked(2)=1 if dir%=0 vvu1% = vvu1% + 2 if vvu1%>90 then dir% = 1 else vvu1% = vvu1% - 2 if vvu1%<10 then dir% = 0 end_if if dir2%=0 vvu2% = vvu2% + 2 if vvu2%>90 then dir2% = 1 else vvu2% = vvu2% - 2 if vvu2%<0-90 then dir2% = 0 end_if res% = dll_call2("SetVuMeterValue",VU1%,vvu1%) res% = dll_call2("SetVuMeterValue",VU2%,vvu1%) res% = dll_call2("SetVuMeterValue",VU3%,vvu2%) res% = dll_call2("SetVuMeterValue",VU4%,vvu1%) res% = dll_call2("SetVuMeterValue",VU5%,vvu1%) res% = dll_call2("SetVuMeterValue",VU6%,vvu2%) res% = dll_call2("SetVuMeterValue",VU7%,vvu1%) res% = dll_call2("SetVuMeterValue",VU8%,vvu1%) res% = dll_call2("SetVuMeterValue",VU9%,vvu2%) res% = dll_call2("SetVuMeterValue",VU10%,vvu1%) res% = dll_call2("SetVuMeterValue",VU11%,vvu1%) res% = dll_call2("SetVuMeterValue",VU12%,vvu2%) end_if if checked(3)=1 if dir%=0 vlcd% = vlcd% + 2 if vlcd%>9900 then dir% = 1 else vlcd% = vlcd% - 2 if vlcd%<10 then dir% = 0 end_if s$ = str$(vlcd%) res% = dll_call2("SetVuMeterValue",LCD1%,adr(s$)) res% = dll_call2("SetVuMeterValue",LCD2%,adr(s$)) end_if timer_on 11 return stopper: timer_off 11 stop% = 1 return restart: if stop%=0 then return stop% = 0 timer_on 11 return
montrer: if checked(1)=1 then gosub type1 if checked(2)=1 then gosub type2 if checked(3)=1 then gosub type3 return
type1: timer_off 11 gosub DeleteType2 gosub DeleteType3 ' TA3nalogGauge ok ' style: 0=gauche 1=droite 2=centre vag% = 75 AG1% = dll_call3("CreateVUMeter",handle(0),1,0) res% = dll_call2("SetVuMeterOrientation",AG1%,0) res% = dll_call5("LocalizeVuMeter",AG1%,20,100,200,200) res% = dll_call2("SetVuMeterValue",AG1%,vag%)
AG2% = dll_call3("CreateVUMeter",handle(0),1,1) res% = dll_call2("SetVuMeterOrientation",AG2%,1) res% = dll_call5("LocalizeVuMeter",AG2%,240,100,200,200) res% = dll_call2("SetVuMeterValue",AG2%,vag%)
AG3% = dll_call3("CreateVUMeter",handle(0),1,0) res% = dll_call2("SetVuMeterOrientation",AG3%,2) res% = dll_call5("LocalizeVuMeter",AG3%,460,100,200,200) res% = dll_call2("SetVuMeterValue",AG3%,vag%) timer_on 11 return DeleteType1: AG1% = dll_call1("DeleteVuMeter",AG1%) AG2% = dll_call1("DeleteVuMeter",AG2%) AG3% = dll_call1("DeleteVuMeter",AG3%) return
Type2: gosub DeleteType1 gosub DeleteType3 ' TVuMeter ok VU1% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU1%,1) res% = dll_call2("SetVuMeterFormat",VU1%,0) res% = dll_call2("SetVuMeterStyle",VU1%,0) res% = dll_call5("LocalizeVuMeter",VU1%,20,100,0,0) res% = dll_call2("SetVuMeterValue",VU1%,75)
VU2% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU2%,1) res% = dll_call2("SetVuMeterFormat",VU2%,1) res% = dll_call2("SetVuMeterStyle",VU2%,1) res% = dll_call5("LocalizeVuMeter",VU2%,90,100,0,0) res% = dll_call2("SetVuMeterValue",VU2%,75)
VU3% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU3%,1) res% = dll_call2("SetVuMeterFormat",VU3%,2) res% = dll_call2("SetVuMeterStyle",VU3%,1) res% = dll_call5("LocalizeVuMeter",VU3%,160,100,0,0) res% = dll_call2("SetVuMeterValue",VU3%,0-75)
VU4% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU4%,1) res% = dll_call2("SetVuMeterFormat",VU4%,0) res% = dll_call2("SetVuMeterStyle",VU4%,0) res% = dll_call5("SetVuMeterSizes",VU4%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU4%,300,100,0,0) res% = dll_call2("SetVuMeterValue",VU4%,75)
VU5% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU5%,1) res% = dll_call2("SetVuMeterFormat",VU5%,1) res% = dll_call2("SetVuMeterStyle",VU5%,1) res% = dll_call5("SetVuMeterSizes",VU5%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU5%,340,100,0,0) res% = dll_call2("SetVuMeterValue",VU5%,75)
VU6% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU6%,1) res% = dll_call2("SetVuMeterFormat",VU6%,2) res% = dll_call2("SetVuMeterStyle",VU6%,1) res% = dll_call5("SetVuMeterSizes",VU6%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU6%,380,100,0,0) res% = dll_call2("SetVuMeterValue",VU6%,0-75)
VU7% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU7%,0) res% = dll_call2("SetVuMeterFormat",VU7%,0) res% = dll_call2("SetVuMeterStyle",VU7%,0) res% = dll_call5("LocalizeVuMeter",VU7%,450,100,0,0) res% = dll_call2("SetVuMeterValue",VU7%,75)
VU8% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU8%,0) res% = dll_call2("SetVuMeterFormat",VU8%,1) res% = dll_call2("SetVuMeterStyle",VU8%,1) res% = dll_call5("LocalizeVuMeter",VU8%,450,170,0,0) res% = dll_call2("SetVuMeterValue",VU8%,75)
VU9% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU9%,0) res% = dll_call2("SetVuMeterFormat",VU9%,2) res% = dll_call2("SetVuMeterStyle",VU9%,1) res% = dll_call5("LocalizeVuMeter",VU9%,450,240,0,0) res% = dll_call2("SetVuMeterValue",VU9%,0-75)
VU10% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU10%,0) res% = dll_call2("SetVuMeterFormat",VU10%,0) res% = dll_call2("SetVuMeterStyle",VU10%,0) res% = dll_call5("SetVuMeterSizes",VU10%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU10%,450,350,0,0) res% = dll_call2("SetVuMeterValue",VU10%,75)
VU11% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU11%,0) res% = dll_call2("SetVuMeterFormat",VU11%,1) res% = dll_call2("SetVuMeterStyle",VU11%,1) res% = dll_call5("SetVuMeterSizes",VU11%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU11%,450,390,0,0) res% = dll_call2("SetVuMeterValue",VU11%,75)
VU12% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU12%,0) res% = dll_call2("SetVuMeterFormat",VU12%,2) res% = dll_call2("SetVuMeterStyle",VU12%,1) res% = dll_call5("SetVuMeterSizes",VU12%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU12%,450,430,0,0) res% = dll_call2("SetVuMeterValue",VU12%,0-75) timer_on 11 return
DeleteType2: VU1% = dll_call1("DeleteVuMeter",VU1%) VU2% = dll_call1("DeleteVuMeter",VU2%) VU3% = dll_call1("DeleteVuMeter",VU3%) VU4% = dll_call1("DeleteVuMeter",VU4%) VU5% = dll_call1("DeleteVuMeter",VU5%) VU6% = dll_call1("DeleteVuMeter",VU6%) VU7% = dll_call1("DeleteVuMeter",VU7%) VU8% = dll_call1("DeleteVuMeter",VU8%) VU9% = dll_call1("DeleteVuMeter",VU9%) VU10% = dll_call1("DeleteVuMeter",VU10%) VU11% = dll_call1("DeleteVuMeter",VU11%) VU12% = dll_call1("DeleteVuMeter",VU12%) return
type3: gosub DeleteType1 gosub DeleteType2 ' TLCD99 ok silver% = hex("C0C0C0") vlcd% = 8075 s$ = str$(vlcd%) LCD1% = dll_call3("CreateVUMeter",handle(0),3,0) res% = dll_call5("SetVuMeterSizes",LCD1%,4,5,0,0) res% = dll_call5("LocalizeVuMeter",LCD1%,20,100,120,50) res% = dll_call2("SetVuMeterStyle",LCD1%,0) ' res% = dll_call5("SetVuMeterColors",LCD1%,0,255,silver%,0) res% = dll_call5("SetVuMeterColors",LCD1%,0,255,0,0) res% = dll_call2("SetVuMeterValue",LCD1%,adr(s$))
LCD2% = dll_call3("CreateVUMeter",handle(0),3,0) res% = dll_call5("SetVuMeterSizes",LCD2%,4,5,0,0) res% = dll_call5("LocalizeVuMeter",LCD2%,160,100,120,50) res% = dll_call2("SetVuMeterStyle",LCD2%,1) ' res% = dll_call5("SetVuMeterColors",LCD2%,0,255,silver%,0) res% = dll_call5("SetVuMeterColors",LCD2%,0,255,0,0) res% = dll_call2("SetVuMeterValue",LCD2%,adr(s$)) timer_on 11
return DeleteType3: LCD1% = dll_call1("DeleteVuMeter",LCD1%) LCD2% = dll_call1("DeleteVuMeter",LCD2%) return
| |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Sam 2 Déc 2017 - 20:36 | |
| bsr Klaus
Petite subjection pourras tu mettre à l'avenir le numéro de version au non du fichier (zip) de kgf et à l'aide kgf.chn ? pour qu'on puisse s'y retrouver un peut aux versions qu'ont télécharge je vais tester tout de suite la version 8.05 depuis hier je cherche des sources a ce propos avec les apis de WINMM.Dll mais leurs explications sont très complexe merci klaus
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 2 Déc 2017 - 21:29 | |
| Il y a un truc très simple pour connaître le numéro de version de KGF.dll: - Code:
-
dim v%, v$ dll_on "KGF.dll" v$ = string$(25," ") v% = dll_call1("KGFdllVersion",adr(v$)) print "version numérique brute: "+str$(v%) print "version numérique formatée: "+str$(v%/100) print "version texte: "+v$ end WINMM.Dll contient les API de Windows pour la gestion de contenu multi-media (son, video, ...) et des périphériques associés (micros, haut-parleurs, mixeurs, ...). C'est une DLL écrite en C avec des convention de passage de paramètres souvent difficile ou impossible à réaliser directement en Panoramic. Il faut avoir une "enveloppe" (wrapper en anglais) pour pouvoir le faire correctement. Et là, c'est un vaste boulot, car la DLL est très grande (en nombre de fonctions). J'ai réalisé un wrapper partiel dans KGF.dll (Gestion du Windows Media Player, Gestion du Texte prononcé, Gestion des fonctions MIDI). Chaque section corresônd à un objectif précis. Si tu cherches quelque chose au-delà, tu as le choix: faire des essais en Panoramic (pourquoi pas - il y a pas mal de cas où c'est faisable) ou demander la réalisation d'une fonction spécifique pour tes besoins. Souvent, KGF.dll grandit comme ç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 5 Déc 2017 - 1:44 | |
| Nouvelle version: KGF.dll V8.06 du 04/12/2017Nouveautés: - Nouvel objet: AutoUpdater - VuMeter: finalisationModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. La doc en ligne suivra demain soir. Il s'agit d'un grand pas en avant, pour KGF.dll ! L'objet VuMeter, représentant un outil d'affichage pour valeurs numériques selon plusieurs formats graphique, contient également un mode d'affichage de texte (en 7 segments ou en matrice de points). Et le nouvel objet AutoUodater permet d'attacher un ou plusieurs de ces objets VuMeter à un objet AutoUpdater unique. A des intervalles réguliers et paramétrables, il va mettre à jour les données du ou des objets VuMeter connectés, à partir d'une variable Panoramic de type integer, sans autre intervention. Ceci, avec la récente implémentation du mode de prévisualisation en impression ainsi que le nouvel objet QRCode (permettant de générer une image d'un QR-Code quelconque), représente un gros progrès dans la liste des fonctionalités de KGF.dll !Voici une démo complète de VuMeter et AutoUpdater. Le programme permet de choisir une des 3 types de VuMeter implémentés (cadran analogique avec aiguille, barres de diodes ou afficheur à 7 segments ou matrice de points). Puis, en cliquant sur "Start", les VuMeter sélectionnés sont "animés" en changeant continuellement leurs valeurs, montrant ainsi toutes leurs capacités graphiques. Dans chaque série, le premier VuMeter (celui en haut à gauche) n'est cependant pas affecté par cette animation. Il est par contre lié à l'objet AutoUpdater via une variable valeur% dont le contenu reflète la position du SPIN en haut à droite. En changeant cette valeur, on obtient immédiatement le changement de ce VuMeter. Voici le code: - Code:
-
' test_VU_Meter.bas
label type1, type2, type3, montrer, DeleteType1, DeleteType2, DeleteType3 label tick, stopper, restart, change
dim res%, s$, silver%, dir%, dir2%, vag%, vlcd%, vvu1%, vvu2%, stop%, valeur% dim AG1%, AG2%, AG3% dim VU1%, VU2%, VU3%, VU4%, VU5%, VU6%, VU7%, VU8%, VU9%, VU10%, VU11%, VU12% dim LCD1%, LCD2%, LCD1a%
dll_on "KGF.dll"
full_space 0
option 1 : top 1,10 : left 1,10 : caption 1,"Type 1" option 2 : top 2,30 : left 2,10 : caption 2,"Type 2" option 3 : top 3,50 : left 3,10 : caption 3,"Type 3"
button 10 : top 10,30 : left 10,100 : caption 10,"Montrer" : on_click 10,montrer timer 11 : timer_interval 11,100 : on_timer 11,tick : timer_off 11 button 12 : top 12,30 : left 12,200 : caption 12,"Stop" : on_click 12,stopper button 13 : top 13,30 : left 13,300 : caption 13,"Start" : on_click 13,restart
alpha 20 : top 20,30 : left 20,500 : caption 20,"Valeur: " spin 21 : top 21,30 : left 21,550 : width 21,100 : min 21,0 : max 21,100 : on_change 21,change position 21,30 alpha 22 : top 22,30 : left 22,660 : caption 22,"(sera appliqué au premier objet de chaque type)" stop% = 1
res% = dll_call1("CreateAutoUpdater",200) res% = dll_call1("ManageAutoUpdater",1)
end
change: valeur% = position(21) return
tick: timer_off 11 if checked(1)=1 if dir%=0 vag% = vag% + 2 if vag%>100 then dir% = 1 else vag% = vag% - 2 if vag%<10 then dir% = 0 end_if res% = dll_call2("SetVuMeterValue",AG1%,vag%) res% = dll_call2("SetVuMeterValue",AG2%,vag%) res% = dll_call2("SetVuMeterValue",AG3%,vag%) end_if if checked(2)=1 if dir%=0 vvu1% = vvu1% + 2 if vvu1%>90 then dir% = 1 else vvu1% = vvu1% - 2 if vvu1%<10 then dir% = 0 end_if if dir2%=0 vvu2% = vvu2% + 2 if vvu2%>90 then dir2% = 1 else vvu2% = vvu2% - 2 if vvu2%<0-90 then dir2% = 0 end_if res% = dll_call2("SetVuMeterValue",VU1%,vvu1%) res% = dll_call2("SetVuMeterValue",VU2%,vvu1%) res% = dll_call2("SetVuMeterValue",VU3%,vvu2%) res% = dll_call2("SetVuMeterValue",VU4%,vvu1%) res% = dll_call2("SetVuMeterValue",VU5%,vvu1%) res% = dll_call2("SetVuMeterValue",VU6%,vvu2%) res% = dll_call2("SetVuMeterValue",VU7%,vvu1%) res% = dll_call2("SetVuMeterValue",VU8%,vvu1%) res% = dll_call2("SetVuMeterValue",VU9%,vvu2%) res% = dll_call2("SetVuMeterValue",VU10%,vvu1%) res% = dll_call2("SetVuMeterValue",VU11%,vvu1%) res% = dll_call2("SetVuMeterValue",VU12%,vvu2%) end_if if checked(3)=1 if dir%=0 vlcd% = vlcd% + 2 if vlcd%>9900 then dir% = 1 else vlcd% = vlcd% - 2 if vlcd%<10 then dir% = 0 end_if s$ = str$(vlcd%) res% = dll_call2("SetVuMeterValue",LCD1%,adr(s$)) res% = dll_call2("SetVuMeterValue",LCD2%,adr(s$)) end_if timer_on 11 return stopper: timer_off 11 stop% = 1 return restart: if stop%=0 then return stop% = 0 timer_on 11 return
montrer: gosub stopper if checked(1)=1 then gosub type1 if checked(2)=1 then gosub type2 if checked(3)=1 then gosub type3 return
type1: gosub DeleteType2 gosub DeleteType3 ' TA3nalogGauge ok ' style: 0=gauche 1=droite 2=centre vag% = 75 AG1% = dll_call3("CreateVUMeter",handle(0),1,0) res% = dll_call2("SetVuMeterOrientation",AG1%,0) res% = dll_call5("LocalizeVuMeter",AG1%,20,100,200,200) res% = dll_call2("SetVuMeterValue",AG1%,vag%) : ' sera remplacé par AutoUpdate ! LCD1a% = dll_call2("AutoUpdate",AG1%,adr(valeur%))
AG2% = dll_call3("CreateVUMeter",handle(0),1,1) res% = dll_call2("SetVuMeterOrientation",AG2%,1) res% = dll_call5("LocalizeVuMeter",AG2%,240,100,200,200) res% = dll_call2("SetVuMeterValue",AG2%,vag%)
AG3% = dll_call3("CreateVUMeter",handle(0),1,0) res% = dll_call2("SetVuMeterOrientation",AG3%,2) res% = dll_call5("LocalizeVuMeter",AG3%,460,100,200,200) res% = dll_call2("SetVuMeterValue",AG3%,vag%) return DeleteType1: AG1% = dll_call1("DeleteVuMeter",AG1%) AG2% = dll_call1("DeleteVuMeter",AG2%) AG3% = dll_call1("DeleteVuMeter",AG3%) return
Type2: gosub DeleteType1 gosub DeleteType3 ' TVuMeter ok VU1% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU1%,1) res% = dll_call3("SetVuMeterFormat",VU1%,0,0) res% = dll_call2("SetVuMeterStyle",VU1%,0) res% = dll_call5("LocalizeVuMeter",VU1%,20,100,0,0) res% = dll_call2("SetVuMeterValue",VU1%,75) : ' sera remplacé par AutoUpdate ! LCD1a% = dll_call2("AutoUpdate",VU1%,adr(valeur%))
VU2% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU2%,1) res% = dll_call3("SetVuMeterFormat",VU2%,1,0) res% = dll_call2("SetVuMeterStyle",VU2%,1) res% = dll_call5("LocalizeVuMeter",VU2%,90,100,0,0) res% = dll_call2("SetVuMeterValue",VU2%,75)
VU3% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU3%,1) res% = dll_call3("SetVuMeterFormat",VU3%,2,0) res% = dll_call2("SetVuMeterStyle",VU3%,1) res% = dll_call5("LocalizeVuMeter",VU3%,160,100,0,0) res% = dll_call2("SetVuMeterValue",VU3%,0-75)
VU4% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU4%,1) res% = dll_call3("SetVuMeterFormat",VU4%,0,0) res% = dll_call2("SetVuMeterStyle",VU4%,0) res% = dll_call5("SetVuMeterSizes",VU4%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU4%,300,100,0,0) res% = dll_call2("SetVuMeterValue",VU4%,75)
VU5% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU5%,1) res% = dll_call3("SetVuMeterFormat",VU5%,1,0) res% = dll_call2("SetVuMeterStyle",VU5%,1) res% = dll_call5("SetVuMeterSizes",VU5%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU5%,340,100,0,0) res% = dll_call2("SetVuMeterValue",VU5%,75)
VU6% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU6%,1) res% = dll_call3("SetVuMeterFormat",VU6%,2,0) res% = dll_call2("SetVuMeterStyle",VU6%,1) res% = dll_call5("SetVuMeterSizes",VU6%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU6%,380,100,0,0) res% = dll_call2("SetVuMeterValue",VU6%,0-75)
VU7% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU7%,0) res% = dll_call3("SetVuMeterFormat",VU7%,0,0) res% = dll_call2("SetVuMeterStyle",VU7%,0) res% = dll_call5("LocalizeVuMeter",VU7%,450,100,0,0) res% = dll_call2("SetVuMeterValue",VU7%,75)
VU8% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU8%,0) res% = dll_call3("SetVuMeterFormat",VU8%,1,0) res% = dll_call2("SetVuMeterStyle",VU8%,1) res% = dll_call5("LocalizeVuMeter",VU8%,450,170,0,0) res% = dll_call2("SetVuMeterValue",VU8%,75)
VU9% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU9%,0) res% = dll_call3("SetVuMeterFormat",VU9%,2,0) res% = dll_call2("SetVuMeterStyle",VU9%,1) res% = dll_call5("LocalizeVuMeter",VU9%,450,240,0,0) res% = dll_call2("SetVuMeterValue",VU9%,0-75)
VU10% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU10%,0) res% = dll_call3("SetVuMeterFormat",VU10%,0,0) res% = dll_call2("SetVuMeterStyle",VU10%,0) res% = dll_call5("SetVuMeterSizes",VU10%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU10%,450,350,0,0) res% = dll_call2("SetVuMeterValue",VU10%,75)
VU11% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU11%,0) res% = dll_call3("SetVuMeterFormat",VU11%,1,0) res% = dll_call2("SetVuMeterStyle",VU11%,1) res% = dll_call5("SetVuMeterSizes",VU11%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU11%,450,390,0,0) res% = dll_call2("SetVuMeterValue",VU11%,75)
VU12% = dll_call3("CreateVUMeter",handle(0),2,0) res% = dll_call2("SetVuMeterOrientation",VU12%,0) res% = dll_call3("SetVuMeterFormat",VU12%,2,0) res% = dll_call2("SetVuMeterStyle",VU12%,1) res% = dll_call5("SetVuMeterSizes",VU12%,20,10,10,5) res% = dll_call5("LocalizeVuMeter",VU12%,450,430,0,0) res% = dll_call2("SetVuMeterValue",VU12%,0-75) return
DeleteType2: VU1% = dll_call1("DeleteVuMeter",VU1%) VU2% = dll_call1("DeleteVuMeter",VU2%) VU3% = dll_call1("DeleteVuMeter",VU3%) VU4% = dll_call1("DeleteVuMeter",VU4%) VU5% = dll_call1("DeleteVuMeter",VU5%) VU6% = dll_call1("DeleteVuMeter",VU6%) VU7% = dll_call1("DeleteVuMeter",VU7%) VU8% = dll_call1("DeleteVuMeter",VU8%) VU9% = dll_call1("DeleteVuMeter",VU9%) VU10% = dll_call1("DeleteVuMeter",VU10%) VU11% = dll_call1("DeleteVuMeter",VU11%) VU12% = dll_call1("DeleteVuMeter",VU12%) return
type3: gosub DeleteType1 gosub DeleteType2 ' TLCD99 ok silver% = hex("C0C0C0") vlcd% = 8075 s$ = str$(vlcd%) LCD1% = dll_call3("CreateVUMeter",handle(0),3,0) res% = dll_call5("SetVuMeterSizes",LCD1%,4,5,0,0) res% = dll_call5("LocalizeVuMeter",LCD1%,20,100,120,50) res% = dll_call2("SetVuMeterStyle",LCD1%,0) ' res% = dll_call3("SetVuMeterFormat",LCD1%,4,1000) : ' +++ en test ' res% = dll_call5("SetVuMeterColors",LCD1%,0,255,silver%,0) res% = dll_call5("SetVuMeterColors",LCD1%,0,255,0,0) res% = dll_call2("SetVuMeterValue",LCD1%,adr(s$)) : ' sera remplacé par AutoUpdate ! LCD1a% = dll_call2("AutoUpdate",LCD1%,adr(valeur%))
LCD2% = dll_call3("CreateVUMeter",handle(0),3,0) res% = dll_call5("SetVuMeterSizes",LCD2%,4,5,0,0) res% = dll_call5("LocalizeVuMeter",LCD2%,160,100,120,50) res% = dll_call2("SetVuMeterStyle",LCD2%,1) ' res% = dll_call5("SetVuMeterColors",LCD2%,0,255,silver%,0) res% = dll_call5("SetVuMeterColors",LCD2%,0,255,0,0) res% = dll_call2("SetVuMeterValue",LCD2%,adr(s$))
return DeleteType3: LCD1% = dll_call1("DeleteVuMeter",LCD1%) LCD2% = dll_call1("DeleteVuMeter",LCD2%) return
EDITLa doc en ligne est à jour ! http://klauspanoramic.esy.es/SommaireIndex.html | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Mar 5 Déc 2017 - 9:25 | |
| Bonjour Klaus ! Je n'ai pas tout compris mais si toi tu y vois une avancée c'est une bonne chose ! En tous cas, merci et bravo pour ton travail même si je n'interviens pas tout le temps... Au fait, tu indiques : - VuMeter: finalisation. Serait-il prêt à fonctionner ? Ma question est peut-être bête mais comme tu nous montres des exemples avec des variations calculés par tes soins, je me demandé s"il fonctionnait avec une source sonore ? Il faut dire que je ne me suis pas encore vraiment penché sur le code et les fonctions. J'attends ton feu vert ! | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Mar 5 Déc 2017 - 11:33 | |
| | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: KGF_dll - nouvelles versions Mar 5 Déc 2017 - 14:18 | |
| Merci Klaus ! En cherchant comment changer l'unité d'affichage (mV actuellement) dans l'aide de KGF, j'ai vu une petite faute de frappe : Je continuerai ce soir, après dîner, mes essais. Merci encore ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 5 Déc 2017 - 18:49 | |
| @Minibug: - Citation :
- Au fait, tu indiques : - VuMeter: finalisation. Serait-il prêt à fonctionner ?
Oui, il fonctionne. Mais attention: c'est une unité d'affichage, rien de plus. Tu peux lui imposer une valeur, une fois ou de façon répétitive (c'est ce que je fais dans mon programme de démo), tu peux aussi, via l'objet AutoUpdater, attacher le VuMeter à une variable Panoramic de type integer, et tout changement de valeur sera immédiatement reporté sur le VuMeter. Le programme de démo montre ncela aussi. Par contre, je n'ai pas encore le lien avec une source sonore - c'est en cours. @Marc: - Citation :
- En cherchant comment changer l'unité d'affichage (mV actuellement) dans l'aide de KGF
Actuellement, ce n'est pas possible. Mais ça viendra dans la prochaine version. C'est évidemment à faire. - Citation :
- j'ai vu une petite faute de frappe
Merci de l'avoir signalée - je corrige pour la prochaine version. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Mar 5 Déc 2017 - 19:30 | |
| Ok Klaus merci pour ces précisions. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 8 Déc 2017 - 14:02 | |
| Nouvelle version: KGF.dll V8.08 du 08/12/2017Nouveautés: - Nouvelles fonctions: SetMasterVolume, GetMasterVolumeModules modifiés: KGF.dllLa doc et les sources seront actualisées ce soir. Ces deux fonctions agissent sur le volume principal, et version MONO - les canaux gauche et droite gérés simultanément. On les utilise de la manire suivante: - Code:
-
volume% = dll_call0("GetMasterVolume") : ' retourne une valeur entre 0 et 65535 res% = dll_call1("SetMasterVolume",volume%) : impose cette valeur comme volume principal | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 8 Déc 2017 - 14:31 | |
| Super Klaus !
J'ai intégré les 2 fonctions dans mon programme de radio. Ça fonctionne parfaitement pour régler le volume.
Par contre à l'initialisation de ma track_bar, j'ai un problème avec vol% = dll_call0("GetMasterVolume") Je me retrouve avec une valeur à -1678918 ?!
Edit : J'ai vu ton autre post et j'ai modifié mon code. Cette fois tout fonctionne. Bravo Klaus et encore une fois merci ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 8 Déc 2017 - 15:06 | |
| C'est corrigé. Tu peux recharger la DLL.
Tu verras, dans l'autre fil de discussion consacrée à cette radio, j'ai posté le source adapté, en supprimant totalement les références à une DLL externe. | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Ven 8 Déc 2017 - 15:35 | |
| yes klaus ça avance kgf a grand pas
| |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Ven 8 Déc 2017 - 15:45 | |
| | |
| | | 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 Sam 9 Déc 2017 - 0:07 | |
| - Citation :
- minibug on dit merci a qui
A mon humble avis, on dit merci à tous ceux qui prennent la peine de venir en aide à celui qui en demande. On dit merci à tous ceux qui se portent volontiers pour répondre aux questions posées par quelqu’un. On dit merci à tous ceux qui partagent leurs codes et leurs savoirs. On dit merci à tous ceux qui interviennent sur ce forum pour le bien de tous. On dit merci à tous ceux qui apportent un peu d’humour sur ce forum. On dit merci à celui qui a crée ce forum. On dit merci à celui qui a crée PANORAMIC. On dit merci à celui qui à offert gratuitement PANORAMIC à tout le monde. On dit merci à tous ceux qui sont entrain de lire actuellement ma prose. Et j’en oublie sûrement d’autres qui méritent un GRAND MERCI. | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Sam 9 Déc 2017 - 0:10 | |
| papydall je plaisante!!!!!!! | |
| | | 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
| |
| |
| |