VB2008でディスク容量の表示
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/8/12 00:04:00
空き領域は、DriveInfo クラスの AvailableFreeSpace プロパティで得られます。
たとえば C ドライブの合計容量であれば、このように書けます。
全ての HDD の合計を知りたい場合には、My.Computer.FileSystem.Drives を併用すると良いでしょう。
たとえば C ドライブの合計容量であれば、このように書けます。
Dim c As New System.IO.DriveInfo("C")
MsgBox(c.AvailableFreeSpace) '空き領域のうち、ユーザーが使用可能な領域
MsgBox(c.TotalFreeSpace) '空き領域の合計
MsgBox(c.TotalSize) 'ディスクの総容量
全ての HDD の合計を知りたい場合には、My.Computer.FileSystem.Drives を併用すると良いでしょう。
Dim total As Long
total = Aggregate drv In My.Computer.FileSystem.Drives _
Where drv.DriveType = DriveType.Fixed _
Into Sum(drv.AvailableFreeSpace)
MsgBox(total.ToString("#,0' Bytes'"))
投稿者 KEN  (小学生)
投稿日時
2009/8/12 03:46:10
ありがとうございます。
この通りにやればMsgboxに表示されたんですけど、Labelに表示することはできないでしょうか?
アホな自分は
label1.text =(c.AvailableFreeSpace)
label2.text =(c.TotalFreeSpace)
label3.text =(c.TotalSize)
と書いてしかられまくってしまいました.
下の方のコードにVB2010と書いてあるんですけど、もうVB2010はリリースされたんですか?
この通りにやればMsgboxに表示されたんですけど、Labelに表示することはできないでしょうか?
アホな自分は
label1.text =(c.AvailableFreeSpace)
label2.text =(c.TotalFreeSpace)
label3.text =(c.TotalSize)
と書いてしかられまくってしまいました.
下の方のコードにVB2010と書いてあるんですけど、もうVB2010はリリースされたんですか?
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/8/12 05:55:04
> と書いてしかられまくってしまいました.
あれ? 通常はそれで動くはずですよ。(Option Strict を意図的に On にしていない限りは)
「しかられた」というのは、エラーになってしまうという事でしょうか。
であれば、どのようなエラーになっているのかを記述してみてください。
> もうVB2010はリリースされたんですか?
製品版はまだリリースされていませんが、Beta1 が入手可能となっています。
http://www.microsoft.com/japan/msdn/vstudio/2010/
蛇足ですが、Windows 7 もダウンロード可能です。
http://www.microsoft.com/japan/windows/windows-7/default.aspx
http://www.microsoft.com/japan/msdn/vstudio/campaign/windows7.aspx
あれ? 通常はそれで動くはずですよ。(Option Strict を意図的に On にしていない限りは)
「しかられた」というのは、エラーになってしまうという事でしょうか。
であれば、どのようなエラーになっているのかを記述してみてください。
> もうVB2010はリリースされたんですか?
製品版はまだリリースされていませんが、Beta1 が入手可能となっています。
http://www.microsoft.com/japan/msdn/vstudio/2010/
蛇足ですが、Windows 7 もダウンロード可能です。
http://www.microsoft.com/japan/windows/windows-7/default.aspx
http://www.microsoft.com/japan/msdn/vstudio/campaign/windows7.aspx
投稿者 KEN  (社会人)
投稿日時
2009/8/12 18:52:11
label1.text =(c.AvailableFreeSpace)
label2.text =(c.TotalFreeSpace)
label3.text =(c.TotalSize)
と書いたら、
(c. ... のcのところで(全て)名前 c は 宣言されていません となってしまいました。
label2.text =(c.TotalFreeSpace)
label3.text =(c.TotalSize)
と書いたら、
(c. ... のcのところで(全て)名前 c は 宣言されていません となってしまいました。
投稿者 KEN  (小学生)
投稿日時
2009/8/12 19:04:35
すいません。
最初のDim .....("c")を書いてませんでした。
本当にすいませんでした。
最初のDim .....("c")を書いてませんでした。
本当にすいませんでした。
投稿者 KEN  (小学生)
投稿日時
2009/8/12 20:50:33
Dim total As Long
total = Aggregate drv In My.Computer.FileSystem.Drives _
Where drv.DriveType = DriveType.Fixed _
Into Sum(drv.AvailableFreeSpace)
MsgBox(total.ToString("#,0' Bytes'"))
を教えていただきましたが、
DriveTipe は宣言されてないか、または現在のスコープ内に存在しません
とエラーが出てきました。
どう解決すればいいのですか?
total = Aggregate drv In My.Computer.FileSystem.Drives _
Where drv.DriveType = DriveType.Fixed _
Into Sum(drv.AvailableFreeSpace)
MsgBox(total.ToString("#,0' Bytes'"))
を教えていただきましたが、
DriveTipe は宣言されてないか、または現在のスコープ内に存在しません
とエラーが出てきました。
どう解決すればいいのですか?
投稿者 (削除されました)  ()
投稿日時
2009/8/12 22:00:37
(削除されました)
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/8/12 22:02:58
> DriveTipe は宣言されてないか、または現在のスコープ内に存在しません
> とエラーが出てきました。
その『DriveTipe』という部分は、どこに書かれていますか?
今まで出てきたコードの中には、どこにも DriveTipe という文字列は含まれていませんよね。
> とエラーが出てきました。
その『DriveTipe』という部分は、どこに書かれていますか?
今まで出てきたコードの中には、どこにも DriveTipe という文字列は含まれていませんよね。
投稿者 KEN  (小学生)
投稿日時
2009/8/13 00:44:49
全ての HDD の合計を知りたい場合には、My.Computer.FileSystem.Drives を併用すると良いでしょう。
Dim total As Long
total = Aggregate drv In My.Computer.FileSystem.Drives _
Where drv.DriveType = DriveType.Fixed _
Into Sum(drv.AvailableFreeSpace)
MsgBox(total.ToString("#,0' Bytes'"))
↑の五行目に書いてあります。
Dim total As Long
total = Aggregate drv In My.Computer.FileSystem.Drives _
Where drv.DriveType = DriveType.Fixed _
Into Sum(drv.AvailableFreeSpace)
MsgBox(total.ToString("#,0' Bytes'"))
↑の五行目に書いてあります。
投稿者 KEN  (小学生)
投稿日時
2009/8/13 00:45:24
四行目でした.
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/8/13 02:07:12
> ↑の四行目に書いてあります。
どこでしょうか?
『DriveType』ならば見つかりましたが、エラー文にでたという
『DriveTipe』は見当たらないようですが…。
>> DriveTipe は宣言されてないか、または現在のスコープ内に存在しません
>> とエラーが出てきました。
コードの先頭に、
Imports System.IO
を付け加えてみてください。
どこでしょうか?
『DriveType』ならば見つかりましたが、エラー文にでたという
『DriveTipe』は見当たらないようですが…。
>> DriveTipe は宣言されてないか、または現在のスコープ内に存在しません
>> とエラーが出てきました。
コードの先頭に、
Imports System.IO
を付け加えてみてください。
VB2008でHDDの合計容量などをLabelに表示することはできないのでしょうか?