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

VB 6 et antérieur Discussion :

copie de fichier


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Points : 168
    Points
    168
    Par défaut copie de fichier
    salut tous le monde,
    je voudrai faire une copie de fichier d'un serveur vers des clients vai un code en VB. La taille de ce transfert étant énorme (2 Go).
    je connais trois manière de le faire:
    - utiliser filesystemobject
    - utiliser l'api SHFileOperation
    - utiliser une connection FTP
    Quel est la manière la plus efficace selon vous ????
    pour le transfert FTP est ce que je pourrai utiliser un port à chaque clients et est ce que c'est bénifique ou non ??
    Il ne faut jamais désesperer, il y a toujours une solution.

  2. #2
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Salut !

    Si tes machines disposent de serveurs FTP (comme sous Linux par ex.) je pense que ce sera le plus facile : t'auras juste un client FTP à réaliser (avec connexion, transfert et fermeture...). Le problème c'est qu'il te faudra connaître les logins et mdp de chaque machine.
    En ce qui concerne le FileSystemObject, je ne comprned pas comment tu veux l'utiliser ???
    Et l'API que tu proposes je ne la connais pas personnellement...
    Par contre je ne sais pas si tu peux changer de port pour chaque client, autant utiliser le port par défaut (21 -> données et 25 -> contrôle).
    +++
    Ju
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  3. #3
    Membre habitué
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Points : 168
    Points
    168
    Par défaut
    pour l'OS c'est windows.
    pour l'api voici un 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
    Private Type SHFILEOPSTRUCT 
        hWnd As Long 
        wFunc As Long 
        pFrom As String 
        pTo As String 
        fFlags As Integer 
        fAnyOperationsAborted As Boolean 
        hNameMappings As Long 
        lpszProgressTitle As String 
    End Type 
     
    Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long 
    Private Const FO_COPY = &H2 
    Private Const FOF_ALLOWUNDO = &H40 
     
    Private Sub Command1_Click() 
    'exemple 
        Call CopyFileWindowsWay(App.Path & "\denoxaut.732", App.Path & "\messanger\denoxaut.732") 
     
    End Sub 
    Public Sub CopyFileWindowsWay(SourceFile As String, DestinationFile As String) 
     
    Dim lngReturn As Long 
    Dim typFileOperation As SHFILEOPSTRUCT 
     
        With typFileOperation 
            .hWnd = 0 
            .wFunc = FO_COPY 
            .pFrom = SourceFile & vbNullChar & vbNullChar 
            .pTo = DestinationFile & vbNullChar & vbNullChar 
            .fFlags = FOF_ALLOWUNDO 
        End With 
        lngReturn = SHFileOperation(typFileOperation) 
        If lngReturn <> 0 Then 
            MsgBox Err.LastDllError, vbCritical Or vbOKOnly 
        Else 
            If typFileOperation.fAnyOperationsAborted = True Then 
                MsgBox "Operation Failed", vbCritical Or vbOKOnly 
            End If 
        End If 
    End Sub
    pour le filesystemobject voici un bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim fso as new filesystemobject
    fso.copyfile source,destination
    set fso=nothing
    pour le ftp il y en a un exemple dans la faq ou la page des codes sources
    Il ne faut jamais désesperer, il y a toujours une solution.

  4. #4
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Bon ben apparement t'as plus besoin de moi...
    Je pense que le transfert par FTP ne sera pas une bonne idée si tu es sous Windows en plus. Il va falloir que tu installes un serveur FTP sur chaque machine...
    Je ne savais pas qu'on pouvait utiliser le FSO pour copier des fichiers sur un réseau en spécifiant le chemin. Reste à voir après si ca supporte des fichiers de 2Go. Quant à l'API, merci pour le bout de code, je le met de coté .
    Va falloir que tu fasses des tests sur les 2 solutions restantes en testant le rapport temps/taille et faisabilité... Sinon ptetre qu'il y a quelqu'un qui à déjà fait ca... Mais va falloir attendre qu'il se présente
    +++
    Ju
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  5. #5
    Membre habitué
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Points : 168
    Points
    168
    Par défaut
    aucun autre avis : : :
    Il ne faut jamais désesperer, il y a toujours une solution.

Discussions similaires

  1. Copie de fichier sur le bureau
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 01/05/2005, 20h57
  2. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2004, 22h39
  3. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows
    Réponses: 5
    Dernier message: 20/12/2004, 22h35
  4. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 12h55
  5. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23

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