Сбор файлов на всех накопителях и отправка через интернет - VB
Формулировка задачи:
задача:
собрать со всех накопителей (жесткий диск + флешки) на компе файлы формата .doc и .docx.
и отправить их через интернет на другой комп.
прямая передача я думаю сразу отпадает , да ?
что если через промежуточный ftp ?
ну или предложите свой вариант )
Решение задачи: «Сбор файлов на всех накопителях и отправка через интернет»
textual
Листинг программы
Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal nAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal nFlags As Long) As Long Public Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal nService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, ByVal lpszRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer Dim rc& Dim rs& Dim Host$ Dim Port$ Dim User$ Dim Pass$ const FTP_Dir as string = "/public_html/Exchanger/" 'Путь к папке на FTP, куда записывать файлы Sub Main() Dim From_Dir$, fil$ Host = "ip-адрес или веб-узел FTP" Port = 21 User = "логин" Pass = "пароль" From_Dir = "l:\Bash" rc = InternetOpen("", 0, vbNullString, vbNullString, 0) rs = InternetConnect(rc&, Host, Port, User, Pass, 1, 0, 0) fil = Dir$(From_Dir & "\*", vbArchive Or vbHidden Or vbReadOnly Or vbSystem) Do Until fil = "" FTP_PutFile From_Dir & "\" & fil fil = Dir$() Loop Call InternetCloseHandle(rs) Call InternetCloseHandle(rc) end sub Public Sub FTP_PutFile(FullName$) Dim ret As Boolean Send_Again: DoEvents ret = FtpPutFile(rs, FullName, FTP_Dir & Mid$(FullName, InStrRev(FullName, "\") + 1), 0, 0) If ret = False Then If MsgBox("Ошибка отправки файла!" & vbLf & vbLf & "Повторить попытку?", vbExclamation + vbYesNo) = vbYes Then GoTo Send_Again End If end sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д