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

C++Builder Discussion :

Probleme de copie multiple


Sujet :

C++Builder

  1. #1
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut Probleme de copie multiple
    Bonjour.
    J'utilise un DriveComboBox associe a un FileListBox.
    Est ce qu'il est possible de copier une selection de plusieurs fichiers.
    Y a t'il une methode a respecter pour ce type de copie.

  2. #2
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    J'ai fait une recherche, j'ai vu en delphi la posibilite de stoker les chemins des fichiers a copiers dans une ListBox,
    comment mettre en oeuvre une telle procedure?

  3. #3
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonsoir blondelle !

    Un simple truc comme :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    TStringList *plist = new TStringList();
    for (int i = 0; i < FileListBox1->Items->Count; i ++)
    {
            if (FileListBox1->Selected[i] == true)
            {
                    plist->Add(FileListBox1->Items->Strings[i]);
            }
     
    }
    afin de stocker la selection dans un TStringList et d'utiliser ces infos apr�s dans :
    (un API qui copie....je jubile en faisant des rimes d�biles) ne suffirait pas ?
    @ +

  4. #4
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Salut,
    J'ai oubli� deux choses en fait :
    . si tu utilises un DirectoryListBox, il faut �crire ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    plist->Add(DirectoryListBox1->Directory + AnsiString("\\") +  FileListBox1->Items->Strings[i]);
    . a priori, tu utilises un DriveComboBox, mais comment fais tu pour y associer un FileListBox ?

    @ +

  5. #5
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    bonsoir Sunchaser.
    J'ai tellement bricol� pour arriver a faire fonctionner ces quelques lignes de code je crois que je vais changer de passion.
    bon treve de plaisanterie.
    DirectoryBox est li� par Events a FileListBox
    DriveComboBox est li� par Events a DirectoryListBox
    Je peu t'envoyer une copie du fichier il n'y a presque pas de code c'est surprenant comme quatres lignes peuvent nous pourrir la vie.
    la seule chose qui ne ma pas pose probleme et dont je n'ai pas besoin pour l'instant c'est le changement de lecteur
    Mon programme se compose d'une Form 2 directorybox 2 filelistbox une partie source une partie destination ca fonctionne pour copier un seul fichier, j'aimerais le faire pour plusieurs fichiers, apres on verra pour un repertoire et on va s'arreter la.
    comment tu recupere tes fichiers a copier dans la ListeBox je n'ai pas verifie s'il y a une propriete "count" le NB de fichier contenu est aleatoire, une boucle pour la copie devrait suffire, je vais tester.
    Merci en tout cas pour ta reponse.

  6. #6
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Juste une question qui n'est pas forcement idiote si le chemin qui va etre copie dans la cellule du StringGrid est tres longue vat elle etre tronqu�e.

  7. #7
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Citation Envoy� par blondelle
    Juste une question qui n'est pas forcement idiote si le chemin qui va etre copie dans la cellule du StringGrid est tres longue vat elle etre tronqu�e.
    StringGrid ?
    De mon c�t� je parlais d'un TStringList....

  8. #8
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Encore une question a la con y a t'il un composant pour un TStringList je ne vois rien dans la liste des composants BCB .

  9. #9
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Que je sache, non, TStringList n'est pas un composant 'visuel'....

  10. #10
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Ah! ca me rassure je vais pouvoir me coucher tranquille et reprendre tout cela demain a tete reposee.
    Merci pour tes reponses Sunchaser.
    Je posterais la solution que saurais trouv�e.
    Dis moi si tu a essaye le TDriveComboBox.
    A +

  11. #11
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    J'ai resolu le probleme en utilisant un TListBox (avec un TStringList je travaillais en aveugle), la pour mes essais j'ai vu ce qui se passait, et ca marche pour un ou plusieurs fichiers, si on laisse la propriete visible du ListBox on peu voir la liste des fichiers dans le tampon de copie.
    Le code:
    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
     
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "dir.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Quitter1Click(TObject *Sender)
    {
    Application->Terminate();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::DriveComboBox1Change(TObject *Sender)
    {
    DirectoryListBox1->Drive = DriveComboBox1->Drive;
            FileListBox1->Directory = DirectoryListBox1->Directory;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FileListBox1Click(TObject *Sender)
    {
    source = FileListBox1->FileName;
            ListBox1->Items->Add(source);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FileListBox2Enter(TObject *Sender)
    {
    for (int i = ListBox1->Items->Count-1; i>=0; i--)
            {
    source = ListBox1->Items->Strings[i];
            nom_a_copier = ExtractFileName(source);
                    chemin = DirectoryListBox2->Directory;
            chemin = chemin + "\\" + nom_a_copier;
    CopyFile(source.c_str(), chemin.c_str(), true);
            chemin = "";
    ListBox1->Items->Delete(i);
            }
    // on rafraichis le FileListBox2
    FileListBox2->Update();
    }
    //---------------------------------------------------------------------------

  12. #12
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    J'ai fais une petite modif
    le code:
    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
    void __fastcall TForm1::FileListBox2Enter(TObject *Sender)
    {
    premier_chemin = DirectoryListBox2->Directory;
    for (int i = ListBox1->Items->Count-1; i>=0; i--)
            {
    source = ListBox1->Items->Strings[i];
            nom_a_copier = ExtractFileName(source);
            chemin = premier_chemin + "\\" + nom_a_copier;
    CopyFile(source.c_str(), chemin.c_str(), true);
            chemin = "";
    ListBox1->Items->Delete(i);
            }
    // on rafraichit le FileListBox2
    FileListBox2->Update();
    }
    Cette variable n'est appelee qu'une seule fois

  13. #13
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Je ne vois rien d'autre a modifier je met un petit resolu

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. probleme de copie multiple de fichier
    Par dalleau974 dans le forum VBA Access
    R�ponses: 2
    Dernier message: 08/03/2014, 14h40
  2. [FTP] Probleme de copie de fichier en reseaux avec easphp
    Par needles94000 dans le forum Langage
    R�ponses: 17
    Dernier message: 29/03/2006, 15h24
  3. Probleme d'imbrication multiple
    Par Gwipi dans le forum Requ�tes
    R�ponses: 5
    Dernier message: 27/03/2006, 17h36
  4. [Tableau]Problèmes avec copie de tableau
    Par Itachi-san dans le forum Collection et Stream
    R�ponses: 13
    Dernier message: 25/11/2005, 17h23
  5. [easystruts] probleme de copie des *.tld dans web-inf
    Par champion dans le forum Eclipse Java
    R�ponses: 1
    Dernier message: 23/08/2004, 11h46

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