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 |
|
|
| 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto | |
| | |
Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 1:16 | |
| Là j'ai un avis divergent... L'utilisateur d'un programme ( un tiers ) a une dll qui fonctionne avec son programme et les avancées de la dll ne l'intéresse que si le programme a évolué et utilise de nouvelles fonctions de la dll. Si le programme évolue autant qu'il télécharge une MAJ complète ( prog + dlls et autres fichiers ). Alors que pour nous qui programmons, l'évolution de la dll peut affecter l'évolution de nos programmes et la mise à jour de la dll de cette manière est un super truc ( adieu les copier/coller, navigation sur mydrive et autres pertes de temps ). Je pense que tu devrais penser à inclure dans ce dossier KGF_Sub et les fichiers *.chm cela n'en fait que cinq... Pour les autres dlls, on peut toujours aller sur mydrive mais celle ci sont les plus courantes et évoluent régulièrement... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 1:25 | |
| Bon, j'ai mis aussi: KGF_SUB.bas KGF.chm, KGF.doc, KGF.pdf BDR_SUB.chm, BDR_SUB.doc, BDR_SUB.pdf Tu peux maintenant te faire un petit programme Panoramic qui charge tous ces fichiers en une seule opération. Beaucoup plus simple que le télé-chargement de MyDrive. Voici un exemple: - Code:
-
' automatic_update_all.bas
dim url1$ : url1$ = "http://klaus.panoramic.voila.net/versions/KGF.dll" dim url2$ : url2$ = "http://klaus.panoramic.voila.net/versions/BDR.dll" dim url3$ : url3$ = "http://klaus.panoramic.voila.net/versions/KGF_SUB.bas" dim url4$ : url4$ = "http://klaus.panoramic.voila.net/versions/KGF.chm" dim url5$ : url5$ = "http://klaus.panoramic.voila.net/versions/KGF.doc" dim url6$ : url6$ = "http://klaus.panoramic.voila.net/versions/KGF.pdf" dim url7$ : url7$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.chm" dim url8$ : url8$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.doc" dim url9$ : url9$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.pdf"
dim dossier$ : dossier$ = "C:\temp\"
KGF_initialize("KGF.dll")
progress_bar 1 : top 1,10 : left 1,10 : width 1,width(0)-30 min 1,0 : max 1:9 : position 1,0
DownloadFile(url1$,dossier$+"KGF.dll") position 1,1 DownloadFile(url2$,dossier$+"BDR.dll") position 1,2 DownloadFile(url3$,dossier$+"KGF_SUB.bas") position 1,3 DownloadFile(url4$,dossier$+"KGF.chm") position 1,4 DownloadFile(url5$,dossier$+"KGF.doc") position 1,5 DownloadFile(url6$,dossier$+"KGF.pdf") position 1,6 DownloadFile(url7$,dossier$+"BDR_SUB.chm") position 1,7 DownloadFile(url8$,dossier$+"BDR_SUB.doc") position 1,9 DownloadFile(url8$,dossier$+"BDR_SUB.pdf") position 1,9
message "fini"
end
#INCLUDE "KGF_SUB.bas"
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 1:27 | |
| On s'est croisé. J'ai répondu apparemment par avance à ta suggestion.
mais tu as tort sur un point: même l'utilisateur final a intérêt à avoir toujours la dernière version de la DLL, ne serait-ce que pour être sûr d'avoir la correction d'éventuels bugs dans les fonctions existantes. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 1:33 | |
| Tu as raison et tort.. Car, si il y a des bugs dans les fonctions que l'on utilise pour nos progs, On t' aura cassé les pieds avant le tiers utilisateur... Je vais inclure dans le prog les nouvelles adresses. Merci Klaus ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 5:39 | |
| J' ai repris tes lignes, j' en ai ajouté quelques unes et cela donne çà : - Code:
-
' ****************************************************************************** ' * KGF_UPDATER * ' * ---------- * ' * Version 0.1 du 15/05/2013 * ' ******************************************************************************
Variables() Constantes() Labels() Init() GUI()
end
' __________________________________________________________________DECLARATIONS
Sub Variables() dim i% dim Clic% dim Nb_Fich% dim vKGF$,vBDR$ End_Sub
Sub Constantes() dim url1$ : url1$ = "http://klaus.panoramic.voila.net/versions/KGF.dll" dim url2$ : url2$ = "http://klaus.panoramic.voila.net/versions/BDR.dll" dim url3$ : url3$ = "http://klaus.panoramic.voila.net/versions/KGF_SUB.bas" dim url4$ : url4$ = "http://klaus.panoramic.voila.net/versions/KGF.chm" dim url5$ : url5$ = "http://klaus.panoramic.voila.net/versions/KGF.doc" dim url6$ : url6$ = "http://klaus.panoramic.voila.net/versions/KGF.pdf" dim url7$ : url7$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.chm" dim url8$ : url8$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.doc" dim url9$ : url9$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.pdf" dim path$ : path$ = Dir_Current$+"\" dim KGF$ : KGF$ = path$+"KGF.dll" dim BDR$ : BDR$ = path$+"BDR.dll" dim T$ :T$ = "KGF.dll/BDR.dll/KGF_SUB.bas/KGF.chm/KGF.doc/KGF.pdf/BDR_SUB.chm/BDR_SUB.doc/BDR_SUB.pdf/" dim D$ :D$ = path$+"temp\" dim Fic$ : Fic$ = D$+"Versions.txt" End_Sub
Sub Labels() Label Clic,Clic2 End_Sub
' _______________________________________________________________INITIALISATIONS
Sub Init() KGF_initialize(KGF$) BDRinitialize(BDR$) End_Sub
' _____________________________________________________________________INTERFACE
Sub GUI() Dim_local T%,Sep%,C$ O_Form(0,0,1,0,0,250,400,"KGF UPDATER") font_name 0,"arial" O_Alpha(10,0,1,15,10,0,0,"Choisissez les fichiers à mettre à jour :") font_color 10,0,0,255 :font_bold 10 T%=20 For i%= 1 to 5 T%=T%+25 :O_Check(i%,0,1,T%,10,0,0,""):on_click i%,clic2:cursor_point i% Next i% T%=20 For i%= 6 to 9 T%=T%+25 :O_Check(i%,0,1,T%,200,0,0,""):on_click i%,clic2:cursor_point i% Next i% For i%= 1 to 9 Sep%=instr(T$,"/") C$=left$(T$,Sep%-1) if len(T$)>1 : T$=Right$(T$,Len(T$)-Sep%):end_if Caption i%,C$ Next i% O_Button(11,0,1,160,350,25,25,"q",1) font_name 11,"Webdings":font_size 11,14:font_color 11,255,0,0 hint 11,"Mise à jour" O_Statut_Bar(12,0,1,0) O_Alpha(13,0,1,height(0)-56,20,0,0,"") O_Progress_Bar(14,0,0,height(0)-58,width(0)-140,0,100) O_DList(15,"") End_Sub
Clic: Chargement() return
Clic2: For i%=1 to 9 If Clicked(i%)=1 If Checked(i%)=1 Nb_Fich%=Nb_Fich%+1 Else Nb_Fich%=Nb_Fich%-1 End_if End_if Next i% return
Sub Chargement() Dim_local x%,nf% if Dir_exists(D$)=0 :Dir_Make D$ : End_if for x%=1 to 9 :inactive x% :next x% caption 13,"Chargement des fichiers..." display show 14 :Min 14,0 : max 14,Nb_Fich% :position 14,0 display if checked(1)=1:DownloadFile(url1$,D$+"KGF.dll") :position 14,position(14)+1:display:End_if if checked(2)=1:DownloadFile(url2$,D$+"BDR.dll") :position 14,position(14)+1:display:End_if if checked(3)=1:DownloadFile(url3$,D$+"KGF_SUB.bas"):position 14,position(14)+1:display:End_if if checked(4)=1:DownloadFile(url4$,D$+"KGF.chm") :position 14,position(14)+1:display:End_if if checked(5)=1:DownloadFile(url5$,D$+"KGF.doc") :position 14,position(14)+1:display:End_if if checked(6)=1:DownloadFile(url6$,D$+"KGF.pdf") :position 14,position(14)+1:display:End_if if checked(7)=1:DownloadFile(url7$,D$+"BDR_SUB.chm"):position 14,position(14)+1:display:End_if if checked(8)=1:DownloadFile(url8$,D$+"BDR_SUB.doc"):position 14,position(14)+1:display:End_if if checked(9)=1:DownloadFile(url8$,D$+"BDR_SUB.pdf"):position 14,position(14)+1:display:End_if position 14,0 :caption 13,""
GetActualVersions(Fic$) file_load 15,Fic$ KGFdllversion() vKGF$ = KGFdllversion$
BDRversion(vers$) vBDR$ = BDRversion$ if checked(1)=1 nf%=nf%+1 if vKGF$<>item_read$(15,1) Min 14,0 :Max 14,4 Caption 13,"Mise à jour de KGF.dll" :display UnloadDLL(BDR_handle%) position 14,1 :display dll_off position 14,2 :display if file_exists(KGF$):file_delete KGF$:End_if free KGF_initialize : free KGF_res% position 14,3 :display file_rename temp$,KGF$ position 14,4 wait 500 :position 14,0 :caption 13,"" end_if end_if if checked(2)=1 nf%=nf%+1 if vBDR$<>item_read$(15,2) Min 14,0 :Max 14,4 Caption 13,"Mise à jour de BDR.dll" :display UnloadDLL(BDR_handle%) position 14,1 :display dll_off position 14,2 :display if file_exists(BDR$) then file_delete BDR$ position 14,3 :display file_rename temp$,BDR$ position 14,4 wait 500 :position 14,0 :caption 13,"" end_if end_if nf% = Nb_Fich% -nf% Min 14,0 :Max 14,nf% caption 13,"Mise à jour des fichiers" if checked(3)=1 if file_exists(path$+"KGF_SUB.bas")=1 :file_delete path$+"KGF_SUB.bas":end_if file_rename D$+"KGF_SUB.bas",path$+"KGF_SUB.bas" position 14,position(14)+1 :display end_if if checked(4)=1 if file_exists(path$+"KGF.chm")=1 :file_delete path$+"KGF.chm":end_if file_rename D$+"KGF.chm",path$+"KGF.chm" position 14,position(14)+1 :display end_if if checked(5)=1 if file_exists(path$+"KGF.doc")=1 :file_delete path$+"KGF.doc":end_if file_rename D$+"KGF.doc",path$+"KGF.doc" position 14,position(14)+1 :display end_if if checked(6)=1 if file_exists(path$+"KGF.pdf")=1 :file_delete path$+"KGF.pdf":end_if file_rename D$+"KGF.pdf",path$+"KGF.pdf" position 14,position(14)+1 :display end_if if checked(7)=1 if file_exists(path$+"BDR_SUB.chm")=1 :file_delete path$+"BDR_SUB.chm":end_if file_rename D$+"BDR_SUB.chm",path$+"BDR_SUB.chm" position 14,position(14)+1 :display end_if if checked(8)=1 if file_exists(path$+"BDR_SUB.doc")=1 :file_delete path$+"BDR_SUB.doc":end_if file_rename D$+"BDR_SUB.doc",path$+"BDR_SUB.doc" position 14,position(14)+1 :display end_if if checked(9)=1 if file_exists(path$+"BDR_SUB.pdf")=1 :file_delete path$+"BDR_SUB.pdf":end_if file_rename D$+"BDR_SUB.pdf",path$+"BDR_SUB.pdf" position 14,position(14)+1 :display end_if
if variable("KGF_initialize")=0 KGF_initialize(KGF$) BDRinitialize(BDR$) end_if for x%=1 to 9 :active x% :mark_off x% :next x% Nb_Fich%=0 file_delete D$+"Versions.txt" position 14,0 :caption 13,"" :hide 14 End_Sub
#include "KGF_SUB.bas" #include "OBJ_SUB.bas" C'est à compiler/assembler et placer dans le dossier où se trouve tout les fichiers dit KGF Normalement, cela devrait fonctionner mais comme c'est la première version de KGF.dll avec ces fonctions dur dur de faire des essais puisque la dernière version est en cours. Donc, il ne te reste plus qu' à nous faire de nouvelles fonctions, pour que l'on puisse essayer celle la !.... Je place tout le dossier sur mon webdav dans "en cours" Aller | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 8:13 | |
| | |
| | | maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: "OBJ_SUB.bas" Mer 15 Mai 2013 - 9:53 | |
| Excusez mon ignorance...
Mais où trouve-t- on "OBJ_SUB.bas"
j'ai bien trouvé "KGF_SUB.bas" mais pas le obj | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 9:57 | |
| C'est une erreur - cela devrait être BDR_SUB.bas
EDIT
Désolé. Autant pour moi. Il s'agit d'un module réalisé par Ygeronimi pour créer facilement des objets. A récupérer sur le WebDav de YGeronimi... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 10:28 | |
| Je me suis permis de faire une version modifiée du programme de Ygeronimi, pour s'affranchir du module OBJ_SUB.bas. Les créations d'objets se font directement par des moyens Panoramic simples: - Code:
-
' ****************************************************************************** ' * KGF_UPDATER * ' * ---------- * ' * Version 0.1 du 15/05/2013 * ' ******************************************************************************
Variables() Constantes() Labels() Init() GUI()
end
' __________________________________________________________________DECLARATIONS
Sub Variables() dim i% dim Clic% dim Nb_Fich% dim vKGF$,vBDR$ End_Sub
Sub Constantes() dim url1$ : url1$ = "http://klaus.panoramic.voila.net/versions/KGF.dll" dim url2$ : url2$ = "http://klaus.panoramic.voila.net/versions/BDR.dll" dim url3$ : url3$ = "http://klaus.panoramic.voila.net/versions/KGF_SUB.bas" dim url4$ : url4$ = "http://klaus.panoramic.voila.net/versions/KGF.chm" dim url5$ : url5$ = "http://klaus.panoramic.voila.net/versions/KGF.doc" dim url6$ : url6$ = "http://klaus.panoramic.voila.net/versions/KGF.pdf" dim url7$ : url7$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.chm" dim url8$ : url8$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.doc" dim url9$ : url9$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.pdf" dim path$ : path$ = Dir_Current$+"\" dim KGF$ : KGF$ = path$+"KGF.dll" dim BDR$ : BDR$ = path$+"BDR.dll" dim T$ :T$ = "KGF.dll/BDR.dll/KGF_SUB.bas/KGF.chm/KGF.doc/KGF.pdf/BDR_SUB.chm/BDR_SUB.doc/BDR_SUB.pdf/" dim D$ :D$ = path$+"temp\" dim Fic$ : Fic$ = D$+"Versions.txt" End_Sub
Sub Labels() Label Clic,Clic2 End_Sub
' _______________________________________________________________INITIALISATIONS
Sub Init() KGF_initialize(KGF$) BDRinitialize(BDR$) End_Sub
' _____________________________________________________________________INTERFACE
Sub GUI() Dim_local T%,Sep%,C$ ' O_Form(0,0,1,0,0,250,400,"KGF UPDATER") height 0,250 : width 0,400 : caption 0,"KGF UPDATER" font_name 0,"arial" ' O_Alpha(10,0,1,15,10,0,0,"Choisissez les fichiers à mettre à jour :") alpha 10 : left 10,15 : top 10,10 : caption 10,"Choisissez les fichiers à mettre à jour :" font_color 10,0,0,255 :font_bold 10 T%=20 For i%= 1 to 5 ' T%=T%+25 :O_Check(i%,0,1,T%,10,0,0,""):on_click i%,clic2:cursor_point i% T%=T%+25 :check i% : top i%,T% : left i%,10 on_click i%,clic2:cursor_point i% Next i% T%=20 For i%= 6 to 9 ' T%=T%+25 :O_Check(i%,0,1,T%,200,0,0,""):on_click i%,clic2:cursor_point i% T%=T%+25 :check i% : top i%,T% : left i%,200 on_click i%,clic2:cursor_point i% Next i% For i%= 1 to 9 Sep%=instr(T$,"/") C$=left$(T$,Sep%-1) if len(T$)>1 : T$=Right$(T$,Len(T$)-Sep%):end_if Caption i%,C$ Next i% ' O_Button(11,0,1,160,350,25,25,"q",1) button 11 : top 11,160 : left 11,350 : height 11,25 : width 11,25 : caption 11,"q" font_name 11,"Webdings":font_size 11,14:font_color 11,255,0,0 hint 11,"Mise à jour" : on_click 11,clic ' O_Statut_Bar(12,0,1,0) ' O_Alpha(13,0,1,height(0)-56,20,0,0,"") alpha 13 : top 13,height(0)-56 : left 13,20 ' O_Progress_Bar(14,0,0,height(0)-58,width(0)-140,0,100) progress_bar 14 : hide 14 : top 14,height(0)-78 : left 14,20 min 14,0 : max 14,100 ' O_DList(15,"") dlist 15 End_Sub
Clic: Chargement() return
Clic2: For i%=1 to 9 If Clicked(i%)=1 If Checked(i%)=1 Nb_Fich%=Nb_Fich%+1 Else Nb_Fich%=Nb_Fich%-1 End_if End_if Next i% return
Sub Chargement() Dim_local x%,nf% if Dir_exists(D$)=0 :Dir_Make D$ : End_if for x%=1 to 9 :inactive x% :next x% caption 13,"Chargement des fichiers..." display show 14 :Min 14,0 : max 14,Nb_Fich% :position 14,0 display if checked(1)=1:DownloadFile(url1$,D$+"KGF.dll") :position 14,position(14)+1:display:End_if if checked(2)=1:DownloadFile(url2$,D$+"BDR.dll") :position 14,position(14)+1:display:End_if if checked(3)=1:DownloadFile(url3$,D$+"KGF_SUB.bas"):position 14,position(14)+1:display:End_if if checked(4)=1:DownloadFile(url4$,D$+"KGF.chm") :position 14,position(14)+1:display:End_if if checked(5)=1:DownloadFile(url5$,D$+"KGF.doc") :position 14,position(14)+1:display:End_if if checked(6)=1:DownloadFile(url6$,D$+"KGF.pdf") :position 14,position(14)+1:display:End_if if checked(7)=1:DownloadFile(url7$,D$+"BDR_SUB.chm"):position 14,position(14)+1:display:End_if if checked(8)=1:DownloadFile(url8$,D$+"BDR_SUB.doc"):position 14,position(14)+1:display:End_if if checked(9)=1:DownloadFile(url8$,D$+"BDR_SUB.pdf"):position 14,position(14)+1:display:End_if position 14,0 :caption 13,""
GetActualVersions(Fic$) file_load 15,Fic$
KGFdllversion() vKGF$ = KGFdllversion$
BDRversion(vers$) vBDR$ = BDRversion$
if checked(1)=1 nf%=nf%+1 if vKGF$<>item_read$(15,1) Min 14,0 :Max 14,4 Caption 13,"Mise à jour de KGF.dll" :display UnloadDLL(BDR_handle%) position 14,1 :display dll_off position 14,2 :display if file_exists(KGF$):file_delete KGF$:End_if free KGF_initialize : free KGF_res% position 14,3 :display file_rename temp$,KGF$ position 14,4 wait 500 :position 14,0 :caption 13,"" end_if end_if
if checked(2)=1 nf%=nf%+1 if vBDR$<>item_read$(15,2) Min 14,0 :Max 14,4 Caption 13,"Mise à jour de BDR.dll" :display UnloadDLL(BDR_handle%) position 14,1 :display dll_off position 14,2 :display if file_exists(BDR$) then file_delete BDR$ position 14,3 :display file_rename temp$,BDR$ position 14,4 wait 500 :position 14,0 :caption 13,"" end_if end_if
nf% = Nb_Fich% -nf% Min 14,0 :Max 14,nf% caption 13,"Mise à jour des fichiers" if checked(3)=1 if file_exists(path$+"KGF_SUB.bas")=1 :file_delete path$+"KGF_SUB.bas":end_if file_rename D$+"KGF_SUB.bas",path$+"KGF_SUB.bas" position 14,position(14)+1 :display end_if if checked(4)=1 if file_exists(path$+"KGF.chm")=1 :file_delete path$+"KGF.chm":end_if file_rename D$+"KGF.chm",path$+"KGF.chm" position 14,position(14)+1 :display end_if if checked(5)=1 if file_exists(path$+"KGF.doc")=1 :file_delete path$+"KGF.doc":end_if file_rename D$+"KGF.doc",path$+"KGF.doc" position 14,position(14)+1 :display end_if if checked(6)=1 if file_exists(path$+"KGF.pdf")=1 :file_delete path$+"KGF.pdf":end_if file_rename D$+"KGF.pdf",path$+"KGF.pdf" position 14,position(14)+1 :display end_if if checked(7)=1 if file_exists(path$+"BDR_SUB.chm")=1 :file_delete path$+"BDR_SUB.chm":end_if file_rename D$+"BDR_SUB.chm",path$+"BDR_SUB.chm" position 14,position(14)+1 :display end_if if checked(8)=1 if file_exists(path$+"BDR_SUB.doc")=1 :file_delete path$+"BDR_SUB.doc":end_if file_rename D$+"BDR_SUB.doc",path$+"BDR_SUB.doc" position 14,position(14)+1 :display end_if if checked(9)=1 if file_exists(path$+"BDR_SUB.pdf")=1 :file_delete path$+"BDR_SUB.pdf":end_if file_rename D$+"BDR_SUB.pdf",path$+"BDR_SUB.pdf" position 14,position(14)+1 :display end_if
if variable("KGF_initialize")=0 KGF_initialize(KGF$) BDRinitialize(BDR$) end_if
for x%=1 to 9 :active x% :mark_off x% :next x% Nb_Fich%=0 file_delete D$+"Versions.txt" position 14,0 :caption 13,"" :hide 14 End_Sub
#include "KGF_SUB.bas" ' #include "OBJ_SUB.bas"
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 11:13 | |
| @ maelilou,Comme je l' ai noté sur mon dernier post, le dossier complet est dispo sur mon webdav. Login : | panoramic@ygeronimi | MdP : | panoramic123 | Dossier : | " En Cours\ Update KGF.zip" |
OBJ_SUB.bas est une librairie d'objet que je crée grâce à "Bibbliolib" une appli de mon cru. Cette librairie est variable selon les besoins du programme que je crée. Exceptionnellement, car je ne veux pas manger trop de place sur le forum, voilà OBJ_SUB.bas pour KGF_UPDATER : - Code:
-
' ______________________________________________________________________________ Sub O_Form(No%,P%,V%,T%,L%,H%,W%,C$) if No%> 0 then FORM No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If if C$<>"" then Caption No%,C$ End_Sub ' ______________________________________________________________________________ Sub O_Alpha(No%,P%,V%,T%,L%,H%,W%,C$) ALPHA No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ End_Sub ' ______________________________________________________________________________ Sub O_Edit(No%,P%,V%,T%,L%,H%,W%,T$,Ch%) EDIT No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% If T$<>"" Then Text No%,T$ If Ch%=1 Then On_Change No%,Change End_Sub ' ______________________________________________________________________________ Sub O_Button(No%,P%,V%,T%,L%,H%,W%,C$,Cl%) BUTTON No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ if Cl%> 0 then on_click No%,Clic cursor_point No% End_Sub ' ______________________________________________________________________________ Sub O_Picture(No%,P%,V%,T%,L%,H%,W%,P$) PICTURE No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if P$<>"" then File_load No%,P$ End_Sub ' ______________________________________________________________________________ Sub O_Check(No%,P%,V%,T%,L%,H%,W%,C$) CHECK No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ End_Sub ' ______________________________________________________________________________ Sub O_Open_Dialog(No%,Out%,DD$,Filtre$,O%) dim_local F$ If Object_Exists(No%)=0 OPEN_DIALOG No% End_if if DD$<>"" then Dir_Dialog No%,DD$ if filtre$<>"" then Filter No%,Filtre$ F$=File_name$(No%) if variable("File$")=0:Dim File$:End_If if F$<>"_" if O%=1 then text out%,F$ if O%=2 then Caption Out%,F$ if O%=3 then item_add Out%,F$ if O%=4 then file_load Out%,F$ if O%=5 then File$=F$ end_if Delete No% End_Sub ' ______________________________________________________________________________ Sub O_Save_Dialog(No%,NOut%,DD$,Filtre$) dim_local F$ If Object_Exists(No%)=0 SAVE_DIALOG No% End_If If DD$<>"" then Dir_Dialog No%,DD$ If filtre$<>"" then Filter No%,Filtre$ F$=file_name$(No%) If F$<>"_" File_Save NOut%,F$ End_If End_Sub ' ______________________________________________________________________________ Sub O_Progress_Bar(No%,P%,V%,T%,L%,H%,W%) PROGRESS_BAR No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' ______________________________________________________________________________ Sub O_Dlist(No%,F$) DLIST No% if F$<>"" then file_load No%,F$ End_Sub ' ______________________________________________________________________________ Sub O_Statut_Bar(No%,P%,V%,M%) Dim_Local No2% ,x% ,a% ,Pa%,OSB2% No%=Number_Objects+1 :Pa%=P% :No2%=No% for x%=1 to Number_Objects:If Object_Type(x%)=13 :a%=1:End_If:Next x% If M%=0 O_Picture(No2%,P%,V%,Height(P%)-61,0,23,width(P%)-16,"") Else O_Picture(No2%,P%,V%,Height(P%)-81,0,23,width(P%)-16,"") End_If OSB2%=No2% Adaptation_OSB(No2%,Pa%) End_Sub ' ______________________________________________________________________________ Sub Adaptation_OSB(No%,P%) Dim_Local x% ,y% ,z% ,t$ ,R_osb% ,G_osb% ,B_osb% color No%,235,235,239 : y%=width(P%)-27 Restore while t$<>"OSB_Corps.bmp" :read t$:End_while Read R_osb% :Read G_osb% :Read B_osb% 2d_target_is No% : 2d_pen_color R_osb%,G_osb%,B_osb% for x%=0 to y% :2d_point x%,z% :next x% Restore while t$<>"OSB_Fin.bmp" :read t$:End_while for x%=y% to y%+10 for z%=0 to 22 Read R_osb% :Read G_osb% :Read B_osb% 2d_target_is No% : 2d_pen_color R_osb%,G_osb%,B_osb% 2d_point x%,z% next z% next x% Data "OSB_Corps.bmp" data 170,165,162 data "OSB_Fin.bmp" data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 170,165,162 data 242,239,239 data 170,165,162 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 170,165,162 data 242,239,239 data 170,165,162 data 170,165,162 data 242,239,239 data 170,165,162 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 End_Sub
Attention !!! Cette librairie n'est valable que pour cette application ! Pour une autre, même si elle porte le même nom, elle pourra être différente. Edit :Par souci de facilté, dans mes prog, quand je me sers de plusieurs fichiers "include" je nomme "FCT_SUB.bas" celui des fonctions et "OBJ_SUB.bas" la librairie d'objet. Seul le "main" prend le nom de l'application. @ Klaus,Tu as bien fait de te permettre... | |
| | | maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 11:42 | |
| Merci
Je vais y regarder. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 11:54 | |
| @ maelilou, Regardes, regardes.... Si tu veux regarder, "Bibliolib" se trouve dans le dossier :"\Sources\Objet_Lib\Bibbliolib_1" | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 13:39 | |
| Je suis toujours bloqué sur le DownloadFile qui ne veut rien savoir, cache vidé (merci pour l'info, Klaus) ou pas, toujours erreur 1.
Et finalement, je me suis inspiré du programme de Klaus pour faire la même chose, en plus simple, avec des Execute_Wait sur les Urls données (au lieu des DownloadFile), j'arrive tout de suite sur le téléchargement du fichier et c'est très bien comme ça. Peut-être moins confortable que la solution Klaus, mais ça me convient très bien, c'est bien plus rapide que la laborieuse connexion manuelle.
Une remarque annexe, en passant: L'Execute_Wait sur Url n'est pas bloquant, le programme se poursuit dans la foulée alors que j'ai la page affichée... je suis obligé de mettre un While/End_While sur l'existence du fichier pour attendre la fin du chargement. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 18:07 | |
| Peux tu mettre ton code ? ou le dossier c'est mieux ? | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 19:32 | |
| Mais bien volontiers mon ami ygeronimi, c'est facilement adaptable pour tes besoins personnels, et après je ferai quelques remarques: - Code:
-
' KGF_Update.bas: Mise à jour de KGF.dll et autres LABEL Fin, GUI, Clic2, Clic, Dlf, Valide DIM url$, urll$(20), fi$(20), Nbfich, a$, p$, nurl%, i%, j%, k%, t%, f$, tl$ DIM vers$, nf% p$ = "C:\PANORAMIC\KLAUS\DLLs\" tl$ = "C:\TELECHAR\": ' répertoire des téléchargements urll$(1) = "http://klaus.panoramic.voila.net/versions/KGF.dll" urll$(2) = "http://klaus.panoramic.voila.net/versions/KGF.pdf" urll$(3) = "http://klaus.panoramic.voila.net/versions/KGF.chm" urll$(4) = "http://klaus.panoramic.voila.net/versions/KGF.doc" urll$(5) = "http://klaus.panoramic.voila.net/versions/BDR.dll" urll$(6) = "http://klaus.panoramic.voila.net/versions/KGF_SUB.bas" urll$(7) = "http://klaus.panoramic.voila.net/versions/BDR_SUB.chm" urll$(8) = "http://klaus.panoramic.voila.net/versions/BDR_SUB.doc" urll$(9) = "http://klaus.panoramic.voila.net/versions/BDR_SUB.pdf" nurl% = 9 FOR i% = 1 TO nurl% a$ = urll$(i%) FOR k% = LEN(a$) TO 1 STEP -1 IF MID$(a$, k%, 1) = "/" THEN EXIT_FOR NEXT k% fi$(i%) = MID$(a$, k%+1, 20): ' fichier à charger NEXT i%
DLL_ON p$+"KGF.dll" GOSUB GUI END ' ============================================================================== Fin: TERMINATE
GUI: HEIGHT 0, nurl%*25+120: WIDTH 0,320: CAPTION 0,"KGF UPDATE": BORDER_SMALL 0 FONT_NAME 0,"Arial" ALPHA 10: LEFT 10,15: TOP 10,10: FONT_COLOR 10,0,0,255: FONT_BOLD 10 CAPTION 10,"Choisir les fichiers à mettre à jour:" t% = 15 FOR i% = 1 TO nurl% t% = t%+25: CHECK i%: TOP i%,t%: LEFT i%,10: WIDTH i%,200 ON_CLICK i%, Clic2: CURSOR_POINT i% IF i% = 1 vers$ = STRING$(25," ") j% = DLL_CALL1("KGFdllVersion",ADR(vers$)) CAPTION 1, vers$ ELSE CAPTION i%, fi$(i%) END_IF NEXT i% BUTTON 11: TOP 11,HEIGHT(0)-60: LEFT 11,220: CAPTION 11,"OK" ON_CLICK 11, Clic ALPHA 13: TOP 13,HEIGHT(0)-80: LEFT 13,10 BUTTON 14: TOP 14,TOP(11): LEFT 14,100: CAPTION 14,"Valider": HIDE 14 ON_CLICK 14, Valide RETURN ' ============================================================================== Clic2: FOR i% = 1 TO nurl% IF CLICKED(i%) = 1 IF CHECKED(i%) = 1 Nbfich = Nbfich + 1 ELSE Nbfich = Nbfich - 1 END_IF END_IF NEXT i% RETURN ' ============================================================================== Clic: CAPTION 13, "Chargement des fichiers..." nf% = 0 FOR j% = 1 TO nurl% IF CHECKED(j%) = 1 nf% = nf% + 1 url$ = urll$(j%): a$ = fi$(j%): ' fichier à charger GOSUB Dlf END_IF NEXT j% IF nf% = 0 THEN CAPTION 13, "": RETURN: ' pas de fichier coché CAPTION 11,"Quitter": ON_CLICK 11, Fin CAPTION 13,"Téléchargements terminés, valider ?" SHOW 14 RETURN ' ============================================================================== Dlf: f$ = tl$ + a$ IF FILE_EXISTS(f$) = 1 THEN FILE_DELETE f$ EXECUTE_WAIT url$ WHILE FILE_EXISTS(f$) = 0: WAIT 1000: END_WHILE ' ici, fichier téléchargé dans C:\Telechar RETURN ' ============================================================================== Valide: FOR i% = 1 TO nurl% IF CHECKED(i%) = 1 a$ = fi$(i%): ' fichier IF FILE_EXISTS(tl$+a$) = 1: ' fichier téléchargé IF FILE_EXISTS(p$+a$) = 1 THEN FILE_DELETE p$+a$ ' FILE_COPY tl$+a$,p$+a$ EXECUTE_WAIT "CMD.exe /C COPY " + tl$+a$ + " " + p$+a$ END_IF END_IF NEXT i% RETURN ' ============================================================================== Remarques: - Il y a des similitudes avec le code de Klaus, normal c'est ce qui m'a inspiré (après des essais infructueux). - Comme d'habitude, il faut adapter les chemins: variables p$ et tl$, celle-ci (tl$) étant le répertoire où s'effectuent automatiquement tous les téléchargements, chez moi (défini dans Firefox). Les fichiers sont rapatriés d'abord dans tl$, puis validés par recopie dans leur répertoire d'utilisation Panoramic. - Dans la routine 'Valide', j'ai remplacé le File_Copy de Panoramic par un appel à la fonction 'Copy' de Ms-Dos: en effet, le File_Copy me fait chaque fois une erreur: fichier déjà existant ? Donc, pour chaque fichier, il y a apparition d'une fenêtre de connexion avec proposition de téléchargement, à valider ou pas, c'est... semi-automatique ! On ferme, et ça passe au fichier suivant. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 19:52 | |
| Je vous mets une petite évolution de KGF_UPDATER : - Code:
-
' ****************************************************************************** ' * KGF_UPDATER * ' * ---------- * ' * Version 0.3 du 15/05/2013 * ' ******************************************************************************
Variables() Constantes() Labels() Init() GUI()
end
' __________________________________________________________________DECLARATIONS
Sub Variables() dim i%,Autre$ dim Clic% dim Nb_Fich% dim vKGF$,vBDR$ End_Sub
Sub Constantes() dim url1$ : url1$ = "http://klaus.panoramic.voila.net/versions/KGF.dll" dim url2$ : url2$ = "http://klaus.panoramic.voila.net/versions/BDR.dll" dim url3$ : url3$ = "http://klaus.panoramic.voila.net/versions/KGF_SUB.bas" dim url4$ : url4$ = "http://klaus.panoramic.voila.net/versions/KGF.chm" dim url5$ : url5$ = "http://klaus.panoramic.voila.net/versions/KGF.doc" dim url6$ : url6$ = "http://klaus.panoramic.voila.net/versions/KGF.pdf" dim url7$ : url7$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.chm" dim url8$ : url8$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.doc" dim url9$ : url9$ = "http://klaus.panoramic.voila.net/versions/BDR_SUB.pdf" dim path$ : path$ = Dir_Current$+"\" dim KGF$ : KGF$ = path$+"KGF.dll" dim BDR$ : BDR$ = path$+"BDR.dll" dim T$ :T$ = "KGF.dll/BDR.dll/KGF_SUB.bas/KGF.chm/KGF.doc/KGF.pdf/BDR_SUB.chm/BDR_SUB.doc/BDR_SUB.pdf/" dim D$ :D$ = path$+"temp\" dim Fic$ : Fic$ = D$+"Versions.txt" End_Sub
Sub Labels() Label Clic,Clic2 End_Sub
' _______________________________________________________________INITIALISATIONS
Sub Init() KGF_initialize(KGF$) BDRinitialize(BDR$) End_Sub
' _____________________________________________________________________INTERFACE
Sub GUI() Dim_local T%,Sep%,C$ O_Form(0,0,1,0,0,250,400,"KGF UPDATER") font_name 0,"arial" O_Alpha(10,0,1,15,10,0,0,"Choisissez les fichiers à mettre à jour :") font_color 10,0,0,255 :font_bold 10 T%=20 For i%= 1 to 5 T%=T%+25 :O_Check(i%,0,1,T%,10,0,0,""):on_click i%,clic2:cursor_point i% Next i% T%=20 For i%= 6 to 9 T%=T%+25 :O_Check(i%,0,1,T%,200,0,0,""):on_click i%,clic2:cursor_point i% Next i% For i%= 1 to 9 Sep%=instr(T$,"/") C$=left$(T$,Sep%-1) if len(T$)>1 : T$=Right$(T$,Len(T$)-Sep%):end_if Caption i%,C$ Next i% O_Button(11,0,1,160,350,25,25,"q",1) font_name 11,"Webdings":font_size 11,14:font_color 11,255,0,0 hint 11,"Mise à jour" O_Statut_Bar(12,0,1,0) O_Alpha(13,0,1,height(0)-56,20,0,0,"") O_Progress_Bar(14,0,0,height(0)-58,width(0)-140,0,100) O_DList(15,"") O_Button(16,0,1,160,100,0,150,"Autres fichiers à mettre à jour",1) O_DList(17,"") End_Sub
Sub F_Autre() If object_exists(18)=0 O_Form(18,0,1,top(0),left(0)+width(0)+5,height(0),400,"Autres...") font_name 18,"arial" O_Alpha(19,18,1,10,10,0,0,"Fichiers sélectionnés") font_bold 19 : font_color 19,0,0,255 O_List(23,18,1,30,10,150,364,"",0) O_Button(21,18,1,185,315,21,21,"+",1):font_size 21,12:font_bold 21 hint 21,"Ajouter un fichier à la liste" O_Button(22,18,1,185,341,21,21,"-",1):font_size 22,12:font_bold 22 hint 22,"Supprimer un fichier de la liste" else Show 18 end_if End_Sub
Clic: Clic%=Number_Click Select Clic% case 11 :Chargement() case 16 :F_Autre() case 21 :AjoutFich() case 22 :SupprFich() End_Select return
Clic2: For i%=1 to 9 If Clicked(i%)=1 If Checked(i%)=1 Nb_Fich%=Nb_Fich%+1 Else Nb_Fich%=Nb_Fich%-1 End_if End_if Next i% return
Sub AjoutFich() if variable("File$")=1 : File$="" :End_if O_Open_Dialog(24,0,"","*.bas ;*.chm ;*.pdf ;*.doc;*.dll|*.bas ;*.chm ;*.pdf ;*.doc;*.dll",5) If File$<>"" item_add 17,File$ item_add 23,File$ End_if End_Sub
Sub SupprFich() if count(23)>0 If item_index$(23)<>"" Item_delete 17,item_index(23) Item_delete 23,item_index(23) end_if else if message_warning_ok("Liste vide !")=1:end_if end_if End_Sub
Sub Chargement() Dim_local x%,nf%,cpt%,i$,dir$ if Dir_exists(D$)=0 :Dir_Make D$ : End_if for x%=1 to 9 :inactive x% :next x% caption 13,"Chargement des fichiers..." display show 14 :Min 14,0 : max 14,Nb_Fich% :position 14,0 display if checked(1)=1:DownloadFile(url1$,D$+"KGF.dll") :position 14,position(14)+1:display:End_if if checked(2)=1:DownloadFile(url2$,D$+"BDR.dll") :position 14,position(14)+1:display:End_if if checked(3)=1:DownloadFile(url3$,D$+"KGF_SUB.bas"):position 14,position(14)+1:display:End_if if checked(4)=1:DownloadFile(url4$,D$+"KGF.chm") :position 14,position(14)+1:display:End_if if checked(5)=1:DownloadFile(url5$,D$+"KGF.doc") :position 14,position(14)+1:display:End_if if checked(6)=1:DownloadFile(url6$,D$+"KGF.pdf") :position 14,position(14)+1:display:End_if if checked(7)=1:DownloadFile(url7$,D$+"BDR_SUB.chm"):position 14,position(14)+1:display:End_if if checked(8)=1:DownloadFile(url8$,D$+"BDR_SUB.doc"):position 14,position(14)+1:display:End_if if checked(9)=1:DownloadFile(url8$,D$+"BDR_SUB.pdf"):position 14,position(14)+1:display:End_if position 14,0 :caption 13,""
GetActualVersions(Fic$) file_load 15,Fic$ KGFdllversion() vKGF$ = KGFdllversion$
BDRversion(vers$) vBDR$ = BDRversion$ if checked(1)=1 nf%=nf%+1 if vKGF$<>item_read$(15,1) Min 14,0 :Max 14,4 Caption 13,"Mise à jour de KGF.dll" :display UnloadDLL(BDR_handle%) position 14,1 :display dll_off position 14,2 :display if file_exists(KGF$):file_delete KGF$:End_if free KGF_initialize : free KGF_res% position 14,3 :display file_rename D$+"KGF.dll",KGF$ position 14,4 wait 500 :position 14,0 :caption 13,"" else file_delete D$+"KGF.dll" end_if end_if if checked(2)=1 nf%=nf%+1 if vBDR$<>item_read$(15,2) Min 14,0 :Max 14,4 Caption 13,"Mise à jour de BDR.dll" :display UnloadDLL(BDR_handle%) position 14,1 :display dll_off position 14,2 :display if file_exists(BDR$) then file_delete BDR$ position 14,3 :display file_rename D$+"BDR.dll",BDR$ position 14,4 wait 500 :position 14,0 :caption 13,"" else file_delete D$+"BDR.dll" end_if end_if nf% = Nb_Fich% -nf% Min 14,0 :Max 14,nf% caption 13,"Mise à jour des fichiers" if checked(3)=1 if file_exists(path$+"KGF_SUB.bas")=1 :file_delete path$+"KGF_SUB.bas":end_if file_rename D$+"KGF_SUB.bas",path$+"KGF_SUB.bas" position 14,position(14)+1 :display end_if if checked(4)=1 if file_exists(path$+"KGF.chm")=1 :file_delete path$+"KGF.chm":end_if file_rename D$+"KGF.chm",path$+"KGF.chm" position 14,position(14)+1 :display end_if if checked(5)=1 if file_exists(path$+"KGF.doc")=1 :file_delete path$+"KGF.doc":end_if file_rename D$+"KGF.doc",path$+"KGF.doc" position 14,position(14)+1 :display end_if if checked(6)=1 if file_exists(path$+"KGF.pdf")=1 :file_delete path$+"KGF.pdf":end_if file_rename D$+"KGF.pdf",path$+"KGF.pdf" position 14,position(14)+1 :display end_if if checked(7)=1 if file_exists(path$+"BDR_SUB.chm")=1 :file_delete path$+"BDR_SUB.chm":end_if file_rename D$+"BDR_SUB.chm",path$+"BDR_SUB.chm" position 14,position(14)+1 :display end_if if checked(8)=1 if file_exists(path$+"BDR_SUB.doc")=1 :file_delete path$+"BDR_SUB.doc":end_if file_rename D$+"BDR_SUB.doc",path$+"BDR_SUB.doc" position 14,position(14)+1 :display end_if if checked(9)=1 if file_exists(path$+"BDR_SUB.pdf")=1 :file_delete path$+"BDR_SUB.pdf":end_if file_rename D$+"BDR_SUB.pdf",path$+"BDR_SUB.pdf" position 14,position(14)+1 :display end_if if object_exists(18)=1 cpt%=count(23):nf%=0 Min 14,0 :Max 14,cpt% : position 14,0 caption 13,"Mise à jour des fichiers annexes..." If Count(23)>0 for x%=1 to cpt% i$=item_read$(23,1) dir$=file_extract_path$(i$) file_delete i$ if file_extract_name$(i$)="KGF.dll":file_copy KGF$,dir$+"KGF.dll":End_if if file_extract_name$(i$)="BDR.dll":file_copy KGF$,dir$+"BDR.dll":End_if if file_extract_name$(i$)="KGF_SUB.bas":file_copy KGF$,dir$+"KGF_SUB.bas":End_if if file_extract_name$(i$)="KGF.chm":file_copy KGF$,dir$+"KGF.chm":End_if if file_extract_name$(i$)="KGF.doc":file_copy KGF$,dir$+"KGF.doc":End_if if file_extract_name$(i$)="KGF.pdf":file_copy KGF$,dir$+"KGF.pdf":End_if if file_extract_name$(i$)="BDR_SUB.chm":file_copy KGF$,dir$+"BDR_SUB.chm":End_if if file_extract_name$(i$)="BDR_SUB.doc":file_copy KGF$,dir$+"BDR_SUB.doc":End_if if file_extract_name$(i$)="BDR_SUB.pdf":file_copy KGF$,dir$+"BDR_SUB.pdf":End_if item_delete 17,1 item_delete 23,1 nf%=nf%+1 position 14,nf% display next x% caption 13,"" hide 18 End_if End_if
if variable("KGF_initialize")=0 KGF_initialize(KGF$) BDRinitialize(BDR$) end_if for x%=1 to 9 :active x% :mark_off x% :next x% Nb_Fich%=0 file_delete D$+"Versions.txt" Dir_Remove D$ position 14,0 :caption 13,"" :hide 14 End_Sub
#include "KGF_SUB.bas" #include "OBJ_SUB.bas" OBJ_SUB.bas pour ceux qui ne vont pas sur le webdav qui est à jour : - Code:
-
' ______________________________________________________________________________ Sub O_Form(No%,P%,V%,T%,L%,H%,W%,C$) if No%> 0 then FORM No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If if C$<>"" then Caption No%,C$ End_Sub ' ______________________________________________________________________________ Sub O_Alpha(No%,P%,V%,T%,L%,H%,W%,C$) ALPHA No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ End_Sub ' ______________________________________________________________________________ Sub O_Edit(No%,P%,V%,T%,L%,H%,W%,T$,Ch%) EDIT No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% If T$<>"" Then Text No%,T$ If Ch%=1 Then On_Change No%,Change End_Sub ' ______________________________________________________________________________ Sub O_Button(No%,P%,V%,T%,L%,H%,W%,C$,Cl%) BUTTON No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ if Cl%> 0 then on_click No%,Clic cursor_point No% End_Sub ' ______________________________________________________________________________ Sub O_List(No%,P%,V%,T%,L%,H%,W%,F$,Cl%) LIST No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if F$<>"" if file_exists F$ then file_load No%,F$ end_if if Cl%> 0 then on_click No%,Clic End_Sub -------------------------------------------------------------------------------- Sub O_Picture(No%,P%,V%,T%,L%,H%,W%,P$) PICTURE No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if P$<>"" then File_load No%,P$ End_Sub ' ______________________________________________________________________________ Sub O_Check(No%,P%,V%,T%,L%,H%,W%,C$) CHECK No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ End_Sub ' ______________________________________________________________________________ Sub O_Open_Dialog(No%,Out%,DD$,Filtre$,O%) dim_local F$ If Object_Exists(No%)=0 OPEN_DIALOG No% End_if if DD$<>"" then Dir_Dialog No%,DD$ if filtre$<>"" then Filter No%,Filtre$ F$=File_name$(No%) if variable("File$")=0:Dim File$:End_If if F$<>"_" if O%=1 then text out%,F$ if O%=2 then Caption Out%,F$ if O%=3 then item_add Out%,F$ if O%=4 then file_load Out%,F$ if O%=5 then File$=F$ end_if Delete No% End_Sub ' ______________________________________________________________________________ Sub O_Save_Dialog(No%,NOut%,DD$,Filtre$) dim_local F$ If Object_Exists(No%)=0 SAVE_DIALOG No% End_If If DD$<>"" then Dir_Dialog No%,DD$ If filtre$<>"" then Filter No%,Filtre$ F$=file_name$(No%) If F$<>"_" File_Save NOut%,F$ End_If End_Sub ' ______________________________________________________________________________ Sub O_Progress_Bar(No%,P%,V%,T%,L%,H%,W%) PROGRESS_BAR No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' ______________________________________________________________________________ Sub O_Dlist(No%,F$) DLIST No% if F$<>"" then file_load No%,F$ End_Sub ' ______________________________________________________________________________ Sub O_Statut_Bar(No%,P%,V%,M%) Dim_Local No2% ,x% ,a% ,Pa%,OSB2% No%=Number_Objects+1 :Pa%=P% :No2%=No% for x%=1 to Number_Objects:If Object_Type(x%)=13 :a%=1:End_If:Next x% If M%=0 O_Picture(No2%,P%,V%,Height(P%)-61,0,23,width(P%)-16,"") Else O_Picture(No2%,P%,V%,Height(P%)-81,0,23,width(P%)-16,"") End_If OSB2%=No2% Adaptation_OSB(No2%,Pa%) End_Sub ' ______________________________________________________________________________ Sub Adaptation_OSB(No%,P%) Dim_Local x% ,y% ,z% ,t$ ,R_osb% ,G_osb% ,B_osb% color No%,235,235,239 : y%=width(P%)-27 Restore while t$<>"OSB_Corps.bmp" :read t$:End_while Read R_osb% :Read G_osb% :Read B_osb% 2d_target_is No% : 2d_pen_color R_osb%,G_osb%,B_osb% for x%=0 to y% :2d_point x%,z% :next x% Restore while t$<>"OSB_Fin.bmp" :read t$:End_while for x%=y% to y%+10 for z%=0 to 22 Read R_osb% :Read G_osb% :Read B_osb% 2d_target_is No% : 2d_pen_color R_osb%,G_osb%,B_osb% 2d_point x%,z% next z% next x% Data "OSB_Corps.bmp" data 170,165,162 data "OSB_Fin.bmp" data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 170,165,162 data 242,239,239 data 170,165,162 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 242,239,239 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 242,239,239 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 242,239,239 data 170,165,162 data 170,165,162 data 242,239,239 data 170,165,162 data 170,165,162 data 242,239,239 data 170,165,162 data 170,165,162 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 170,165,162 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 data 239,235,235 End_Sub Inutile ou pas... ... de dire que c'est à compiler/assembler et placer dans le dossier KGF de votre ordi qui contient les 7 travaux de Klaus... @ JL35, Je viens de voir que tu as posté ton code, Je jette un oeil et reviens te dire ce que je vois, si je vois quelque chose... Edit : Correction du 15/05/2013 21:48
Dernière édition par ygeronimi le Mer 15 Mai 2013 - 21:48, édité 2 fois (Raison : correction d'un petit bug....) | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 20:10 | |
| Attention, c'est beaucoup moins élégant que la solution de Klaus, c'est parce que ça ne marche pas chez moi, donc un pis-aller. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 20:38 | |
| @ JL35,Premier problème avec ton code JL35. Le téléchargement se fait dans le dossier par défaut du navigateur et pas dans le dossier tl$... Je vois aussi que tu es parti, comme moi sur des "check" klaus lui était sur des listes... Edit :As tu essayé mon code ? Edit 2:J'ai corrigé un bug dans le code du post précédent | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 21:01 | |
| Eh bien non, je n'ai pas essayé ton code parce que la fonction DownloadFile ne marche pas chez moi, j'ai un blocage quelque part et ça me renvoie systématiquement une erreur.
Évidemment le téléchargement se fait dans le dossier par défaut, celui que tu as défini dans ton navigateur, et c'est justement le chemin de celui-là qu'il faut mettre dans tl$.
Il me semble bien que dans le programme de Klaus c'est également des Check (dans la SUB GUI) ???
PS j'ai modifié dans mon code pour afficher la version/date du fichier existant, puis la version/date du fichier téléchargé, pour voir si c'est le même ou pas (valable uniquement pour KGF.dll et BDR.dll), mais je n'ai pas reporté la modif ci-dessus. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 21:09 | |
| Non, au départ c'est le mien, lui il a remplacé mes sub objet pour maelilou qui ne trouvait pas OBJ_SUB.bas ... C'est bizarre chez moi cette fonction marche très bien... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 21:24 | |
| Chez Klaus aussi, mais chez moi que dalle, je dois rater ou faire mal quelque chose, ça paraît pourtant simple a priori | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 15 Mai 2013 - 21:51 | |
| Bon je viens de corriger d'autres bug dans le dernier code posté. Maintenant çà doit être au poil... @ JL35, Je ne vois ce qui donne ton erreur, peut être que klaus va finir par y mettre le doigts dessus... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 22:09 | |
| Je crains que non, puisque strictement le même code marche sans erreur chez lui, c'est quelque chose qui cloche chez moi. Il faut dire que le code en retour n'est pas très explicite: c'est 0 (bon) ou 1 (erreur).
Mais bon, je m'en sors avec ma petite méthode perso, l'essentiel est d'avoir les urls des fichiers. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 22:19 | |
| @JL35: Strictement le même code ? As-tu adapté les chemins pour les fichiers ? Pourrais-tu poster le code tel qu'il ne marche pas chez toi ? Je vais l'analyser. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto Mer 15 Mai 2013 - 22:37 | |
| Bonsoir Klaus, C'est tout simple: - Code:
-
dim i%, f$ : f$ = "c:\temp\site.html" dim url$ : url$ = "http://klaus.panoramic.voila.net/" DLL_ON "C:\PANORAMIC\KLAUS\DLLs\KGF.dll"
i% = DLL_CALL2("DownloadFile",ADR(url$),ADR(f$))
print "Fin: CR = "+STR$(i%) end Les chemins sont bons pour moi, et avec le code ci-dessus je récupère toujours 1. | |
| | | Contenu sponsorisé
| Sujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto | |
| |
| | | | 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |