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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| // Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
// Pl_LiveUpdate ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
PROCEDURE Pl_LiveUpdate()
// On indique que le thread s'est chargé et lancé
ThreadEnvoieSignal(".")
// Contrôle du nombre de thread à un instant t grâce aux sémaphores
SémaphoreDébut("SEM_LIMITE")
// Création du répertoire Temp
fRepCrée(ComplèteRep(fRepExe) + "Temp")
// On récupère le fichier contenant le n° de la dernière version MAJ sur le serveur FTP
SI FTPRécupère(Pg_JbiUpdate.gnIDConnexionFTP,"/****/"+gsNomLogicielMAJ+"/Version.txt",ComplèteRep(fRepExe) + "Temp") = Faux ALORS ThreadArrête("TH1"); RETOUR
// Lecture du fichier contenant le n° de la version de l'exe
nIDFichier est un entier
sChaîneLue est une chaîne
// Ouverture du fichier
nIDFichier = fOuvre(ComplèteRep(fRepExe) + "Temp\Version.txt", foLecture)
SI nIDFichier <> -1 ALORS
// Lecture du fichier
sChaîneLue = fLitLigne(nIDFichier)
// Compare la version de l'exe
SI ExtraitChaîne(sChaîneLue,rangDernier,"=",DepuisFin) <> ExeInfo(exeVersion) ALORS
// Affiche le plan de téléchargement
FEN_UPDATE..Plan = 2
// date et heure de démarrage
sHeureDépartUpload = DateHeureSys()
// Récupère la mise à jour du logiciel
//FTPRécupère(Pg_JbiUpdate.gnIDConnexionFTP,"/****/****/",ComplèteRep(fRepExe) + "Temp",Progression)
SINON
Info("Il n'y a actuellement aucune mise à jour de disponible.")
FIN
// Fermeture du fichier
fFerme(nIDFichier)
SINON
Erreur()
FIN
// Déconnexion
FTPDéconnecte(Pg_JbiUpdate.gnIDConnexionFTP)
// On peut libérer une unité du sémaphore
SémaphoreFin("SEM_LIMITE",1)
// Arrêt du thread
SI ThreadEtat("TH1")<>threadInexistant ALORS
SI ThreadArrête("TH1",200) = Faux ALORS
// On vérifie qu'il existe toujours
SI ThreadEtat("TH1")<>threadInexistant ALORS
Erreur(ChaîneConstruit("Impossible d'arrêter le thread n° : %1","TH1"))
FIN
FIN
FIN
// Affichage du message de fin de téléchargement
gbOkMsgInstalle = Vrai
ExécuteTraitement(BTN_Msg,trtClic) |
Partager