|
|
Добавим на форму Form1 кнопку Command1 по нажатию которой будем загружать веб сайт в броузер
Эту кнопку мы оставим в курсовом проекте (Visual Basic) для ручного просмотра сайтов.
Добавим просмотр всего списка сайтов. Для этого придется несколько переработать уже созданные процедуры и добавить новые. Опишем все их детально.
Private Sub Form_Load()
g = 0 'Обнулить счетчик
f = 0 'Обнулить счетчик
WebBrowser1.Silent = True 'Подавить выдачу диагностических сообщений при загрузке сайтов
Web_Read 'Прочитать список
WebBrowser1.Navigate site1 'Загрузить 1-й сайт из списка
Label2.Caption = site1 'Написать адрес сайта
End Sub
Здесь g = 0 - количество сайтов в файле web.txt. А f = 0 – номер загруженного сайта. При загрузке программы и формы Form1 эти значения задаются равными нулю.
WebBrowser1.Silent = True – при загрузке сайтов в броузер иногда генерируются всплывающие окна и боксы с сообщениями. Например, сообщения об ошибке работы скриптов. Такие боксы требуют ответа пользователя – необходимо мышкой выбрать вариант действий – продолжать или отменить исполнение скриптов. Пока пользователь не произведет действия, показ сайтов не продолжился бы. Эта строка VB кода позволяет программе обойти это препятствие.
Web_Read - Прочитать список адресов сайтов из файла web.txt Адрес сайта для загрузки в броузер записывается в переменную site1
Label2.Caption = site1 – адрес сайта показывается на экране.
При загрузке программы будет выполнена процедура Web_Read – будет прочитан список сайтов и первый сайт будет загружен в броузер
Следующая процедура Web_Read
Private Sub Web_Read()
ReDim e(0)
Open "web.txt" For Input As #1
Do Until EOF(1)
Line Input #1, e(UBound(e)) 'Определить размер массива UBound(a)
ReDim Preserve e(UBound(e) + 1) 'ReDim Preserve увеличивает размер массива, сохраняя при этом его содержимое
Loop
Close
ReDim Preserve e(UBound(e) - 1)
'Элементы массива e() будут содержать строки файла web.txt с адресами сайтов
site1 = e(f)
End Sub
Здесь читается список сайтов в массив e(0), первый элемент массива e(f) при f=0 записывается в переменную site1 (адрес веб сайта для WebBrowser1.Navigate).
e(0) – массив, в который полэлементно записываются прочитанные адреса сайтов
UBound(e) – определить размер получившегося массива (количество элементов ссответствует количеству записей в файле web.txt)
Т.к. эта процедура выполняется сразу после загрузки программы, то f=0 и строка site1 = e(f) – запись в переменную site1 первого адреса сайта (0-го элемента массива e(0))
f = f + 1 – счетчик адресов сайтов переставить на следующий (еще не загруженный) адрес.
Следующая Visual Basic процедура Command1_Click – далее все выполняется по нажатию кнопки
Private Sub Command1_Click()
Nsite 'Ротация сайтов
WebBrowser1.Navigate site1 'Загрузить следующий сайт из списка
Label2.Caption = site1 'Написать адрес сайта
End Sub
Здесь Nsite – процедура ротации сайтов (описана ниже). В ней циклически переставляется счетчик адресов сайтов f , выбирается следующий адрес сайта из массива e(0) и записывается в переменную site1 для загрузки в броузер. Но сама загрузка в Nsite не производится.
WebBrowser1.Navigate site1 – загрузить следующий сайт в броузер
Label2.Caption = site1 – показать адрес загруженного сайта
Процедура ротации сайтов
Private Sub Nsite() 'Ротация сайтов
f = f + 1
'g - количество сайтов в файле web.txt
g = UBound(e) 'Сколько сайтов прочитано из web.txt
If (f) >= g Then
f = 0 'Начать просматривать список сайтов снова
End If
site1 = e(f)
End Sub
Здесь в переменную g записываем количество адресов сайтов UBound(e). Если текущее значение счетчика f больше или равно g, перейти к первому адресу f = 0
В остальных случаях записать в переменную site1 адрес сайта из массива site1 = e(f) и переставить счетчик на следующий адрес f = f + 1
Получилась вполне работоспособная программа на Visual Basic, которая умеет просматривать сайты по заранее созданному списку в «ручном» режиме.
Сделаем автоматическую загрузку сайтов по таймеру.
Добавим элемент Timer1 и поставим интервал Timer1.Interval = 4000
Private Sub Timer1_Timer()
On Error GoTo NH ‘На всякий случай обработка ошибок
Command1_Click 'Загрузить сайт (имитация нажатия кнопки)
NH:
Label2.Caption = site1 'Написать названия загружаемых сайтов и страниц
End Sub
Загрузка сайтов в автоматическом режиме начинается сразу после запуска программы.
Добавим кнопку выхода из программы
Private Sub Command2_Click()
End 'Выход из программы
End Sub
Добавим в программу возможность полноэкранного просмотра загружаемого сайта. Сайт будет открываться во внешнем окне броузера, если Click-нуть по написанному адресу веб сайта (Label2)
Для этого нам и понадобится объявление в самом верху листинга программы
Private Declare Function ShellExecute& Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long)
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Вызов броузера и загрузка сайта
Private Sub Label2_Click() 'Открыть сайт во внешнем окне
Call ShellExecute(GetDesktopWindow, "Open", site1, "", "c:\", SW_SHOWNORMAL)
End Sub
Получилась вполне пригодная к использованию программа, аналогичная программе http://softwaffe.oflameron.ru/
Разработанная Visual Basic программа может загружать отдельные веб страницы, имитируя переход по страницам сайта.
Курсовая работа «Программа для автоматического просмотра веб сайтов» написана 07/11-2012 и предназначена для свободного использования.
Freeware
Freeware - free download software. Next Freeware Syslog server
|
|
|