Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008
-
2 juil. 2007 à 23:04
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
4 juil. 2007 à 07:58
Bonjour à tous.
J'ai crée un programme qui note dans un tableau de 10 lignes l'espace disque disponnible sur chaque disque dur de l'ordinateur. Au final, je voudrais afficher l'espace disque total disponnible, donc la somme de toutes les lignes de mon tableau.
Je voudrais savoir comment faire pour ajouter toutes les lignes de mon tableau.
Merci d'avance.
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 3 juil. 2007 à 07:58
Bonour (et salut à Julien)
Puisque Marrneus73 est bien obligé d'aller "pêcher" l'espace disponible de chaque disque (un par un) d'abord, , c'est à l'occasion de cette pêche qu'il lui suffit d'incrémenter une variable espace_total. Celà évitera de faire une boucle in fine.
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 3 juil. 2007 à 09:00
En effet, j'ai crée une variable i avec une boucle. Cette variable s'incrémente pour chaque lecteur présent sur le disque où il est possible de récuperer son espace libre.
Ces valeurs sont stockées dans un tableau à 1 colone et 10 lignes (Une ligne pour chaque lecteur). Mais je n'arrive pas à faire la somme de toutes ces lignes.
Comment faire ?
Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 3 juil. 2007 à 09:00
En effet, j'ai crée une variable i avec une boucle. Cette variable s'incrémente pour chaque lecteur présent sur le disque où il est possible de récuperer son espace libre.
Ces valeurs sont stockées dans un tableau à 1 colone et 10 lignes (Une ligne pour chaque lecteur). Mais je n'arrive pas à faire la somme de toutes ces lignes.
Comment faire ?
Merci d'avance.
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 3 juil. 2007 à 09:27
Ben je ne comprends pas, je ne pense pas avoir cette somme. Pour voir j'ai demandé d'afficher chaque ligne du tableau et chaque calcul dans une messageBox ! Voila le résultat.
Premier message, celui qui me dit vous disposez de 20,825462541 Go d'espace disponnible. Le second provient du tableau. La messageBox affiche le nombre 21. Idem pour mon second DD sauf que le système me dit 7.745985214 Go et la messageBox affiche 8.
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 3 juil. 2007 à 10:22
Sans ton code, celà va être difficile !
Donne nous les éléments essentiels (pas tout) :
- code de déclaration de ta variable
.
.
- code d'insertion dans le tableau pour chaque lecteur
.
.
-. code qui précède ta msgbox.
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 3 juil. 2007 à 10:52
Voila mon code:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
For Each Drive As System.IO.DriveInfo In System.IO.DriveInfo.GetDrives()
If Drive.IsReady Then
Dim f As String
f = Drive.AvailableFreeSpace
Dim j As String
j = f / 1000000000
Dim poids_go As Decimal
poids_go = TextBox5.Text
Dim somme As Decimal
Dim i As String
i = 0
Dim A(0 To 10) As Integer
While i < 10
i = i + 1
A(i) = j
End While
If j > poids_go Then
System.Windows.Forms.MessageBox.Show("Vous disposez de : " + j + " Go d'espace libre sur le lecteur : " + Drive.Name + "Donc vous pouvez installer votre application ici.")
somme = 'c'est là que je ne sais pas quoi mettre !
Else
End If
End If
Next
End Sub
PS: Comment on fait pour mettre son code en couleur dans ses messages ?
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 3 juil. 2007 à 11:05
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
For Each Drive As System.IO.DriveInfo In System.IO.DriveInfo.GetDrives()
If Drive.IsReady Then
Dim f As long, somme as long 'ou le type qui remplace long en VB.Net
f = Drive.AvailableFreeSpace
somme = somme + f
Dim j As double ' ou le type qui remplace double en VB.Net
j = f / 1000000000
Dim poids_go As Decimal
poids_go = TextBox5.Text
''''''''''''''''''' ANNULE ICI Dim somme As Decimal
Dim i As String
i = 0
Dim A(0 To 10) As Integer
While i < 10
i = i + 1
A(i) = j
End While
If j > poids_go Then
System.Windows.Forms.MessageBox.Show("Vous disposez de : " + j + " Go d'espace libre sur le lecteur : " + Drive.Name + "Donc vous pouvez installer votre application ici.")
''''somme = 'c'est là que je ne sais pas quoi mettre !
msgbox somme ' (déjà calculée ...) -remplace msgbox par la syntaxe qui va sous VB.Net...
Else
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 3 juil. 2007 à 11:38
Merci bien.
Mais mon programme merde quand je déclare: "j As Double" .
Le message : "La conversion de la chaîne "Vous disposez de : " en type 'Double' n'est pas valide."
?!
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 3 juil. 2007 à 11:47
Et sinon, pourquoi mon programme merde quand je déclare: "j As Double" .
Le message d'erreur : "La conversion de la chaîne "Vous disposez de : " en type 'Double' n'est pas valide."
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 3 juil. 2007 à 11:52
Mets les types (je te l'ai déjà dit) qui conviennent à VB.Net, mais pas des Strings, hein ?
Pour le reste : le mécanisme est là ! Ne modifie donc que les types (pou NET, donc) de tes chiffres (ce qu'il faut pour un entier, ce qu'il faut pour un nombre décimal).
Dur Dur ...
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 3 juil. 2007 à 12:04
Derniere chose:
Avec le truc "somme=somme+j" ça marche mais le pb c'est que le programme m'affiche autant de message box qu'il y a de lecteurs, avec la somme de l'espace disque des lecteurs déjà interrogés. . Moi je veus juste la somme finale.
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 3 juil. 2007 à 14:34
Moi, là, tu vois, je te dis Bye-Bye !
Si tu ne comprends pas que msgbox n'est là que pour TE permettre de voir évoluer somme (et que si tu ne t'en sers pas, somme n'en continue pas moins, pour autant, à être incrémentée...), je te laisse à tes rêveries.