Открытие html файла.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Открытие html файла.

Сообщение Сквозняк »

Нужно в события нескольких кнопок запихнуть открытие html файлов. Но к сожалению в вики и примерах на эту тему только ерунда бесполезная http://wiki.lazarus.freepascal.org/Add_Help_to_Your_Application из которой никак не ясно как запускать открытие html без класса TEdit, который мне вообще не нужен. Примерчик бы работающий.
files32
новенький
Сообщения: 24
Зарегистрирован: 27.10.2007 13:42:41

Сообщение files32 »

А что конкретно Вам не понятно? TEdit Вас не заставляют применять.

А вообще прочтите жирным
Quick Start

Open the example in examples/helphtml/.
This project demonstrates how to use the HTML help components. Just drop them on a form of your project. Setup the paths and create some HTML pages. Then give each control of your application a HelpKeyword.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Спасибо за качественный гугльтранслитовый перевод, но вы сами даже вопрос по русски прочитали наполовину если не заметили, что данный пример уже был просмотрен. В нём нет ничего нового, только то что в справке. Если его применять в лоб, то нужно размещать на форме ненужные компоненты а потом их прятать чтобы пользователь не лазил по всяким мусорникам.

В принципе, html не самоцель, подойдёт и текст форматированный пробелами и маркерами конца строки, с картинками. Такое решение

Код: Выделить всё

var
s: ansistring;

begin
s:='строка 1'+#13#10+'строка 2'+#13#10+'строка 3'+#13#10+'строка 4';
label1.caption:=s;

почти то что надо, следует лишь поискать компонент в котором есть перенос строк, полосы прокруток и можно последовательно запихнуть несколько картинок - почти как в справке лазаруса.
files32
новенький
Сообщения: 24
Зарегистрирован: 27.10.2007 13:42:41

Сообщение files32 »

По справке в лазарусе пример понятен, не понятно теперь что Вы имеете в виду
в события нескольких кнопок запихнуть открытие html файлов


Вам нужно справку организовать или запустить браузер с вашей html страничкой?
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Нужно организовать справку в которой будет много букв и есть возможность скормить альтернативный файл с текстом. Просто запусть броузер можно используя комманду системы, лазарус для этого вообще необязателен. Но это лотерея, неизвестно что откроется на чужой машине: броузер, редактор или дебаггер :mrgreen: Потому нужно сделать справку распечатывающую тексты из внешних файлов в самом лазарусе. На родительской форме имеется несколько картинок и элемент MainMenu1. Всё, больше ничего на ней не планируется, всё запускается из кнопок менюшек: процедуры, окна с дочерними окнами.

Код: Выделить всё

procedure TForm1.MenuItem10Click(Sender: TObject);
begin

end;     

Есть события типа этого и нужно такой процедурой открыть окошко в которой будет текст с прокруткой и пара картинок. Раз с html до сих пор всё так плохо, то можно обойтись без него. Текстовой файл отдельно, картинки отдельно.
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

В примерах лазаруса все есть. Очень ясно и понятно. Смотрите примеры HelpHtml и HelpHtml_ipro.
Разобраться не сложно. Я именно этим пользовался когда делал просмотр HTML отчета.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Из примера лазаруса не ясно, откуда берётся необходимая для открытия html в броузере

Код: Выделить всё

ShowHelpOrErrorForKeyword('','HTML/index.html'); 
Хотя сам пример является не более чем заумным аналогом однострочника на паскале:

Код: Выделить всё

fpsystem('xdg-open index.html');
Не, такой способ не подойдёт, придётся собирать из кучи примеров что-то работающее.
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

Не понял вам в браузере открыть HTML, или в форме/окне своей программы?
Если в браузере то через процесс...
У меня работает и так и так. HTML отчет открываю на вкладке программы. Если надо, этот же отчет открывается в браузере или ворде. Хелп по программе открывается в браузере.
Не понимаю вашего вопроса. Внятнее его задайте, покажу как сделал сам.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

http://freepascal.ru/forum/viewtopic.php?f=5&t=2400&start=105#p53657 не html, зато автономная справка
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

v-t-l писал(а):http://freepascal.ru/forum/viewtopic.php?f=5&t=2400&start=105#p53657 не html, зато автономная справка
Пожалуй, так будет хуже. Штука безусловно хорошая, но мне нужно чтобы программа собиралась любым стандартным компилятором паскаля с использованием библиотек лазаруса без их апгрейда. А если лазарус перед компиляцией придётся апгрейдить, то ерунда получается.

Добавлено спустя 7 минут 24 секунды:
vada писал(а):Не понимаю вашего вопроса. Внятнее его задайте, покажу как сделал сам.
Есть различные пути для достижения желаемого. Одни хорошие, другие похуже, но все как-то работают. Открытие справки через сторонний броузер, это не очень хороший вариант, так как программа будет запускаться не только на моём аппарате. А вот открытие справки через лазарусную морду это наилучший вариант, при условии что не потребуется скачивать и устанавливать 10500 дополнений. Я то могу пройти этот квест, но программа не должна потерять простоту сборки. На данный момент она собирается распаковкой архива и кликом по скрипту.
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

Поместите исходники нужных компонентов (ipro, lazhelp и т.п.) в директорию со своим проектом, задайте пути к ним и создавайте в run-time. Будет работать без пересборки лазаря. Это если очень хочется извращений из-за увлекательных требований ^_^
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

Открытие справки через сторонний броузер, это не очень хороший вариант, так как программа будет запускаться не только на моём аппарате

Покажите аппарат на котором нет браузера.
А вот открытие справки через лазарусную морду это наилучший вариант, при условии что не потребуется скачивать и устанавливать 10500 дополнений.

В форме хелп открыть? Так это в примерах есть. Что не так? Не надо доставлять стопятьсот компонентов. Все из коробки.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Покажите аппарат на котором нет браузера.

Времена когда на каждом компьютере стояла одна ОС на которой был всего 1 броузер уходят в дремучее прошлое. Вот прямо сейчас у меня броузер по умолчанию, год не обновляемый konqueror, он не все страницы открывает нормально, есть третья мозила, какой-то там хромиум, несколько опер из которых только одна установлена файловым менеджером, остальные в каталоге хомяка. Есть какие-то недоредакторы хтмл. В какой-то момент, для удобства использования, я мог настроить приложение по умолчанию текстовой редактор или смотрелку а потом забыть открутить обратно. Не факт что лазарус откроет хелп в нужной опере и что он отобразится правильно. Может вообще не открыться если возникнут лаги из-за кириллицы в путях.
В форме хелп открыть? Так это в примерах есть.
В каком именно примере? Может быстрее не тратить время на перетыкивание всего подрят и велосипед построить.
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

В какой-то момент, для удобства использования, я мог настроить приложение по умолчанию текстовой редактор или смотрелку а потом забыть открутить обратно.

За отмаз не катит. :) У вас рабочая лошадка или испытательный стенд. Надо как-то различать. Работать или изгаляться.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

За отмаз не катит. У вас рабочая лошадка или испытательный стенд. Надо как-то различать. Работать или изгаляться.
Моя твоя не понимай. Под рабочей лошадкой обычно понимают Ынтерпрайзное железо. Скажу по секрету, программы на паскале нужны не только для Ынтерпрайза. Это касательно паскаля, а в лазарусе то, что не нужно Ынтерпрайзникам может находиться в полуразрушенном состоянии от релиза к релизу годами. Говорить об этом не хочется, потому вместо прямых ответов имеем диалог пользователей гнома и кде. Вот потому-то на лазарусе только морда генерирующая события программе на фпц - неизвестно в какой момент вылезут лазарусные банальные ограничения, мне такие сюрпризы как-то никчему.
Ответить