View Full Version : سوال: بدست آوردن حجم دانلود...
MR. Garcia
جمعه 10 خرداد 1392, 04:44 صبح
درود، میخواستم ببینم کدی برای Visual Basic 6 هست که بتونه حجمِ یه لینک رو بدست بیاره؟
یعنی من بهش لینک مستقیم دانلود رو بدم و بهم حجم فایل رو بگه... یچیز تو مایههای Internet Download Manager که پیش از اینکه فایل رو دانلود کنه حجمش رو نشون میده...
محسن واژدی
جمعه 10 خرداد 1392, 08:40 صبح
سلام علیکم
در ساده ترین صورت میتوانیم از Inet استفاده کنیم (در اینصورت همیشه بایستی کنترل Inet همراه برنامه داشته باشیم)، در اینصورت کد ما میشود:
Private Sub Command1_Click()
Dim Inet1 As Object
Set Inet1 = CreateObject("InetCtls.Inet")
With Inet1
.Execute "http://barnamenevis.org/images/misc/vbulletin4_logo_forexpand.png", "GET"
Do While .StillExecuting
DoEvents
Loop
MsgBox "Download size: " & Format(CLng(.GetHeader("Content-Length")) / 1024, "0.00") & " KB", vbInformation
End With
End Sub
یا از XMLHttp که پیش فرض در ویندوز وجود دارد:
Private Sub Command2_Click()
Dim xmlhttp
Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
With xmlhttp
.open "GET", "http://barnamenevis.org/images/misc/vbulletin4_logo_forexpand.png", True
.send
.waitForResponse 20
MsgBox "Download size: " & Format(CLng(.getResponseHeader("Content-Length")) / 1024, "0.00") & " KB", vbInformation
End With
End Sub
موفق باشید
MR. Garcia
جمعه 10 خرداد 1392, 11:06 صبح
با سپاسِ فراوان...
حالا اگه بخوام بجای کیلوبایت، به مگابایت بنویسه، فقط باید اون 1024 رو بکنم 1048576 یا ویرایش دیگهای هم نیازه؟
محسن واژدی
جمعه 10 خرداد 1392, 15:11 عصر
تابع زیر را در ماژول کد قرار بدین:
Public Function FormatFileSpc(ByVal Size#) As String
On Error Resume Next
If Size >= 1000000 Then
FormatFileSpc = Format$((Size / (1024 ^ 2)), "#,##0.00") & " MB"
ElseIf Size >= 1000 Then
FormatFileSpc = Format$((Size / 1024), "#,##0") & " KB"
Else
FormatFileSpc = Size & " Bytes"
End If
End Function
به عنوان مثال:
Private Sub Command2_Click()
Dim xmlhttp
Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
With xmlhttp
.open "GET", "http://barnamenevis.org/images/misc/vbulletin4_logo_forexpand.png", True
.send
.waitForResponse 20
MsgBox "Download size: " & FormatFileSpc(.getResponseHeader("Content-Length")), vbInformation
End With
End Sub
موفق باشید
alipoor2009
دوشنبه 13 خرداد 1392, 01:00 صبح
سلام- چرا اندازه فایل های بزرگ را دیر تر می دهد - می تونه سرعتش مثل IDM باشه ؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.