Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Как сделать приложение для чтения HTML-файлов


Автор: MIF 24.2.2005, 11:04
Как сделать приложение для чтения HTML-файлов...?

Мне необходимо осуществить такой замысел... У меня есть демонстрационный диск с авторан-меню.. Через это меню я должен выйти на HTML файл... и вобщем выхожу запускается Internet Explorer.... Мне бы хотелось сделать средствами VB некое приложение, которое запускалось автоматически и выводило на экран этот файл...

В пакете VB6 есть средство, которое собственно работает как простой броузер.... Но для того, чтобы запустить HTML файл через это приложение мне надо явно указать в строке URL путь к этому файлу или в самой программе указать путь к файлу HTML (E:///ИМЯ ПАПКИ/***.HTML)
тогда при запуске приложения HTML грузится автоматически.
Однако следует заметить, что если указать жесткую привязку (E:///ИМЯ ПАПКИ/***.HTML),то на другой машине это может и не работать ( у одних CDROM - E, а у других - F )... !!!

Может кто решал похожие проблемы....?
Может есть другие компоненты для реализации этой задачи?

Автор: Naghual 24.2.2005, 11:11
Проще тебе узнать путь приложения.
App.Path - каталог, из которого запущено твое приложение. Тоесть E:\, G:\ или сколько их там.

Автор: MIF 24.2.2005, 11:16
Naghua Можно немного подробнее...
Мне нужно указать
App.Path вместо бкувенного значения...?

Автор: Vidocq 24.2.2005, 11:41
MIF
Да. К примеру, пишешь:
Код

Path=App.Path & "filename"

Где Path - ясное дело, путь к загружаемому хтмл файлу ;)

Автор: MIF 24.2.2005, 11:45
Попробую сейчас сделать....

Автор: Guest 24.2.2005, 13:49
У меня что-то не получилось... вот програмный код, который отвесает за загрузку HTML по абсолютному пути

Private Sub LoadNewDoc()
Static lDocumentCount As Long
Dim frmD As frmBrowser1
lDocumentCount = lDocumentCount + 1
Set frmD = New frmBrowser1
frmD.StartingAddress = "C:\html\index.html"
frmD.Show
End Sub

Автор: MIF 24.2.2005, 13:51
Цитата(Guest @ 24.2.2005, 13:49)
У меня что-то не получилось... вот програмный код, который отвесает за загрузку HTML по абсолютному пути

Private Sub LoadNewDoc()
Static lDocumentCount As Long
Dim frmD As frmBrowser1
lDocumentCount = lDocumentCount + 1
Set frmD = New frmBrowser1
frmD.StartingAddress = "C:\html\index.html"
frmD.Show
End Sub

От MIF

Автор: Naghual 24.2.2005, 14:19
frmD.StartingAddress = App.Path & "\html\index.html" - Это если прога в корне диска лежит.

И еще:
frmD.Browser1.StartingAddress
У формы нет свойства StartingAddress. Это свойство у комноненты обозревателя.
Вместо Browser1 впиши свое название этого компонента.

Автор: MIF 24.2.2005, 14:31
Вот спасибо Naghual... !!! заработало...

Я с Вашей помощью решил эту проблему...

Спасибо....

Только один еще вопросик.... Можно ли реализовать такую фичу...
Скажем запускаем этот браузер c некоторыми параметрами: " webbrouser.exe --index.html "
И он загружает необходимую страницу, которую мы указали после -- ..
Просто я к тому, что у меня в меню несколько различных HTML файлов.... получается нужно будет создавать для них свой броузер...

Автор: Naghual 24.2.2005, 15:45
Зачем? Для каждого ХТМЛ свой браузер?
Я так понимаю, что следующая страница откроется в том же окне браузера что и предыдущая.
Или в href указан другой адресат?

Автор: MIF 24.2.2005, 15:53
Да конечно она откроется в том же окне... Но у меня AUTORUN на диске - это EXE файл....
На нем размещено меню из трех пунктов... через которые можно попасть на index1.htm, index2.htm, index3.htm

В меню AUTORUN у меня указана ссылка на мой броузер.. который запускается... и по умолчанию запускает начальную страницу index.htm.... Но помимо этой страницы у меня есть возможность запустить через авторан- меню еще index1.htm, index2.htm

Вот как это сделать через AUTORUN меню одним браузером...?

Автор: Naghual 24.2.2005, 16:02
А...
Есть такая функция Command. Она возвращает переданный приложению параметр при запуске.
Тоесть если запустить программу "webbrouser.exe index.html", то Command вернет "index.html". Вот она то тебе и поможет.

Пишеш:
Код
frmD.Browser1.StartingAddress = App.Path & "\html\" & Command


А почему ты хочеш использовать именно самописный браузер вместо стандартного?
Добавлено @ 16:05
Лучше использовать Command$. Ну чтобы работать конкретно с String.

Автор: MIF 24.2.2005, 16:12
Хороший вопрос.... На него я не могу дать отвта... т.к. это хочет мой хаказчик..... Видно его мутит от Explorera.....
Попробую сейча сделать...... С Вами уменя точно все получится....
О свих результатах напишу... Спасибо за помощь...

Автор: Naghual 24.2.2005, 16:20
Цитата
это хочет мой хаказчик

Тогда зачем делать отдельное приложение для браузера? Почему не использовать то же авторановское?

Автор: MIF 24.2.2005, 16:30
Спасибо....Naghual !!!

Получилось...

Автор: MIF 24.2.2005, 17:06
И последняя доводка в прграмме... Пробовал написать условие на то, что если Command не задан строка-(1), то нужно грузить index.htm по умолчанию.. строка (2) Только какое значение в условии для COMMAND нужно написать, чтобы сказать существует оно или нет..... (TRUE или FALSE) - у меня не получилось


Private Sub LoadNewDoc()
Static lDocumentCount As Long
Dim frmD As frmBrowser
lDocumentCount = lDocumentCount + 1
Set frmD = New frmBrowser

frmD.StartingAddress = App.Path & "\html\" & Command /// запускается с параметром (1)

frmD.StartingAddress = App.Path & "\html\index.htm" /// запуск по умолчанию index.htm (2)

frmD.Show
End Sub

Автор: Naghual 24.2.2005, 17:19
Код

Dim Page as string

Page = Trim$(Command$)
if Page = "" then
   frmD.StartingAddress = App.Path & "\html\index.htm"
else
   frmD.StartingAddress = App.Path & "\html\" & Page
end if


И тебе нужна защита от ламера:
Сделай проверку на левый параметр при запуске (Ну если Комманд муть вернет)

Автор: MIF 24.2.2005, 17:32
Спасибо огромное Naghual ..... !!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)