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

Qt Discussion :

Faire de la copie de dossier sous Qt


Sujet :

Qt

  1. #21
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Regarde la doc de QStringList et plus precisement cette methode ici.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  2. #22
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    J'ai un problème avec le at() maitenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    // On définit le dossier où le vont se trouver    
    QString CurrentDir ="c:\\A COPIER";
    // On se place dans ce dossier
    QDir::setCurrent(CurrentDir);
     
     
    // On paramètre le filtre, ici tous les fichiers
    QStringList listFilter;
    listFilter << "*.*";
     
    // On déclare un QDirIterator dans lequel on indique que l'on souhaite parcourir un répertoire et ses sous-répertoires. 
    // De plus, on spécifie le filtre qui nous permettra de récupérer uniquement les fichiers du type souhaité.
    QDirIterator dirIterator(CurrentDir, listFilter ,QDir::Files | QDir::NoSymLinks, QDirIterator::Subdirectories);
     
    // Variable qui contiendra tous les fichiers correspondants à notre recherche
    QStringList fileList;
    // Variable qui va contenir le chemin du fichier qui va être copié
    QFile ftemp;
     
    // Tant qu'on n'est pas arrivé à la fin de l'arborescence...
    while(dirIterator.hasNext()) 
    {   
     
     
        fileList << dirIterator.next(); // On récupère tous les noms fichiers du dossier en cours
     
        int TfileList=fileList.size();  // On récupère la taille de la liste
     
        int i;
        for ( i=0 ; i<TfileList ; i++ ) // On boucle en conséquence pour effectuer la copie
        {
        ftemp = QFile(fileList.at(i));  // on récupère le chemin du fichier qui va être copié via la fileList
        ftemp.copy("c:\\COPIE");        // on copie ce fichier
        }
     
     
    }


    il me dit que c'est privé, comme si j'essayais de modifier la méthode o0
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  3. #23
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Il te dit que tu ne peut pas utiliser le constructeur par recopie.
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ftemp = QFile(fileList.at(i));
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ftemp = fileList.at(i);
    Je me demande si l'utilisation de la version static de copy ne serait plus adapté et aulieu de parcourire des QFile, parcourire des QFileInfo.

    Je ne sait pas trop.
    http://qt.developpez.com/doc/4.5/qfileinfo/
    http://qt.developpez.com/doc/4.5/qfile/#copy-2

  4. #24
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Points : 356
    Points
    356
    Par défaut
    J'avais eu besoin de la même fonction et voilà le résultat (surement à améliorer) :
    Fichiers attachés Fichiers attachés

  5. #25
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    Merci pour tes source mais je ne connais pas les fonctions et je ne veux pas repomper parce que sinon j'apprends rien et ce n'est pas le but, sinon entre qfile et qfileinfo je ne sais pas. Je vois pas trop la différence à part que dans l'autre y'a plus d'attributs. De toutes façon j'aurai besoin de qfileinfo pour récupérer les dâtes et les heures de création ainsi que la taille pour les options de copie.

    C'est étrange l'erreur. Je vois pas quel est son problème avec le fait que ce soit plublic ou privé là, je modifie rien pourtant.
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  6. #26
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Points : 356
    Points
    356
    Par défaut
    Un QFile est un flux d'entrée/sortie. C'est classe permet donc d'écrire et de lire le contenu d'un fichier.
    QFileInfo permet d'accéder aux informations d'un "fichier". Dans ce cas, un fichier est plus vu sous un contexte unix : un "fichier" peut être un fichier au sens windows, un dossier, un raccourci...

    Ainsi pour la manipulation des fichiers, QFile et pour avoir des infos QFileInfo...

    De plus, pour que nous puissions t'aider plus efficacement, les fichiers complets seraient bien utile...

  7. #27
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    J'ai lu un peu en diagonale, mais à tout hasard... QFile::copy accepte des QString en paramètres, donc tu n'as même pas à utiliser des QFileInfo. Tu passes le fichier source et le fichier destination et c'est bon ; vu qu'il est question d'une QStringList, j'ai l'impression que c'est ce que tu cherches.

  8. #28
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    Et bien sur le réseau j'ai l'arborescense suivante :

    PABX
    + ALCATEL
    + D2A
    + EASY
    + VOCALD6
    + MATRAPARALLELE
    + SAUVMATRA
    + XS
    + XS2

    Sur le PC j'ai la même arborescence. Donc en fait ça sauvegarde du PC vers le réseau, dossier à dossier.

    Et pour l'erreur avec le QFile, je n'arrive pas à résoudre.
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  9. #29
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    A mon avis comme conseillé par IrmatDen je pense qu'il vaut mieux que tu utilises la methode static copy de QFile. Elle prends le chemin de la source ( Ex : Ta QStringList.at(i) ) et le chemin de la destination ca c'est a toi de voir ou tu veux copier. Sinon pour voir du code tu as la FAQ ou il y a un exemple avec cette methode static.

    Bon courage.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  10. #30
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    Bah oui et non, si je le fais pas comme ça c'est que j'y arrive pas non plus, j'ai déjà demandé comment faire et on m'a aiguillé sur cette méthode de copy et maintenant on me dit ça marche pas bah retourne à l'autre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    QString CurrentDir ="c:\\A COPIER";
    // On se place dans ce dossier
    QDir::setCurrent(CurrentDir);
     
     
    // On paramètre le filtre, ici tous les fichiers
    QStringList listFilter;
    listFilter << "*.*";
     
    // On déclare un QDirIterator dans lequel on indique que l'on souhaite parcourir un répertoire et ses sous-répertoires. 
    // De plus, on spécifie le filtre qui nous permettra de récupérer uniquement les fichiers du type souhaité.
     
    QDirIterator dirIterator(CurrentDir, listFilter ,QDir::Files | QDir::NoSymLinks, QDirIterator::Subdirectories);
     
    // Variable qui contiendra tous les fichiers correspondants à notre recherche
    QStringList fileList;
    // Variable qui va contenir le chemin du fichier qui va être copié
    QFile path;
     
    // Tant qu'on n'est pas arrivé à la fin de l'arborescence...
    while(dirIterator.hasNext()) 
    {   
     
     
        fileList << dirIterator.next(); // On récupère tous les noms fichiers du dossier en cours
     
        int TfileList=fileList.size();  // On récupère la taille de la liste
     
        int i;
        for ( i=0 ; i<TfileList ; i++ ) // On boucle en conséquence pour effectuer la copie
        {
        path = QFile(fileList.at(i));  // on récupère le chemin du fichier qui va être copié via la fileList
        QFile::copy (???, c:\\COPIE);       // on copie ce fichier
        }
    }
    Je tourne en rond, comment je fais pour injecter le chemin dans la commande QFile::copy ? Y'a pas d'équivalent sprintf pour QT ?
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  11. #31
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    ton while devrais plutôt ressembler à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    QDirIterator dirIterator("ton path" ,QDir::Files | QDir::NoSymLinks, QDirIterator::Subdirectories );
     
    while(dirIterator.hasNext()) 
    {   
     
     
        QString path = dirIterator.path();  // on récupère le chemin du fichier qui   va être copié via la fileList
        QSting pathOut ( "c:\\COPIE");
        pathOut += ...;
        QFile::copy (path ,pathOut );       // on copie ce fichier
     
     
        //on passe à l'entré suivante
        dirIterator.next(); 
    }

  12. #32
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    QString CurrentDir ="c:\\A COPIER";
    // On se place dans ce dossier
    QDir::setCurrent(CurrentDir);
     
    // On déclare un QDirIterator dans lequel on indique que l'on souhaite parcourir un répertoire et ses sous-répertoires. 
    // De plus, on spécifie le filtre qui nous permettra de récupérer uniquement les fichiers du type souhaité.
    QDirIterator dirIterator(CurrentDir, listFilter ,QDir::Files | QDir::NoSymLinks, QDirIterator::Subdirectories);
     
    // Tant qu'on n'est pas arrivé à la fin de l'arborescence...
    while(dirIterator.hasNext()) 
    {   
     
        QString path = dirIterator.path();  // on récupère le chemin du fichier qui   va être copié via la fileList
        QString pathOut("c:\\COPIE");
        QFile::copy (path ,pathOut );       // on copie ce fichier
     
        //on passe à l'entré suivante
        dirIterator.next(); 
     
    }
     
     
        // SIGNAUX   
        QObject::connect(bouton0, SIGNAL(clicked()) , qApp, SLOT( aboutQt() ) );
        QObject::connect(bouton1, SIGNAL(clicked()) , qApp, SLOT( quit()    ) );
     
     
    }
    Y'a pas d'erreur de compilation mais sa copie nada o0.

    QFile::copy (path ,pathOut ); ne marche pas. Il va pas deviner que le tout est un QString ? si ?

    QFile::copy (command); avec command un Qstring qui contient "c:\\A COPIER\a.txt", "c:\\COPIE" par exemple. En fait faudrait au pire concaténer ? je ne sais pas. Doit bien y'avoir un moyen bordel, des logiciels de copies codés en c y'en a plein?

    Sincérement, je suis perdu, y'en a partout, c'est jamais pareil et ça marche pas. Je sais pas comment je me demerde.

    A savoir que c:\A COPIER contient un dossier TEST contenant 3 dll.

    Merci
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  13. #33
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Il faut bien concaténer le nom du fichier et son chemin relatif au chemin d'origine avant d'en faire la copie... Cette fonction ne copie pas un fichier "foo.ext" dans le répertoire "bar", mais bien "foo.ext" dans le fichier "bar/foo.ext". Et si le fichier existe déjà, la copie n'est pas effectuée comme le dit la doc (puisque ton répertoire destination existe déjà probablement, ça retourne false d'entrée de jeu ; dans le cas contraire, tu obtiendras un fichier COPIE à la racine qui contient le premier fichier que tu as voulu copier).

  14. #34
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    C'est pour ça que je demande dans mes posts s'il y a une fonction pour concaténer 2 QString.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    #include <QApplication>
    #include <QDirIterator>
    #include <QWidget>
    #include <QPushButton>
    #include <QLCDNumber>
    #include <QSlider>
    #include <QLabel>
    #include <QProgressBar>
    #include <QMessageBox>
    #include <windows.h>
    #include <QFile>
    #include <QString>
    #include <QFileDialog>
    #include <QObject>
    #include <QStringList>
    #include "fenetre.h"
     
    #define WIDTH 75
    #define SPACE 20
     
    MaFenetre::MaFenetre() : QWidget()
    {
     
        // DIMENSION DE LA FENETRE
        int ResX = (int)(0.33*GetSystemMetrics(SM_CXSCREEN));
        int ResY = (int)(0.16*GetSystemMetrics(SM_CYSCREEN));
     
        // ON FIXE LES DIMENSIONS POUR QUE LA FENETRE NE SOIT PLUS REDIMENSIONEE
        setFixedSize(ResX, ResY);
     
        // VARIABLE POUR LES CHEMINS DES DOSSIERS SUR LE PC DU TECHNICIEN
     
           char S_XS            [999];
           char S_XS2           [999];
           char S_D2A           [999];
           char S_EASY          [999];
           char S_ALCATEL       [999];
           char S_VOCALD6       [999];
           char S_SAUVMATRA     [999];
           char S_MATRAPARALLELE[999];
     
     
        // VARIABLE POUR LES CHEMINS DES DOSSIERS SUR LE RESEAU
     
           char D_XS            [999];
           char D_XS2           [999];
           char D_D2A           [999];
           char D_EASY          [999];
           char D_ALCATEL       [999];
           char D_VOCALD6       [999];
           char D_SAUVMATRA     [999];
           char D_MATRAPARALLELE[999];
     
        // VARIABLE CONTENANT LA COMMANDE DE COPIE
     
           char COPY_XS            [999];
           char COPY_XS2           [999];
           char COPY_D2A           [999];
           char COPY_EASY          [999];
           char COPY_ALCATEL       [999];
           char COPY_VOCALD6       [999];
           char COPY_SAUVMATRA     [999];
           char COPY_MATRAPARALLELE[999];
     
        // RECUPERATION DES CHEMIN SUR LE PC DU TECHNICIEN
     
           GetPrivateProfileStringA("section", "S_XS"            , "", S_XS            , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_XS2"           , "", S_XS2           , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_D2A"           , "", S_D2A           , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_EASY"          , "", S_EASY          , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_ALCATEL"       , "", S_ALCATEL       , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_VOCALD6"       , "", S_VOCALD6       , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_SAUVMATRA"     , "", S_SAUVMATRA     , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_MATRAPARALLELE", "", S_MATRAPARALLELE, 999, ".//setup.ini");
     
     
        // RECUPERATION DES CHEMIN SUR LE RESEAU
     
           GetPrivateProfileStringA("section", "D_XS"            , "", D_XS            , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_XS2"           , "", D_XS2           , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_D2A"           , "", D_D2A           , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_EASY"          , "", D_EASY          , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_ALCATEL"       , "", D_ALCATEL       , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_VOCALD6"       , "", D_VOCALD6       , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_SAUVMATRA"     , "", D_SAUVMATRA     , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_MATRAPARALLELE", "", D_MATRAPARALLELE, 999, ".//setup.ini");
     
     
        // TITRE
        QLabel *titre = new QLabel("<SMALL><strong>SAUVEGARDE AUTOMATIQUES DES DONNEÉS</strong></SMALL>", this);
        titre->move( (ResX - titre->minimumSizeHint().width())/2,0.1*ResY );
     
        // AFFICHAGE DES BOUTONS 
        bouton0 = new QPushButton("ARRETER", this);
        bouton1 = new QPushButton("QUITTER", this);
     
        // POSITION DES BOUTONS DANS LA FENETRE
        bouton0->setGeometry ( (int)((ResX-(2*WIDTH+SPACE))/2)            ,  (int)(0.8*ResY), WIDTH, SPACE );
        bouton1->setGeometry ( (int)((ResX-(2*WIDTH+SPACE))/2+WIDTH+SPACE),  (int)(0.8*ResY), WIDTH, SPACE );
     
        // BARRE DE PROGRESSION
        QProgressBar *ProgressBar= new QProgressBar(this);
        ProgressBar->setGeometry ( 0.1*ResX, 50, 0.8*ResX, 0.1*ResY );
        ProgressBar->setRange( 0, 100 ); 
        ProgressBar->setValue( 0 );
     
     
        QFile file("C:/MinGW/OTHER/projets C/QTPROJECT/debug/PABX/ALCATEL/file.txt");
        file.copy("C:/MinGW/OTHER/projets C/QTPROJECT/debug/SAVE/ALCATEL/file.txt");
        ProgressBar->setValue( 100 );
     
     
     
        // SIGNAUX   
        QObject::connect(bouton0, SIGNAL(clicked()) , qApp, SLOT( aboutQt() ) );
        QObject::connect(bouton1, SIGNAL(clicked()) , qApp, SLOT( quit()    ) );
     
     
    }
    Je rècupère dans un .ini les chemins des dossiers dont les fichiers doivent êtres sauvegardés.

    S_XXXX pour le chemin source
    D_XXXX pour la destination

    Donc il faut que je copie tout les fichiers de S_XXXX vers D_XXXX.

    Il va falloir que je récupère le nom de chaque fichier contenu dans S_XXXX.
    Ensuite je pourrais le concaténer avec le chemin du dossier qui est donc S_XXXX si il existe une fonction pour concaténer des QString ou alors je suis ouvert à toutes autres propositions.

    Etant donné que je récupère les les chemins des dossiers grâce au .ini, mes données sont stockés dans des char, y'a t-il une fonction pour convertir char->QString. Je sais que l'inverse est possible mais ce ne m'aide pas ici.
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  15. #35
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par darkwall_37 Voir le message
    C'est pour ça que je demande dans mes posts s'il y a une fonction pour concaténer 2 QString.

    ....

    Etant donné que je récupère les les chemins des dossiers grâce au .ini, mes données sont stockés dans des char, y'a t-il une fonction pour convertir char->QString. Je sais que l'inverse est possible mais ce ne m'aide pas ici.
    un + suffira pour concaténer

    pour passer de char à QString regarde si le constructeur du QString peut en prendre un en entrée:
    char* ch;
    ch = ...
    QString *str = new QString(ch);

  16. #36
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par atomicJo Voir le message
    pour passer de char à QString regarde si le constructeur du QString peut en prendre un en entrée:
    char* ch;
    ch = ...
    QString *str = new QString(ch);
    pourquoi un pointeur sur QString???

  17. #37
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    Merci, j'ai essayé ça mais cela ne semble pas marcher.
    Je dois mal faire la concaténation ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
        // On convertit le dossier source de type char vers QString
        // Opération de convertion à trouver, on met le résultat dans la variable "source"
        QString source = "C:/MinGW/OTHER/projets C/QTPROJECT/debug/PABX/XS"; 
     
        // On convertit le dossier source de type char vers QString
        // Opération de convertion à trouver, on met le résultat dans la variable "destination"
        QString destination = "C:/MinGW/OTHER/projets C/QTPROJECT/debug/SAVE/XS";  
     
        // On se place dans le dossier dont on veut que les fichiers soient copiés
        QDir::setCurrent(source);
        // On choisit de copier tous les types de fichiers
        QStringList filtre;
        filtre << "*.*";
        // On récupère le nombre de fichiers contenu dans le filtre
        int nombre_de_fichiers=filtre.size();
        // Variable qui va stocker le nom du fichier en cours
        QString nom_du_fichier;
     
        // On fait une boucle pour parcourir tous les fichiers contenus dans le dossier
        int i;
        for ( i=0 ; i < nombre_de_fichiers ; i++ )
            {
                  // On récupère les noms de fichiers dans la liste
                  nom_du_fichier = filtre.at(i);
                  // On concatène le chemin source avec le nom du fichier
                  source+=nom_du_fichier;
                  // On concatène le chemin destination avec le nom du fichier
                  destination+=nom_du_fichier;
                  // On spécifie le chemin source du fichier à copier
                  QFile file(source);
                  // On spécifie le chemin destination du fichier à copier
                  file.copy(destination);
            }
     
        ProgressBar->setValue( 100 );
     
     
     
        // SIGNAUX   
        QObject::connect(bouton0, SIGNAL(clicked()) , qApp, SLOT( aboutQt() ) );
        QObject::connect(bouton1, SIGNAL(clicked()) , qApp, SLOT( quit()    ) );
     
     
    }
    La concaténation se passe bien à priori puisqu'à l'affichage le QLabel me retroune : "C:/MinGW/OTHER/projets C/QTPROJECT/debug/PABX/XS/*.*".

    Il y a un problème avec le filtre ou alors je n'arrive pas à me placer dans le bon dossier et le filtre ne récupère rien du tout ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QDir::setCurrent(source);
    Peut être bien qu'ici il manque quelque chose ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
        // On convertit le dossier source de type char vers QString
        // Opération de convertion à trouver, on met le résultat dans la variable "source"
        QString source = "C:/MinGW/OTHER/projets C/QTPROJECT/debug/PABX/XS/"; 
     
        // On convertit le dossier source de type char vers QString
        // Opération de convertion à trouver, on met le résultat dans la variable "destination"
        QString destination = "C:/MinGW/OTHER/projets C/QTPROJECT/debug/SAVE/XS/";  
     
        // On se place dans le dossier dont on veut que les fichiers soient copiés
        QDir::setCurrent(source);
        // On choisit de copier tous les types de fichiers
        QStringList filtre;
        filtre << "*.*";
        // On récupère le nombre de fichiers contenu dans le filtre
        int nombre_de_fichiers=filtre.size();
        // Variable qui va stocker le nom du fichier en cours
        QString nom_du_fichier;
     
        // On fait une boucle pour parcourir tous les fichiers contenus dans le dossier
        int i;
        for ( i=0 ; i < nombre_de_fichiers ; i++ )
            {
     
                  // On récupère les noms de fichiers dans la liste
                  nom_du_fichier = filtre.at(i);
                  // On concatène le chemin source avec le nom du fichier
                  source+=nom_du_fichier;
                  // On concatène le chemin destination avec le nom du fichier
                  destination+=nom_du_fichier;
     
                  QLabel *test = new QLabel(" source : " + source, this);
                  titre->move( (ResX - titre->minimumSizeHint().width())/2,0.2*ResY );
     
                  // On spécifie le chemin source du fichier à copier
                  QFile file(source);
                  // On spécifie le chemin destination du fichier à copier
                  file.copy(destination);
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  18. #38
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QString nombre="";
    nombre=QString::number(nombre_de_fichiers);
    test->setText(nombre);
    J'ai rajouté ceci pour voir la taille du filtre et cela me retourne 1, donc il y a un problème.

    Je pense toujours que ça vient du fait que ça ne doit pas arriver à aller dans le répertoire cible mais je ne vois pas pourquoi. C'est montré comme ce la dans la FAQ.

    EDIT :

    quand je mets un nom de fichier existant dans le filtre il est correctement copié.
    Et quand je copie, la fenêtre ne s'affiche même pas, à quoi bon faire une interface graphique si elle ne s'affiche qu'à la fin de la copie...
    Y'a t-il quelque chose à faire pour y remédier?
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  19. #39
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Points : 356
    Points
    356
    Par défaut
    Et quand je copie, la fenêtre ne s'affiche même pas, à quoi bon faire une interface graphique si elle ne s'affiche qu'à la fin de la copie...
    Y'a t-il quelque chose à faire pour y remédier?
    Le moyen, c'est le multi-threading... Mais dans un premier temps, il faut déjà faire fonctionner la copie.

    Après relecture de la discussion, il me semble qu'avant de trouver le moyen technique, il faudrait réfléchir à l'algo qui permet de faire de la copie récursive.

    De plus, pour vérifier la formation d'une chaine de caractère une méthode simple consiste à placer dans l'include :Ajouter dans le fichier .pro du projet : Ensuite un coup de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qDebug() << chaine_a_lire;
    permet de vérifier que les chaines sont bien construitent...

  20. #40
    Membre confirmé
    Homme Profil pro
    Etudiant administrateur systèmes et réseaux
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etudiant administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 467
    Points
    467
    Par défaut
    Et bien en fait comme je l'ai mentionné plus haut, les fichiers sont correctement copiés à conditions de spécifier explicitement son nom ( ex : a.dll ). Dans ce cas si un tel fichier existe dans le chemin source, il sera copié dans le chemin destination.

    Le problème vient du filtre et je ne comprends pas pourquoi.
    J'ai affiché dans la fenêtre le nombre de fichiers contenu dans le filtre et il me retourne "1" et m'affiche *.* comme vous allez pouvoir le constater sur cet image. Sinon le chemin lui est correct.



    J'ai rajouté ce que vous m'avez dit dans le .pro et les lignes correspondantes au debug mais la console ne s'affiche pas. Je mis la ligne de commande à plusieurs endroit dans le .pro, à un endroit ça ne marche pas et à un autre si donc je suppose que c'est mis au bon endroit ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ######################################################################
    # Automatically generated by qmake (2.01a) mer. 6. mai 14:25:23 2009
    ######################################################################
     
    TEMPLATE = app
    TARGET = 
    DEPENDPATH += .
    INCLUDEPATH += .
     
    # Input
    HEADERS += fenetre.h
    SOURCES += fenetre.cpp main.cpp
    CONFIG += console
    Je vous redonne mes 3 fichiers si vous souhaitez les compilez vous même.


    FENETRE.CPP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    #include <QApplication>
    #include <QApplication>
    #include <QDirIterator>
    #include <QWidget>
    #include <QPushButton>
    #include <QLCDNumber>
    #include <QSlider>
    #include <QLabel>
    #include <QProgressBar>
    #include <QMessageBox>
    #include <windows.h>
    #include <QFile>
    #include <QString>
    #include <QFileDialog>
    #include <QObject>
    #include <QStringList>
    #include <QDebug>
    #include "fenetre.h"
     
    #define WIDTH 75
    #define SPACE 20
     
    MaFenetre::MaFenetre() : QWidget()
    {
     
        // DIMENSION DE LA FENETRE
        int ResX = (int)(0.66*GetSystemMetrics(SM_CXSCREEN));
        int ResY = (int)(0.32*GetSystemMetrics(SM_CYSCREEN));
     
        // ON FIXE LES DIMENSIONS POUR QUE LA FENETRE NE SOIT PLUS REDIMENSIONEE
        setFixedSize(ResX, ResY);
     
        // VARIABLE POUR LES CHEMINS DES DOSSIERS SUR LE PC DU TECHNICIEN
     
           char S_XS            [999];
           char S_XS2           [999];
           char S_D2A           [999];
           char S_EASY          [999];
           char S_ALCATEL       [999];
           char S_VOCALD6       [999];
           char S_SAUVMATRA     [999];
           char S_MATRAPARALLELE[999];
     
     
        // VARIABLE POUR LES CHEMINS DES DOSSIERS SUR LE RESEAU
     
           char D_XS            [999];
           char D_XS2           [999];
           char D_D2A           [999];
           char D_EASY          [999];
           char D_ALCATEL       [999];
           char D_VOCALD6       [999];
           char D_SAUVMATRA     [999];
           char D_MATRAPARALLELE[999];
     
     
        // RECUPERATION DES CHEMIN SUR LE PC DU TECHNICIEN
     
           GetPrivateProfileStringA("section", "S_XS"            , "", S_XS            , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_XS2"           , "", S_XS2           , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_D2A"           , "", S_D2A           , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_EASY"          , "", S_EASY          , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_ALCATEL"       , "", S_ALCATEL       , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_VOCALD6"       , "", S_VOCALD6       , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_SAUVMATRA"     , "", S_SAUVMATRA     , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "S_MATRAPARALLELE", "", S_MATRAPARALLELE, 999, ".//setup.ini");
     
     
        // RECUPERATION DES CHEMIN SUR LE RESEAU
     
           GetPrivateProfileStringA("section", "D_XS"            , "", D_XS            , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_XS2"           , "", D_XS2           , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_D2A"           , "", D_D2A           , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_EASY"          , "", D_EASY          , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_ALCATEL"       , "", D_ALCATEL       , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_VOCALD6"       , "", D_VOCALD6       , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_SAUVMATRA"     , "", D_SAUVMATRA     , 999, ".//setup.ini");
           GetPrivateProfileStringA("section", "D_MATRAPARALLELE", "", D_MATRAPARALLELE, 999, ".//setup.ini");
     
        // TITRE
        QLabel *titre = new QLabel("<SMALL><strong>SAUVEGARDE AUTOMATIQUES DES DONNEÉS</strong></SMALL>", this);
        titre->move( (ResX - titre->minimumSizeHint().width())/2,0.1*ResY );
     
     
        // AFFICHAGE DES BOUTONS 
        bouton0 = new QPushButton("ARRETER", this);
        bouton1 = new QPushButton("QUITTER", this);
     
     
        // POSITION DES BOUTONS DANS LA FENETRE
        bouton0->setGeometry ( (int)((ResX-(2*WIDTH+SPACE))/2)            ,  (int)(0.8*ResY), WIDTH, SPACE );
        bouton1->setGeometry ( (int)((ResX-(2*WIDTH+SPACE))/2+WIDTH+SPACE),  (int)(0.8*ResY), WIDTH, SPACE );
     
     
        // BARRE DE PROGRESSION
        QProgressBar *ProgressBar= new QProgressBar(this);
        ProgressBar->setGeometry ( 0.1*ResX, 50, 0.8*ResX, 0.1*ResY );
        ProgressBar->setRange( 0, 100 ); 
        ProgressBar->setValue( 0 );
     
     
        // On convertit le dossier source de type char vers QString
        QString source=QString(S_XS);
     
        // On convertit le dossier source de type char vers QString
        QString destination =QString(D_XS);  
     
        // On se place dans le dossier dont on veut que les fichiers soient copiés
        QDir::setCurrent(source);
     
        // On choisit de copier tous les types de fichiers
        QStringList filtre;
        filtre << "*.*";
     
        // On récupère le nombre de fichiers contenu dans le filtre
        int nombre_de_fichiers=filtre.size();
     
        // Variable qui va stocker le nom du fichier en cours
        QString nom_du_fichier;
     
        // On fait une boucle pour parcourir tous les fichiers contenus dans le dossier
        int i;
        for ( i=0 ; i < nombre_de_fichiers ; i++ )
            {
     
                  // On récupère les noms de fichiers dans la liste
                  nom_du_fichier = filtre.at(i);
     
                  // On concatène le chemin source avec le nom du fichier
                  source+=nom_du_fichier;
     
                  // On concatène le chemin destination avec le nom du fichier
                  destination+=nom_du_fichier;
     
                  //debug
                  qDebug() << source;
                  qDebug() << destination;
     
                  //affichage du chemin source
                  QLabel *test = new QLabel(" source : " + source, this);
                  test->move( (ResX - test->minimumSizeHint().width())/2,0.375*ResY );
     
                  //affichage du chemin de destination
                  QLabel *test1 = new QLabel(" destination : " + destination, this);
                  test1->move( (ResX - test1->minimumSizeHint().width())/2,0.475*ResY );
     
                  //Nom du fichier en cours de copie
                  QLabel *test3 = new QLabel(" fichier en cours de copie : " + nom_du_fichier, this);
                  test3->move( (ResX - test3->minimumSizeHint().width())/2,0.575*ResY );
     
                  //nombre de fichiers dans la liste
                  QString nombre="";
                  nombre=QString::number(nombre_de_fichiers);
                  QLabel *test2 = new QLabel(" nombre de fichiers : " + nombre, this);
                  test2->move( (ResX - test2->minimumSizeHint().width())/2,0.675*ResY );
     
                  // On spécifie le chemin source du fichier à copier
                  QFile file(source);
     
                  // On spécifie le chemin destination du fichier à copier
                  file.copy(destination);
     
            }
     
     
        ProgressBar->setValue( 100 );
     
     
     
        // SIGNAUX   
        QObject::connect(bouton0, SIGNAL(clicked()) , qApp, SLOT( aboutQt() ) );
        QObject::connect(bouton1, SIGNAL(clicked()) , qApp, SLOT( quit()    ) );
     
    }
    FENETRE.H
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #ifndef DEF_MAFENETRE
    #define DEF_MAFENETRE
     
    #include <QApplication>
    #include <QWidget>
    #include <QPushButton>
    #include <QLCDNumber>
    #include <QSlider>
    #include <QInputDialog>
     
     
    class MaFenetre : public QWidget // On hérite de QWidget (IMPORTANT)
    {
        Q_OBJECT  
     
        public:
        MaFenetre();
     
        public slots:
     
        private:
        QPushButton *bouton0; 
        QPushButton *bouton1;
     
    };
     
    #endif
    MAIN.CPP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #include <QApplication>
    #include <QDirIterator>
    #include <QWidget>
    #include <QPushButton>
    #include <QLCDNumber>
    #include <QSlider>
    #include <QLabel>
    #include <QProgressBar>
    #include <QMessageBox>
    #include <windows.h>
    #include <QFile>
    #include <QString>
    #include <QFileDialog>
    #include <QObject>
    #include "fenetre.h"
     
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
           MaFenetre main_windows; 
     
           main_windows.show();
     
        return app.exec();
    }
    SETUP.INI ( à mettre dans le même repertoire que l'exe )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    [section]
     
    // CHEMIN VERS L'ORDINATEUR DU TECHNICIEN
    S_XS            ="C:\MinGW\OTHER\projets C\QTPROJECT\debug\PABX\XS\"
    S_xS2           ="%cd%\PABX\xS2\"
    S_D2A           ="%cd%\PABX\D2A\"
    S_EASY          ="%cd%\PABX\EASY\"
    S_ALCATEL       ="%cd%\PABX\ALCATEL\"
    S_VOCALD6       ="%cd%\PABX\VOCAL D6\"
    S_SAUVMATRA     ="%cd%\PABX\SAUV MATRA\"
    S_MATRAPARALLELE="%cd%\PABX\MATRAPARALLELE\"
     
    // CHEMIN VERS L'INTRANET
    D_XS            ="C:\MinGW\OTHER\projets C\QTPROJECT\debug\SAVE\XS\"
    D_xS2           ="%cd%\SAVE\xS2\"
    D_D2A           ="%cd%\SAVE\D2A\"
    D_EASY          ="%cd%\SAVE\EASY\"
    D_ALCATEL       ="%cd%\SAVE\ALCATEL\"
    D_VOCALD6       ="%cd%\SAVE\VOCAL D6\"
    D_SAUVMATRA     ="%cd%\SAVE\SAUV MATRA\"
    D_MATRAPARALLELE="%cd%\SAVE\MATRAPARALLELE\"
    Sinon pour l'algorithme vous avez raison, je devrais en faire un. Mais quand on y connait rien et qu'on y va un peu comme ça c'est pas évident.

    Dans les bouts de code que j'ai assemblé grâce aux différentes personnes qui m'ont aidé, je ne vois pas où cela pêche sinon le filtre.

    J'ai bien évidement regardé vos sources l'autre jours mais c'est un peut trop compliqué pour moi. Puis les noms de variables et fonctions ne me sont pas trop explicites et comme je n'ai pas envie de pomper et que je veux essayer de m'en approprier le plus possible je ne souhaite pas copier votre code qui je n'en doute pas fonctionne parfaitement.
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. [CSV] Création dossier sous dossier et copie image
    Par mrsoyer dans le forum Langage
    Réponses: 9
    Dernier message: 11/07/2007, 16h34
  2. Faire apparaître les entêtes d'un sous-état
    Par Le Pharaon dans le forum IHM
    Réponses: 3
    Dernier message: 10/07/2007, 12h52
  3. protection dossier sous excel 2000
    Par grandnello dans le forum Excel
    Réponses: 1
    Dernier message: 03/08/2005, 21h47
  4. [NetBeans] Faire un "Mount" d'un jar sous Netbeans 4.0
    Par itechparadise dans le forum NetBeans
    Réponses: 1
    Dernier message: 18/05/2005, 22h28
  5. Faire un raccoucis vers une application sous wine
    Par zamanika dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 01/10/2004, 14h10

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