VBWinsock语法错误 - 爱问答

(爱问答)

VBWinsock语法错误

Public Sub SendFile(FileName As String, Winsock1 As Winsock)

 

Dim FreeF As Integer                    '空闲的文件号

 

Dim LenFile As Long                     '文件的长度

 

Dim SendtData() As Byte                   '存放数据的数组

 

FreeF = FreeFile                        '获得空闲的文件号

 

Open FileName For Binary As #FreeF      '打开文件

 

DoEvents

 

LenFile = LOF(FreeF)                    '获得文件长度

 

If LenFile <= iMax Then                 '如果要发送的文件小于数据块大小,直接发送

 

ReDim SendData(1 To LenFile)            '根据文件长度重新定义数组大小

 

Get #FreeF, , SendData                  '把文件读入到数组里

 

Close #FreeF                            '关闭文件

 

Winsock1.SendData (SendData)            '发送数据

 

Exit Sub

 

End If                                  '文件大于数据块大小,进行分块发送

 

Do Until (iPos >= (LenFile - iMax))     '发送整块数据的循环

 

ReDim SendData(1 To iMax)

 

Get #FreeF, iPos + 1, SendData

 

Winsock1.SendData SendData

 

iPos = iPos + iMax                      '移动iPos,使它指向下来要读的数据

 

Loop                                    '这里要注意的是,必须检查文件有没有剩下的数据,如果文件大小正好等于数据块大小的整数倍,那么就没有剩下的数据了

 

ReDim SendData(1 To LenFile - iPos)     '发送剩下的不够一个数据块的数据

 

Get #FreeF, iPos + 1, SendData

 

Winsock1.SendData SendData

 

Close #FreeF

 

End Sub

 

Private Sub 文件发送_Click()

 

Dim FilePath                            '定义文件路径

 

Form1.CommonDialog1.ShowOpen

 

FilePath = Form1.CommonDialog1.FileName

 

SendFile(FilePath,Winsock1)

 

End Sub


又是同样的问题,网上抄的程序一般是不能直接运行的,因为它不完整,至少你的Winsock类型没有定义

你要有完整的程序,且若参考别人程序至少你要能理解它的程序,所以初学者要学好编程最好是自己写程序而不是参考别人的


下一篇:《Minecraft》所有指令,注:不要服务器插件内含指令

上一篇:c语言文件操作中如何把文件写入百度网盘

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?