Visual Basic 6. Руководство разработчика


         

Код элемента управления


Rates

Стандартные свойства элемента управления добавлены с помощью мастера интерфейса ActiveX. Остановимся на процедурах, которые загружают текстовый файл и выводят его в элемент управления ListBox.

Программа 21.10. Метод DownloadRates

Public Function DownloadRates(RatesURL As String)

On Error GoTo DLoadError

AsyncRead RatesURL, vbAsyncTypeFile, "Rates"

Exit Function

DLoadError:

RaiseEvent DLoadError(1024, "Could not download currency _

rates.")

' (He удалось загрузить курсы валют)

End Function

Метод, вызывающий функцию AsyncRead, передает ей URL Web-сервера в качестве параметра. Загруженная информация сохранится в файле с именем Rates.

Интересное действие выполняется, когда происходит событие

AsyncReadComplete объекта UserControl.

Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty)

Dim FileName As String

On Error GoTo DLoadError

If AsyncProp.PropertyName = "Rates" Then

FileName = AsyncProp.Value

ReadRates FileName

End If

Exit Sub

DLoadError:

RaiseEvent DLoadError(1025, "Error in Downloading rates")

' (Ошибка при загрузке курсов)

End Sub

Код начинается с проверки значения свойства

PropertyName объекта AsyncProp. В элементе управления Rates это свойство принимает только значение Rates. Если элемент управления загружает несколько файлов сразу, то свойство укажет, загрузка какого файла уже завершена, чтобы его можно было обработать. Когда метод AsyncRead загружает файл, свойство Value объекта AsyncProp содержит имя файла и путь на локальном диске. Это имя не имеет никакого отношения к фактическому имени файла на сервере. Оно является уникальным именем файла, созданным сис­темой во временной папке файлов Интернет. Имя файла используется подпрограм­мой ReadRates() для отображения курсов в элементе управления ListBox.

Программа 21.11. Подпрограмма ReadRates()

Private Sub ReadRates(FileName As String)

Dim FNum As Integer

Dim currencyName As String, currencyValue As Currency




Содержание  Назад  Вперед