FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Utilitaire automatique de distribution de KGF.dll (ou autre) Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
Voir le deal

 

 Utilitaire automatique de distribution de KGF.dll (ou autre)

Aller en bas 
4 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 1:20

J'ai fait un petit outil permettant de recopier automatiquement KGF.dll (ou tout autre fichier, en fait), après un téléchargement, dans un ou plusieurs dossiers cible où KGF.dll (ou un autre fichier) doit être installé, et ce à partir d'un dossier de téléchargement.

Au premier lancement, le programme demande le dossier de téléchargement. Il vérifie la validité du chemin, puis crée un fichier INI dont la première ligne sera le dossier de téléchargement (source pour les copies), et toutes les lignes suivantes (inexistantes bien sûr au premier lancement) représentent les dossiers cible. Le programme affiche le dossier source et permet de le changer par un bouton, à droite. Il y a ensuite un objet LIST (vide au départ) contenant la liste des dossiers cible. 3 boutons permettent de gérer cette liste: ajouter un nouveau dossier cible (forcément différent du dossier source !), modifier un dossier cible et supprimer un dossier cible. Un autre bouton permet d'enregistrer une configuration modifiée, puis le bouton "Exécuter" lance la distribution, en fonction des dossiers configurés. A chaque étape, la validité des dossiers est vérifiée.

Ce programme est adaptable à tout autre fichier - il suffit de changer les variables indiquées dans les commentaires. Voici le source:
Code:
' Installer_KGF.bas
' =================
'
' Ce programme permet une installation automatisée de KGF.dll.
' Un fichier Installer_KGF.ini contient une liste de dossiers
' dans lesquels il faut copier la nouvelle version de KGF.dll.
' Au premier lancement, le fichier est créé et son contenu par défaut
' est mis en place. Ensuite, puis à chaque lancement, ce contenu
' est affiché dans un objet LIST et est modifiable. Finalement, un
' bouton "Installation" permet de recopier KGF.dll dans tous les
' dossiers configurés.
' Particularité: la première ligne contient le chemin vers le dossier
' de téléchargement de KGF.dll. KGF.dll sera copié à partir de ce dossier
' vers les autres dossiers configurés dans ce fichier.
'
' A la place de KGF.dll, tout autre fichier peut être distribué ainsi.
' Il suffit de changer le contenu des constantes fichier$ et inifile$.

labels()
constantes()
variables()
GUI()
charger_ini()

end

changer_dossier_KGF:
  changer_KGF()
  return

ajouter_dossier_cible:
  ajouter_cible()
  return

supprimer_dossier_cible:
  supprimer_cible()
  return

changer_dossier_cible:
  changer_cible()
  return
 
enregistrer_liste:
  enregistrer()
  return
 
executer:
  executer()
  return

sub labels()
  label changer_dossier_KGF
  label ajouter_dossier_cible, supprimer_dossier_cible, changer_dossier_cible
  label enregistrer_liste, executer
end_sub

sub constantes()
  dim fichier$    : fichier$ = "KGF.dll"
  dim inifile$    : inifile$ = "Installer_KGF.ini"
  dim crlf$      : crlf$ = chr$(13) + chr$(10)
end_sub

sub variables()
  dim dossier_KGF$
  dim i%
end_sub

sub GUI()
  width 0,800 : height 0,600
  caption 0,"Installation automatisée de "+fichier$

  alpha 1 : top 1,10 : left 1,10  : caption 1,"Dossier pour "+fichier$+":"
  alpha 2 : top 2,10 : left 2,130 : font_bold 2
  button 3 : top 3,10 : left 3,740 : width 3,40 : caption 3,"..."
    font_bold 3 : on_click 3,changer_dossier_KGF
    hint 3,"Changement du dossier de téléchargement de "+fichier$
  alpha 11 : top 11,40 : left 11,10 : caption 11,"Dossiers cible:"
  list 12 : top 12,40 : left 12,130 : width 12,600 : height 12,400
  button 13 : top 13,40 : left 13,740 : width 13,40 : caption 13,"+"
    font_bold 13 : on_click 13,ajouter_dossier_cible
    hint 13,"Ajout d'un nouveau dossier cible"
  button 14 : top 14,70 : left 14,740 : width 14,40 : caption 14,"X"
    font_bold 14 : on_click 14,supprimer_dossier_cible
    hint 14,"Supprimer le dossier cible sélectionné"
  button 15 : top 15,100 : left 15,740 : width 15,40 : caption 15,"..."
    font_bold 15 : on_click 15,changer_dossier_cible
    hint 15,"Modifier le dossier cible sélectionné"
   
  button 21 : left 21,130 : top 21,460 : caption 21,"Enregistrer"
    on_click 21,enregistrer_liste
    hint 21,"Enregistrer la configuration actuelle"
  button 22 : left 22,580 : top 22,460 : caption 22,"Exécuter..."
    font_bold 22 : font_size 22,16 : width 22,150
    on_click 22,executer
    hint 22,"Exécuter la distribution de "+fichier$+" vers tous les dossiers cible"
  check 23 : left 23,430 : top 23,460 : width 23,140 : caption 23,"Décompresser avant"
    font_bold 23 : font_color 23,255,0,0
   
  progress_bar 31 : hide 31 : top 31,500 : left 31,130 : width 31,width(12)
 
end_sub

sub charger_ini()
  dim_local f$
  if file_exists(inifile$)=0
    f$ = message_input$("Dossier de téléchargement de "+fichier$,"Dossier:",dir_current$+"\")
    if f$=dir_current$+"\"
      message "Le programe ne peut pas démarrer sans savoir où se trouve "+fichier$+" !"
      terminate
    end_if
    if right$(f$,1)<>"\" then f$ = f$ + "\"
    file_open_write 1,inifile$
    file_writeln 1,f$
    file_close 1
  end_if
  file_open_read 1,inifile$
  file_readln 1,dossier_KGF$
  caption 2,dossier_KGF$
  while file_eof(1)=0
    file_readln 1,f$
    item_add 12,f$
  end_while
  file_close 1
  if dir_exists(dossier_KGF$)=0
    message "Le dossier de téléchargement est invalide :"+crlf$+dossier_KGF$+crlf$+"Veuillez le corriger !"
  end_if

end_sub

sub changer_KGF()
  dim_local f$
  f$ = message_input$("Dossier de téléchargement de "+fichier$,"Dossier:",dossier_KGF$)
  if f$=dossier_KGF$
    message "Attention ! L'anomalie n'a pas été corrigée !
  else
    if right$(f$,1)<>"\" then f$ = f$ + "\"
    if dir_exists(f$)=0
      message "Le dossier de téléchargement est invalide :"+crlf$+f$+crlf$+"Veuillez le corriger !"
    else
      dossier_KGF$ = f$
      caption 2,dossier_KGF$
    end_if
  end_if
end_sub

sub ajouter_cible()
  dim_local f$
  f$ = message_input$("Nouveau dossier cible:","Dossier:","")
  if f$<>""
    if right$(f$,1)<>"\" then f$ = f$ + "\"
    if dir_exists(f$)=0
      message "Le dossier cible est invalide: "+crlf$+f$
    else
      if f$=dossier_KGF$
        message "Le dossier de téléchargement ne peut pas être un dossier cible !"
      else
        item_add 12,f$
      end_if
    end_if
  end_if
end_sub

sub supprimer_cible()
  dim_local n%, f$
  n% = item_index(12)
  if n%<1
    message "Aucun dossier cible n'est choisi."
    exit_sub
  end_if
  f$ = item_index$(12)
  if message_confirmation_yes_no("Voulez-vous vraiment supprimer la cible:"+crlf$+f$)=1
    item_delete 12,n%
  end_if
end_sub

sub changer_cible()
  dim_local n%, fold$, fnew$
  n% = item_index(12)
  if n%<1
    message "Aucun dossier cible n'est choisi."
    exit_sub
  end_if
  fold$ = item_index$(12)
  fnew$ = message_input$("Nouveau dossier cible:","Dossier:",fold$)
  if fnew$=fold$
    message "Aucun changement n'a été effectué."
  else
    if right$(fnew$,1)<>"\" then fnew$ = fnew$ + "\"
    if dir_exists(fnew$)=0
      message "Le dossier cible:"+crlf$+fnew$+crlf$+"n'existe pas."
    else
      if fnew$=dossier_KGF$
        message "Le dossier de téléchargement ne peut pas être un dossier cible !"
      else
        item_delete 12,n%
        item_insert 12,n%,fnew$
      end_if
    end_if
  end_if
end_sub

sub enregistrer()
  dim_local f$, i%
  file_open_write 1,inifile$
  file_writeln 1,dossier_KGF$
  if count(12)>0
    for i%=1 to count(12)
      file_writeln 1,item_read$(12,i%)
    next i%
  end_if
  file_close 1
end_sub

sub executer()
  dim_local f$, i%
  if dir_exists(dossier_KGF$)=0
    message "Le dossier de téléchargement est invalide :"+crlf$+dossier_KGF$+crlf$+"Veuillez le corriger !"
    exit_sub
  end_if
  if file_exists(dossier_KGF$+fichier$)=0
    message fichier$+" n'existe pas dans le dossier source:"+crlf$+dossier_KGF$
    exit_sub
  end_if
  if count(12)<1
    message "La liste des dossiers cible est vide !"
    exit_sub
  end_if
  for i%=1 to count(12)
    f$ = item_read$(12,i%)
    if dir_exists(f$)=0
      message "Ligne "+str$(i%)+": le dossier cible n'existe pas:"+crlf$+f$
      exit_sub
    end_if
  next i%
  min 31,0 : max 31,count(12) : position 31,0 : show 31
  if checked(23)=1
    f$ = "UPX -d -o"+chr$(34)+dossier_KGF$+"x.dll"+chr$(34)+" "+chr$(34)+dossier_KGF$+fichier$+chr$(34) : ' +" > NUL:"
    file_open_write 2,"installer_KGF.bat"
    file_writeln 2,f$
    file_close 2
    execute_wait "cmd /C test_installer_KGF.bat"
    file_delete dossier_KGF$+fichier$
    file_rename dossier_KGF$+"x.dll",dossier_KGF$+fichier$
    file_delete "installer_KGF.bat"
  end_if
  for i%=1 to count(12)
    position 31,i%
    f$ = item_read$(12,i%)
    if file_exists(f$+fichier$)=1 then file_delete f$+fichier$
    pause 100
    file_copy dossier_KGF$+fichier$,f$+fichier$
  next i%
  message "Terminé."
  hide 31
end_sub

EDIT

Ah, j'ai oublié de dire: c'est 100 % Panoramic, sans utilisation de DLL !


Dernière édition par Klaus le Jeu 27 Oct 2016 - 15:32, édité 3 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 8:37

Bonjour Klaus cheers

Excellent utilitaire !
C'est vrai que KGF est partout dans mes programmes et là du coup j'ai toujours la bonne version.

Quelques remarques ;
- Attention au "/" à la fin du chemin source que j'ai du rajouté.
- Pourrais tu aussi mettre en place un avancement de la copie de chaque ligne du LIST
- Y a il une possibilité de rajouter un bouton pour choisir entre verson UPX ou NON

Bon j'ai fait le tour de mes requêtes ! Merci encore et bonne journée. sunny
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 10:32

Citation :
- Attention au "/" à la fin du chemin source que j'ai du rajouté.
C'est fait.
Citation :
- Pourrais tu aussi mettre en place un avancement de la copie de chaque ligne du LIST
C'est fait.
Code:
- Y a il une possibilité de rajouter un bouton pour choisir entre verson UPX ou NON
Je vais voir ça...

EDIT

Décompression - c'est fait.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 11:30

Voilà. Tout est fait et mis à jour dans le post initial.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 14:53

Merci Klaus.

Mais il y a quelques erreurs... Ligne 111 et 136 => RIGHT$(f$) => RIGHT$(f$,1)

Et il y a aussi des soucis dans les chemins ligne 251...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 15:33

Les deux premières anomalies (right$) sont corrigées. Mais je en vois pas le problème avec la ligne 251 ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 16:09

Aucune idée !

MESSAGE :
(113) FILE already exists. Line : 251


drunken drunken drunken

EDIT :
Je viens de trouver. Il s'agissait d'une application en cours d'utilisation. geek
Désolé Klaus...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 16:23

Tant mieux ! J'espère ce que petit outil servira aux utilisateurs de KGF.dll, et au-delà, à tous ceux qui doivent dupliquer un module quelconque dans une liste de dossiers.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 17:05

J’ai testé : Ok.
Bonne idée, ce petit outil, merci Klaus.

Personnellement  j’ai crée depuis longtemps, un dossier sur le bureau au nom de DLL où j’ai déposé KGF.DLL en plus d’autres DLL que j’utilise parfois.
J’ai ajouté le chemin de ce dossier DLL à la variable d’environnement PATH.
Dorénavant plus de soucis de chemin de KGF.DLL et pas besoin de dupliquer KGF.DLL dans d’autres dossier.
Une seule copie de KGF.DLL suffit pour tout le monde.
Il suffit d’écrire dans un programme qui utiliserait KGF.DLL, la ligne
Code:

DLL_ON "KGF.DLL"


Sans se soucier de son emplacement.

@Ceux qui ne connaissent pas ou qui ne se souviennent pas de comment ajouter un chemin à la variable d’environnement PATH,  consultez cette page.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re   Utilitaire automatique de distribution de KGF.dll (ou autre) EmptyJeu 27 Oct 2016 - 21:17

Perso, j' ai créé un dossier "c:\KGF" dans lequel je place la dernière version
et dans mes sources je mets une variable kgf$ avec l' adresse.
Plus de souci de multiplication de la dll dans mon ordi.
Cool
Revenir en haut Aller en bas
Contenu sponsorisé





Utilitaire automatique de distribution de KGF.dll (ou autre) Empty
MessageSujet: Re: Utilitaire automatique de distribution de KGF.dll (ou autre)   Utilitaire automatique de distribution de KGF.dll (ou autre) Empty

Revenir en haut Aller en bas
 
Utilitaire automatique de distribution de KGF.dll (ou autre)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Outil de distribution protégée de logiciels
» Automatique
» Traduction automatique
» enregistrement automatique
» Form Automatique

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: