[..] Savoir ci un fichier a été mis a jour sur ftp

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
robin25
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 16 août 2010 20:39
Status : Hors ligne

[..] Savoir ci un fichier a été mis a jour sur ftp

#1

Message par robin25 »

Bonjours tout le monde, voila j 'ai crée un logiciel FTP ai j'aurais aimer savoir ci il était possible de savoir en temps réel si un fichier sur mon serveur a été modifier ? Par exemple j'ai un fichier sur mon serveur FTP, un fichier txt et j'aimerais moi qui suis l'administrateur que lorsque se fichier texte est modifie recevoir sur mon pc un pop up ou il serait écrit que le fichier a été modifier? Vous n'avez pas une idée par hasard?

J'avais déjà quelques pistes pour réaliser cette fonction, j'avais penser par exemple regarde la taile du fichier grâce a la fonction FTP_FileGetSize et ci la taille du fichier augmente ou diminue alors c'est que le fichier a été modifier non ? Mais j'ai quelque dificulters a mettre en place cette fonction quelqu'un a-t-il une solution?

Sinon je voulais demander ci il n'existait pas un moyen de savoir combien compte de ligne le fichier sur mon serveur FTP ?

Et pour finir j'ai une question qui me revient en écrivant ce post, dans mon logiciel j'affiche le fichier text de mon serveur ftp, mais j'ai un probleme, lorsque je clique sur le bouton tout s'affiche correctement dans une nouvelle fenêtre mais lorsque je ferme la nouvelle fenêtre c'est tout mon logiciel qui se ferme, j ai poster le code en dessous :

Code : Tout sélectionner

Case $Button2 ;Afficher le txt


            $pre = _FTP_FileOpen($Connect, $Current & $Dir)

            $Size = 1000000
            $HEX = _FTP_FileRead($pre, $Size)
            $preread = _HexToString($HEX)

            $Form2 = GUICreate("Aperçu", 411, 401, 192, 124, BitOR($WS_CAPTION, $WS_OVERLAPPEDWINDOW, $WS_TILEDWINDOW, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
            GUICtrlCreateEdit("", 0, 0, 410, 400, BitOR($ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
            GUICtrlSetData(-1, $preread)

            GUISetState(@SW_SHOW, $Form2)

            _FTP_FileClose($pre)

        Case $GUI_EVENT_CLOSE
            Exit
Voila en espérant que vous pourrez m'aidez, merci d'avance.
Avatar du membre
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 10:15
Status : Hors ligne

Re: [Aide][FTP]Savoir ci un fichier a été mis a jour

#2

Message par GELDROC »

Perso je ferai pluto ca a partir de la date de modification du fichier

par exemple le script enregistre une liste de fichier avec leur date de dernière modification
puis une boucle relie cette liste en comparent la date de chaque fichier a chaque fois
puis ci elle a changer OP Mesage
Avatar du membre
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 10:15
Status : Hors ligne

Re: [Aide][FTP]Savoir ci un fichier a été mis a jour

#3

Message par GELDROC »

est ils possible d'avoir ce Script de FTP pour l'essayer sur mon sever S'il te plaie :shock:
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [Aide][FTP]Savoir ci un fichier a été mis a jour

#4

Message par SrBelial »

le pb du script qui se ferme entièrement vient de la façon dont tu gère la fermeture de ta fenêtre ....
enlève le exit, et fais juste disparaitre la fenêtre concernée, il faut réserver la fonction exit lorsque tu souhaite quitter complètement ton script (voir dans la doc associée)

pour ce qui est du ftp :
-> ne pas faire par rapport au nombre de lignes : il serait nécessaire de retélécharger le fichier à chaque passage dans la boucle, impossible de connaitre le nombre de lignes sur un fichier distant.

-> chercher des fonctions pour connaitre la date de modification du fichier, et à chaque passage dans la boucle on compare avec la date de la boucle précédente puis traitement en fonction de la comparaison, et enfin on mets à jour la variable contenant la date de la boucle précédente avec la valeur de la dernière date de modification trouvée.
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
robin25
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 16 août 2010 20:39
Status : Hors ligne

Re: [Aide][FTP]Savoir ci un fichier a été mis a jour

#5

Message par robin25 »

Merci beaucoup pour toutes ces informations, je vais chercher du cote de la date de modification des fichiers. Je vous fait part de l'avancer du projet des que possible. Pour mon scripte il est pour un usage spéciale il ne permet que de voir ci un fichier à été mis a jour, de le télécharger et de l'afficher en direct mais ci tu le veux ca ne me dérange pas de te le passer lorsque je l'aurais terminer.
robin25
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 16 août 2010 20:39
Status : Hors ligne

Re: [..]Savoir ci un fichier a été mis a jour sur ftp

#6

Message par robin25 »

Bon ben c'était jute pour vous dire que je rame dans l'avancement de mon projet...

J'ai presque trouver la solution pour fermer la fenetre sans fermer le log mais il s'en suit un freeze total du scripte une idée êut etre? sinon pour trouver ci le fichier a été maj il est presque impossible de savoir la date de modif avec autoit, mais avec _ftp-Filegetsize je pense que je vais pouvoir m'en sortir^^ j'attends quand même vos idées merci d'avance.

Code : Tout sélectionner

Case $Button2 ;Afficher le txt


            $pre = _FTP_FileOpen($Connect, $Current & $Dir)

            $Size = 1000000
            $HEX = _FTP_FileRead($pre, $Size)
            $preread = _HexToString($HEX)

            $Forme2=GUICreate("Aperçu", 322, 382, 232, 204)
            GUICtrlCreateEdit("", 0, -2, 321, 349, BitOR($WS_CAPTION, $WS_OVERLAPPEDWINDOW, $WS_TILEDWINDOW, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
            GUICtrlSetData(-1, $preread)
            $Button11 = GUICtrlCreateButton("Fermer", 124, 354, 75, 25, $WS_GROUP)
            GUISetState(@SW_SHOW)

            _FTP_FileClose($pre)
            While 1




                $nMsg = GUIGetMsg()
                    Switch $nMsg
                    Case $Button11

                         GUIDelete ($Forme2)
                    EndSwitch
            WEnd
Sh4dows
Status : Hors ligne

Re: [..]Savoir ci un fichier a été mis a jour sur ftp

#7

Message par Sh4dows »

Remplace ton GuiDelete() par :

Code : Tout sélectionner

GUISetState(@SW_HIDE)
 
Ta gui n'est pas détruite mais simplement masquer !
Et pour la réafficher :

Code : Tout sélectionner

GUISetState(@SW_SHOW)
 
Voilà pour ma ptite intervention ^^
Répondre