IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

probleme de date fichier ftp


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur indépendant
    Inscrit en
    Août 2004
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : Transports

    Informations forums :
    Inscription : Août 2004
    Messages : 374
    Par défaut probleme de date fichier ftp
    j'ai des fichiers sur un serveur ftp linux dont je voudrais tester les dates de creations ou de derniere ecriture.

    jusque la j'utilisais le code suivant pour recuperer la date.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        CFtpFileFind connexion(serveur)     // serveur de type CFtpConnection*
        CTime temps2;
        CString resultat2;
        // pour l'exemple j'ai codé le nom du fichier en dur.
        connexion.FindFile((LPCTSTR)"/nom du fichier.txt"));
        connexion.FindNextFile();
        connexion.GetLastWriteTime(temps2);
        resultat2=temps2.Format("%Y-%m-%d");
    tout fonctionnait bien, mais un bug subtil est apparu.
    la date renvoyée est inférieure d'une année à la date affichée quand j'explore le repertoire ftp.
    avec quelque logiciel que ce soit.
    les logiciels m'indiquent 28/09/2005 et la fonction elle m'indique 28/09/2004
    c'est à s'arracher les cheveux. d'ailleurs ca ne m'arrive que sur un fichier, pour lequel je ne trouve aucune difference avec les autres.
    idée?? expérience personnelle???
    je voudrais bien comprendre ce qui se passe..et le corriger.
    d'autre part, la fonction GetCreationTime dans le meme environnement m'a toujours renvoyée 0, soit une date de 1970, est-ce normal.??
    merci d'avance.


  2. #2
    Membre très actif
    Profil pro
    Développeur indépendant
    Inscrit en
    Août 2004
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : Transports

    Informations forums :
    Inscription : Août 2004
    Messages : 374
    Par défaut
    hum, sorry pour la balise, mais je pratique pas vraiment le Hteumeuleu..

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    dans le context ou GetCreationTime renvoie 0 ,
    tu es sur d'avoir fait l'appel à
    FindNextFile avant ? et que la fonction renvoie true ?

  4. #4
    Membre très actif
    Profil pro
    Développeur indépendant
    Inscrit en
    Août 2004
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : Transports

    Informations forums :
    Inscription : Août 2004
    Messages : 374
    Par défaut
    hum, c'est pas impossible, mais j'ai testé la valeur, il trouvait quand meme le fichier.
    dans le doute, je l'ai rajouté.
    j'avais ca..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (finder.FindFile((LPCTSTR)rech))
    		{
    			finder.FindNextFile();
    			int result=finder.GetCreationTime(&ftime2);
     
    			finder.GetLastWriteTime(temps2);
    			resultat2=temps2.Format("%Y-%m-%d");
    		}
    m'enfin, j'ai rajouté du code intermediaire, ca donne ca maintenant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if(finder.FindFile((LPCTSTR)rech)) 
    		{
    			if (finder.FindNextFile())
    			{
    				int result=finder.GetCreationTime(&ftime1);
    				finder.GetLastWriteTime(temps1);
    				resultat1=temps1.Format("%Y-%m-%d");
    			}
    			else resultat1="";
    		}
    		else resultat1="";
    		finder.Close();
    je sais, vous allez dire, "à quoi il sert le getcreationtime ??
    à rien.. sauf que dans le doute, et vu les choses bizarres que me fait parfois ce compilo, je prefere le garder..
    au fait, clore le cfilefind a peut etre aussi été une solution..
    m'enfin merci de t(etre interresse à la chose..

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    euh a la lecture de ton post je ne sais pas si ton probleme est resolu ou non ...

  6. #6
    Membre très actif
    Profil pro
    Développeur indépendant
    Inscrit en
    Août 2004
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : Transports

    Informations forums :
    Inscription : Août 2004
    Messages : 374
    Par défaut
    :
    à tout dire, le programme fonctionne.
    il reste quand même une question en suspens.
    le 28/09/2005, lors de la lecture de la date d'un fichier sur un serveur ftp linux, la date renvoyée d'un fichier créé le 28/09/2005 était 28/09/2004. ce avec ma routine.
    et ce, plusieurs fois.
    je n'ai pas modifié le fichier en question. cela ne se produisait que sur UN fichier.
    toutes les visualisations avec des programmes ftp ou IE donnaient la bonne date. 28/09/2005.
    le 29/09/2005, trés trés tot, j'ai enfin obtenu aprés moults essais et poignées de cheveux arrachés une date coherente..
    mais le doute demeure. pourquoi et comment cette erreur a t elle pu se produire.??
    suis je à l'abri du renouvellement de la dite erreur.??
    je ne sais pas...

Discussions similaires

  1. [Batch] Probleme pour récupérer fichier en ftp
    Par pegase33 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 28/06/2011, 10h27
  2. Problème pour lire des fichiers XML avec tFileInputXML- probleme format date
    Par rogermar dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 06/10/2010, 14h46
  3. [2.5] Probleme de date à partir d'un fichier CSV
    Par raph382 dans le forum BIRT
    Réponses: 8
    Dernier message: 12/02/2010, 09h49
  4. Date de modification d'un fichier FTP
    Par ndanveau dans le forum C#
    Réponses: 6
    Dernier message: 08/03/2009, 12h45
  5. [VB6] Date modification fichier FTP
    Par KrusK dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/06/2006, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo