Problème programme Auto-Paste [Résolu]

F0rEign 57 Messages postés vendredi 22 mars 2013Date d'inscription 6 septembre 2016 Dernière intervention - 5 mars 2016 à 21:58 - Dernière réponse : F0rEign 57 Messages postés vendredi 22 mars 2013Date d'inscription 6 septembre 2016 Dernière intervention
- 8 mars 2016 à 17:37
Bonsoir, je suis sur Codeblocks en langage C++ et j'ai conçu un programme pour mon frère, qui permet de copier coller chaque fichier et dossier qui rentre dans le dossier BBS - Elements (F) dans le dossier BBS - Elements (D)
Le problème c'est que je n'ai absolument aucune idée comment on peut faire pour copier-coller dans un dossier quand un fichier ou un dossier rentre dans un autre dossier (désolé des répétitions, posez moi des questions si vous comprenez pas)

J'ai créer une fonction pasteFonction qui doit contenir le système de copiage-collage.

Donc c'est d'ailleurs pour ça que je fais appel à ce site.
Je voudrais que vous fassiez ça ou juste m'expliquer. Merci d'avance.
Les nom des dossiers sont BBS - Elements (D) et BBS - Elements (F)
Leurs destinations sont F:\BUREAU BACKUP SAVE et D:\BUREAU BACKUP SAVE

Voici le code :


#include <iostream>
#include <stdlib.h>
#include <string>
#include <windows.h>
#include <iostream>
#include <fstream>

using namespace std;

double versionProg2(1.1);


void pasteFonction(void)
{



}

void options(void)
{
cout << " Vous voici sur mon programme Auto-Paste " << endl;
cout << " Ce programme est actuellement en version " << versionProg2 << endl;
cout << " Ce programme a ete creee par F0rEign " << endl;
cout << " ------------------------------------------- " << endl;
cout << " Auto-Paste est un programme permettant de copier-coller " << endl;
cout << " un fichier ou un dossier dans un autre dossier automatiquement " << endl;
cout << " ------------------------------------------- " << endl;
cout << " Me contacter : nicolas.buchot@hotmail.fr " << endl;
cout << " ------------------------------------------- " << endl;
cout << " 1.Retour Menu " << endl;
cout << " 2.Quitter " << endl;
int leave;
cin >> leave;
if (leave == 1)
{

}
else if (leave == 2)
{
cout << " Au revoir " << endl;
Sleep(2000);
}

}

int main(void)
{
system("color 1e");
cout << " Auto-Paste V." << versionProg2 << " By F0rEign " << endl;
cout << " voulez vous vraiment copier-coller le dernier dossier/fichier ?" << endl;
cout << " Repondez par chiffre " << endl;
cout << " 1.Oui " << endl;
cout << " 2.Non " << endl;
cout << " --------" << endl;
cout << " 3.Options " << endl;
cout << " 4.Quitter " << endl;
int yesNo;
cin >> yesNo;
if (yesNo == 1)
{
cout << " Copier-coller du dernier fichier/dossier confirmer " << endl;
cout << " Initialisations des flux... " << endl;
Sleep(3500);
pasteFonction();

}
else if (yesNo == 2)
{
cout << " Copier-coller du fichier/dossier annuler " << endl;
cout << " Au revoir " << endl;
Sleep(2000);


}
else if (yesNo == 3)
{
options();
}
else if (yesNo == 4)
{
cout << " Au revoir " << endl;
Sleep(2000);
}
return 0;
}
Afficher la suite 

5 réponses

Répondre au sujet
cptpingu 3766 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 1 décembre 2017 Dernière intervention - 6 mars 2016 à 14:01
0
Utile
Bonjour.

Ce n'est pas du C++, mais de l'API Windows que tu cherches à faire. Il faut donc regarder la doc de Windows, notamment la "msdn", qui est un site décrivant les fonctions fournies par Windows pour interagir avec lui.

Ce que tu cherches c'est être notifié quand il y a un changement dans un dossier afin de lancer un copier-coller. Sous Linux, on utilise la fonction du même nom: inotify. Sous Windows, je connais moins bien, mais d'après la doc, il faudrait utiliser "FindFirstChangeNotification" dont la documentation est ici: https://msdn.microsoft.com/en-us/library/aa364417%28VS.85%29.aspx

Un exemple est donné là: https://msdn.microsoft.com/en-us/library/aa365261%28v=vs.85%29.aspx

Ensuite pour copier-coller un dossier, tu peux regarder ici: http://stackoverflow.com/questions/4725115/on-windows-is-there-an-interface-for-copying-folders

PS:
Commenter la réponse de cptpingu
F0rEign 57 Messages postés vendredi 22 mars 2013Date d'inscription 6 septembre 2016 Dernière intervention - Modifié par NicolasBuchot le 6/03/2016 à 15:15
0
Utile
D'accord merci de ta réponse :p

Ce qui voudrait dire que la fonction FindFirstChangeNotification est composé principalement de ce code là ?


HANDLE WINAPI FindFirstChangeNotification(
_In_ LPCTSTR lpPathName,
_In_ BOOL bWatchSubtree,
_In_ DWORD dwNotifyFilter
);
Commenter la réponse de F0rEign
F0rEign 57 Messages postés vendredi 22 mars 2013Date d'inscription 6 septembre 2016 Dernière intervention - 6 mars 2016 à 15:59
0
Utile
Désolé si je pose beaucoup de questions mais c'est parceque je n'ai jamais utilisé la documentation de windows mais si j'y arrive une fois j'y arriverais plusieurs fois par la suite. C'est juste que je suis un peu perdu
Commenter la réponse de F0rEign
cs_louis14 789 Messages postés mardi 8 juillet 2003Date d'inscription 8 mars 2017 Dernière intervention - Modifié par cptpingu le 8/03/2016 à 15:02
0
Utile
Bonjour,
en complément de la réponse précédente tu trouveras un exemple d'utilisation dans MSDN à cette adresse: https://msdn.microsoft.com/fr-fr/library/windows/desktop/aa365261(v=vs.85).aspx.
Sinon cptpingu a donné toutes les informations utiles.
Bon codage
Commenter la réponse de cs_louis14
F0rEign 57 Messages postés vendredi 22 mars 2013Date d'inscription 6 septembre 2016 Dernière intervention - 8 mars 2016 à 17:37
0
Utile
Bonjour, merci pour le lien ça m'aideras beaucoup.
Commenter la réponse de F0rEign

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.