Курсовая работа на Visual Basic бесплатно. Курсовики на Visual Basic. Программа на Visual Basic

Курсовые работы бесплатно

Бесплатные курсовые работы по программированию

Бесплатные курсовые работы

    
    FTP загрузчик веб страниц. Продолжение   
Курсовая
    
    Подключение к Интернету
    
    hINetSession = InternetOpen(“MyFTPClient”, 0, vbNullString, vbNullString, 0)
    
    


    sAgent указывает на имя программы, которая вызывает функцию (например, ftp.exe). nAccessType может принимать всего три значения - 0,1 и 3. Он определяет, используется ли
proxy или нет. При значении равном 1 коннектимся напрямую. При 3-х используем proxy. При этом адрес proxy нужно задать в параметре sProxyName и порт в параметре sProxyBypass. В данном примере для соединения выбрано значение 0, при котором функция берет всю информацию из реестра (то есть использует настройки IE). Т.к. мы не определяем прокси-сервер напрямую, то третий и четвертый параметры принимают значение vbNullString. dwFlags определяет работу функции - можно просто поставить 0.
    Если вызов функции выполнен корректно, то переменной hINetSession присвоится ненулевое значение (хендл функции), который будет использоваться позже.
    
    Выполняем коннект
    
    hSession = InternetConnect(hINetSession, "
about.h18.ru", "21", "login", "password", INTERNET_SERVICE_FTP, 0, 0) 'Коннект к FTP серверу http://about.h18.ru
    
    InternetConnect представляет собой хендл, полученный при выполнении InternetOpen. Второй параметр - URL или IP сервера, к которому коннектимся (при этом ftp:// опускается). Следующим параметром идет порт. Здесь оставлено значение порта равное 21, но вполне допустимо если вы поставите 0. Программа будет коннектиться через порт по умолчанию (порт 21). Далее передаем login и password. Будьте внимательны - при дизассмеблировании все пароли могут попасть в чужие руки. Следующим параметром определяем тип используемого сервиса.
    
    Следующие переменные можно оставить как есть
    
    Private Const INTERNET_SERVICE_FTP = 1
    Private Const INTERNET_SERVICE_GOPHER = 2
    Private Const INTERNET_SERVICE_HTTP = 3
    
    Вызов FTP функций
    
    Функция должна быть объявлена. Например
    


    Private Declare Function FtpGetFile _
      Lib "wininet.dll" Alias "FtpGetFileA" ( _
      ByVal hFtpSession As Long, _
      ByVal lpszRemoteFile As String, _
      ByVal lpszNewFile As String, _
      ByVal fFailIfExists As Boolean, _
      ByVal dwFlagsAndAttributes As Long, _
      ByVal dwFlags As Long, _
      ByVal dwContext As Long) As Boolean
    
    Использовать функцию нужно так
    

FTP загрузчик веб страниц


    If FtpGetFile(hSession, “dirmap.htm”, “c:\dirmap.htm”, False, 0, 1, 0) = False Then
    MsgBox “Файл не может быть прочитан”
    End If
    
    Первым идет хендл от функции InternetConnect. Далее имя (или полный путь) до файла на удаленном сервере (dirmap.htm). Третий параметр - путь до места назначения (c:\dirmap.htm). Четвертый параметр fFailExists определяет, как будет вести себя программа, если она обнаружит, что файл с таким именем уже существует. Значение false указывает на то, что такие файлы будут перезаписываться. Атрибуты, присваиваемые локальному файлу, задаются в параметре dwFlagAttributes. Это можно сделать и после. За формат передачи данных отвечает параметр dwFlags: ASCII = 1, Binary = 2. Последний параметр также отвечает за возврат значений.
    
    Закрываем хендлы
    
    Хендлы закрываются в порядке, противоположном их открытию. Сначала закроем hSession, а потом InetSession. Для этого используем функцию InternetCloseHandle.
    
    Объявление функции
    
    Private Declare Function InternetCloseHandle _
      Lib "wininet.dll" (ByVal hInet As Long) As Integer
    
    Использование функций
    
    Call InternetCloseHandle(hSession)
    Call InternetCloseHandle(hINetSession)
    
    Получить список файлов на сервере   
Курсовая
    
    Список файлов будет отображаться в ListBox. Используем функции FtpFindFirstFile и InternetFindNextFile
    
    Объявление функций  
  >>  
    
    Private Declare Function FtpFindFirstFile _
      Lib "wininet.dll" Alias "FtpFindFirstFileA" ( _
      ByVal hFtpSession As Long, _
      ByVal lpszSearchFile As String, _
      ByRef lpFindFileData As WIN32_FIND_DATA,
      ByVal dwFlags As Long, _
      ByVal dwContent As Long) As Long
    
    Private Declare Function InternetFindNextFile _
      Lib "wininet.dll" Alias "InternetFindNextFileA" ( _
      ByVal hFind As Long, _
      ByRef lpvFindData As WIN32_FIND_DATA) As Long
    
    Эти функции возвращают ненулевое значение при обнаружении файла и 0, если произошла ошибка. Для того чтобы определить реальная ли это ошибка или просто больше нет файлов нужно, проверить значение Err.LastDllError. Если оно равно ERROR_NO_MORE_FILES (=18) (больше нет файлов), то все нормально, если нет, то нужно анализировать код ошибки.
    Обе этих функции имеют параметр WIN32_FIND_DATA, который представляет собой тип или структуру, определяемую юзером.
    


    Private Type WIN32_FIND_DATA
      dwFileAttributes As Long
      ftCreationTime As FILETIME
      ftLastAccessTime As FILETIME
      ftLastWriteTime As FILETIME
      nFileSizeHigh As Long
      nFileSizeLow As Long
      dwReserved0 As Long
      dwReserved1 As Long
      cFileName As String * 260
      cAlternate As String * 14
    End Type
    
    Где FILENAME:
    
    Private Type FILETIME
      dwLowDateTime As Long
      dwHighDateTime As Long
    End Type
    
    Процедура для записи списка файлов в ListBox
    
    Private Sub ListFiles()
    Dim hFile As Long ‘ Хендл
    Dim fd As WIN32_FIND_DATA
    hFile = FtpFindFirstFile(hSession, “*.*”, fd, 0, 0)
    If hFile = 0 Then
    If Err.LastDLLError = ERROR_NO_MORE_FILES Then
    MsgBox “Файл не найден”
    Exit Sub
    Else
    MsgBox “Неизвестная ошибка”
    Exit Sub
    End If
    End If
    Do
    List1.AddItem fd.cFileName
    Loop While InternetNextFile(hFile, fd) <> 0
    ‘Закрыть хендл
    Call InternetCloseHandle(hFile)
    End Sub
    
    
Главная страница >>>>  Читать далее >>>>
    
    Курсовая - перекодировщик символов на VB
    
    

Бесплатные курсовые работы


    
Курсовая работа на Visual Basic бесплатно. Курсовики на Visual Basic. Freeware программа на Visual Basic