Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2555 connectés 

 


Dernière réponse
Sujet : [VB6-VBSCRIPT] FileSystemObject .. probleme avec les tailles dispos
_GrEgY_ ok je vais essayer ce code
 
un grand merci!

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
_GrEgY_ ok je vais essayer ce code
 
un grand merci!
Guru Il s'avère que lorsque la source est un disque la propriété size de l'objet folder n'est pas définie. Par contre la propriété IsRootFolder a pour valeur TRUE et dans ce cas la il faut interroger les propriétés TotalSize et FreeSpace de l'objet Drive et faire une soustraction.
 
Le code deviendrait donc :  
 

Code :
  1. Public Function EnoughFreeSpace(ByVal Source As String, ByVal Destination As String) As Boolean
  2.    Dim FSO As New FileSystemObject
  3.    Dim SourceDir As Folder
  4.    Dim sourceSize  As Long
  5.    Dim destSize  As Long
  6.    Dim DestDir As Folder
  7.    Dim DestDrv As Drive
  8.    Set SourceDir = FSO.GetFolder(Source)
  9.    Set DestDir = FSO.GetFolder(Destination)
  10.    Set DestDrv = DestDir.Drive
  11.    If SourceDir.IsRootFolder Then
  12.       SourceSize = FormatNumber(SourceDir.Drive.TotalSize - SourceDir.Drive.FreeSpace, 0)
  13.    Else
  14.       SourceSize = FormatNumber(SourceDir.Size, 0)
  15.    End If
  16.    DestSize = FormatNumber(DestDrv.FreeSpace, 0) 
  17.    If sourceSize < destSize Then
  18.       EnoughFreeSpace = True
  19.    Else
  20.       EnoughFreeSpace = False
  21.    End If
  22. End Function

_GrEgY_ petit problème... je dois copier des fichiers se trouvant sur CD-rom et les recopier sur disque dur... pour cela je crée un ptite fct permettant de voir s'il y a assez de place.. tout marche tres bien tant que je copie un répertoire particulier (e:\mon rep ...) la ou ca ne va plus c'est qd je dois recopier tout le CD (e:\)  je crois qu'il n'arrives pas à prendre la racine du CD comme étant un réperoire
 
Public Function EnoughFreeSpace(ByVal Source As String, ByVal Destination As String) As Boolean
Dim FSO As New FileSystemObject
Dim SourceDir As Folder
Dim sourceSize  As Long
Dim destSize  As Long
Dim DestDir As Folder
Dim DestDrv As Drive
Set SourceDir = FSO.GetFolder(Source)
Set DestDir = FSO.GetFolder(Destination)
Set DestDrv = DestDir.Drive
SourceSize = FormatNumber(SourceDir.Size, 0)--> problème
 
DestSize = FormatNumber(DestDrv.FreeSpace, 0)  
If sourceSize < destSize Then
    EnoughFreeSpace = True
Else
    EnoughFreeSpace = False
End If
End Function
 
Je sais pas si quelqu'un a déjà utilisé ces fcts??
 
faut -il que je convertisse la racine comme étant un lecteur??

 

[edit]--Message édité par _GrEgY_--[/edit]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)