VB inet控件的用法? 50
CaseicResponseCompletedOpenApp.path&"\"&downNameForBinaryAccessWriteAs#1DoDoEventsbin...
Case icResponseCompleted
Open App.path & "\" & downName For Binary Access Write As #1
Do
DoEvents
binBuffer = Inet1.GetChunk(512, icByteArray)
iBlock = iBlock + 1
If m_lngDocSize > 0 Then
sngProgerssValue = Int((iBlock * 512 / m_lngDocSize) * 100)
fzt.Caption = "已下载 " & CStr(iBlock * 512) & " 字节 (" & CStr(sngProgerssValue) & "%)"
P.Value = sngProgerssValue
Put #1, , binBuffer()
End If
Loop Until iBlock * 512 >= m_lngDocSize
Close #1
zxqk.Text = "下载完成!"
If Right(www2.Text, 3) = "rar" Then Call setup_Click
Case icResponseReceived
If m_lngDocSize = 0 Then
If Len(Inet1.GetHeader("Content-Length")) > 0 Then
m_lngDocSize = CLng(Inet1.GetHeader("Content-Length"))
If (m_lngDocSize = 0) Then
fzt.Caption = ""
Call start
End If
Else
fzt.Caption = ""
Call start
End If
End If
为什么我在inet控件返回状态中加了这几行语句来返回二进制数据流,来实现在线更新,为什么在2003系统下会卡死啊,有没有更好的办法,或者用winsock控件的在线更新代码啊。谢谢了。
很可惜, 我用了winsock代码+inet代码,效果很好,在坐没有一个人会的。晕。 展开
Open App.path & "\" & downName For Binary Access Write As #1
Do
DoEvents
binBuffer = Inet1.GetChunk(512, icByteArray)
iBlock = iBlock + 1
If m_lngDocSize > 0 Then
sngProgerssValue = Int((iBlock * 512 / m_lngDocSize) * 100)
fzt.Caption = "已下载 " & CStr(iBlock * 512) & " 字节 (" & CStr(sngProgerssValue) & "%)"
P.Value = sngProgerssValue
Put #1, , binBuffer()
End If
Loop Until iBlock * 512 >= m_lngDocSize
Close #1
zxqk.Text = "下载完成!"
If Right(www2.Text, 3) = "rar" Then Call setup_Click
Case icResponseReceived
If m_lngDocSize = 0 Then
If Len(Inet1.GetHeader("Content-Length")) > 0 Then
m_lngDocSize = CLng(Inet1.GetHeader("Content-Length"))
If (m_lngDocSize = 0) Then
fzt.Caption = ""
Call start
End If
Else
fzt.Caption = ""
Call start
End If
End If
为什么我在inet控件返回状态中加了这几行语句来返回二进制数据流,来实现在线更新,为什么在2003系统下会卡死啊,有没有更好的办法,或者用winsock控件的在线更新代码啊。谢谢了。
很可惜, 我用了winsock代码+inet代码,效果很好,在坐没有一个人会的。晕。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询