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.NET Discussion :

Un problème de code


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 61
    Par défaut Un problème de code
    Bonjour,

    Voila j'aimerai récupérer l'espace disque restant et total de disques dur en local et m'envoyer ces informations par mail deux fois par jour(tache planifiées).Le hic que j'ai c'est que j'ai été habitué a coder en visual studio 2003 et en vb6 (pendant mes études donc ca remonte) et donc mes notions de vb sont un peu a revoir car en VB6 il m'aurait fallu de créer une drivelistbox et après j'aurais su me débrouiller, mais là le controle drivelistbox n'esite pas sous visual basic express 2008.

    Quelqu'un peut-il m'aider ? au moins pour récuperer les informations de l'ensemble de mes disques dur.

    Le but final de se serveur c'est pour assurer une surveillance d'un serveur avec des bases windev

    Voici mon code : et je vous met ce qui passe pas en rouge :
    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
    Public Class Form1
        Private Declare Function GetDiskFreeSpaceEx _
        Lib "kernel32" Alias "GetDiskFreeSpaceExA" _
        ( _
        ByVal lpDirectoryName As String, _
        ByVal lpFreeBytesAvailableToCaller As Decimal, _
        ByVal lpTotalNumberOfBytes As Decimal, _
        ByVal lpTotalNumberOfFreeBytes As Decimal _
        ) As Long
    
    
        Private Sub Form_Load()
            Dim fso As FileSystemObject
            Dim Drv As Drive, DrvName As String
            Dim d As Drive
            Dim dc As Drives
            Dim st As String
            Dim TotalBytes, FreeBytes As Decimal
            Dim Espace_Libre As String
            Dim Espace_Total As String
            Dim Pourcentage_Libre As Long
    
            fso = CreateObject("Scripting.FileSystemObject")
            dc = fso.Drives
    
            For Each d In dc
    
                Drv = fso.GetDrive(Mid(d, 1, 2))
    
                If Drv.DriveType = Remote Then
    
                    DrvName = Drv.Path & "\"
    
                    st = DrvName & " " & Drv.ShareName
    
                    Pourcentage_Libre = 0
                    Espace_Libre = ""
                    Espace_Total = ""
    
                    If Drv.IsReady Then
    
                        GetDiskFreeSpaceEx(CStr(Drv) & "\", 0, TotalBytes, FreeBytes)
    
                        Pourcentage_Libre = Int(FreeBytes * 10000 / (TotalBytes * 10000) * 100)
    
                        If FreeBytes * 10000 > 1024 ^ 3 Then
                            Espace_Libre = FormatNumber((FreeBytes * 10000 / 1024 ^ 3), -1) & " Go"
                        Else
                            If FreeBytes * 10000 > 1024 ^ 2 Then
                                Espace_Libre = FormatNumber((FreeBytes * 10000 / 1024 ^ 2), -1) & " Mo"
                            Else
                                If FreeBytes * 10000 > 1024 Then
                                    Espace_Libre = FormatNumber((FreeBytes * 10000 / 1024), -1) & " Ko"
                                End If
                            End If
                        End If
    
                        If TotalBytes * 10000 > 1024 ^ 3 Then
                            Espace_Total = FormatNumber((TotalBytes * 10000 / 1024 ^ 3), -1) & " Go"
                        Else
                            If TotalBytes * 10000 > 1024 ^ 2 Then
                                Espace_Total = FormatNumber((TotalBytes * 10000 / 1024 ^ 2), -1) & " Mo"
                            Else
                                If TotalBytes * 10000 > 1024 Then
                                    Espace_Total = FormatNumber((TotalBytes * 10000 / 1024), -1) & " Ko"
                                End If
                            End If
                        End If
                    End If
    
                    If Pourcentage_Libre <> 0 Then
                        st = st & " - Libre " & Espace_Libre & " (" & Pourcentage_Libre & "%)"
                        st = st & " - Total " & Espace_Total
                    End If
    
                End If
    
            Next
    
            MsgBox(st)
    
            fso = Nothing
    
        End Sub
    
    End Class

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 61
    Par défaut
    Bon j'ai avancé a bloc mais je comprends pas pourquoi il ne me fait qu'un seul de mes durs :

    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
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
            Dim d As DriveInfo
            Dim espace As Decimal
            Dim taille As Decimal
            For Each d In allDrives
                Me.RichTextBox1.Text = Me.RichTextBox1.Text + vbCrLf
                Me.RichTextBox1.Text = "Lecteur: " & d.Name
                Me.RichTextBox1.Text = Me.RichTextBox1.Text + vbCrLf
                If d.IsReady = True Then
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + "  Nom du volume :" + d.VolumeLabel
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + vbCrLf
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + "  Système de fichier:" + d.DriveFormat
                    espace = d.AvailableFreeSpace / 1073741824
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + vbCrLf
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + "  Espace Libre sur disponible sur " + d.Name + " :" + CStr(espace) + " GO"
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + vbCrLf
                    taille = d.TotalSize / 1073741824
     
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + "  Espace Disque de : " + d.Name + " :" + CStr(taille) + " GO"
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + vbCrLf
                    Me.RichTextBox1.Text = Me.RichTextBox1.Text + vbCrLf
                End If
            Next
        End Sub

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 61
    Par défaut
    Probleme réglé, merci a toi meziantou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de code avec un tableau
    Par richard038 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/05/2006, 17h35
  2. problème de code javascript pour une vue 360°
    Par tomguiss dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2006, 22h50
  3. [POO] Problème de code PHP avec Internet Explorer
    Par bzoler dans le forum Langage
    Réponses: 5
    Dernier message: 12/02/2006, 11h00
  4. Problème de code besoin d un petit depannage
    Par rakengoule dans le forum MFC
    Réponses: 3
    Dernier message: 10/10/2005, 16h25
  5. Probléme de code non portable
    Par Stany dans le forum Windows
    Réponses: 2
    Dernier message: 23/08/2005, 11h02

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