Открыть URL

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

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

Открыть URL

Сообщение JuraS » 22.04.2009 20:31:24

Здравствуйте.
Подскажите как открыть URL программно на Lazarus, что бы это инициировало запуск бровзера и т.п.
В общем то, что в Windows делается ShellExecute, но чтобы работало и под Linux тоже.
Заранее спасибо.

PS:
Искал подобную тему. Не нашел :(
JuraS
незнакомец
 
Сообщения: 9
Зарегистрирован: 05.10.2008 18:22:06

Re: Открыть URL

Сообщение Mr.Smart » 22.04.2009 20:36:30

JuraS писал(а):Здравствуйте.
Подскажите как открыть URL программно на Lazarus, что бы это инициировало запуск бровзера и т.п.
В общем то, что в Windows делается ShellExecute, но чтобы работало и под Linux тоже.
Заранее спасибо.

Универсального способа нет!
JuraS писал(а):PS:
Искал подобную тему. Не нашел :(

Плохо ищете на форуме обсуждался данный вопрос для Linux'a....
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Открыть URL

Сообщение JuraS » 22.04.2009 21:01:25

Хм...ну тогда дали бы ссылку...или, если вам не сложно :), сказали бы верный поисковый запрос.
И раз универсального нет, то как определить платформу...
JuraS
незнакомец
 
Сообщения: 9
Зарегистрирован: 05.10.2008 18:22:06

Re: Открыть URL

Сообщение Mr.Smart » 22.04.2009 21:23:34

Для определения платформы у вас есть перпроцессорные средства условной компиляции
Код: Выделить всё
{$IFDEF WINDOWS}Код для Виндафс{$ENDIF}
{$IFDEF LINUX}Соотвктственно для Линя{$ENDIF}
и т.д.

Читайте документацию на компилятор FPC :wink:
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Открыть URL

Сообщение JuraS » 22.04.2009 21:32:07

Да, про эти директивы я забыл: друг их использовал и я мельком видел их в коде...
JuraS
незнакомец
 
Сообщения: 9
Зарегистрирован: 05.10.2008 18:22:06

Re: Открыть URL

Сообщение Mr.Smart » 22.04.2009 21:33:13

Меньше ленитесь и всё у вас получится тыц-тыц :wink:

Добавлено спустя 1 минуту 22 секунды:
пост от Odyssey
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Открыть URL

Сообщение JuraS » 22.04.2009 21:39:33

Меньше ленитесь и всё у вас получится тыц-тыц


Ваше пожелание будет учтено. ;)
Но в поиске скорее опыт важен чем труд.
Большое спасибо.
JuraS
незнакомец
 
Сообщения: 9
Зарегистрирован: 05.10.2008 18:22:06

Re: Открыть URL

Сообщение Alexx2000 » 22.04.2009 21:49:14

Есть один кроссплатформенный способ:
  • Подключаем модуль HelpIntfs
  • На форму кидаем компоненты HTMLHelpDatabase и HTMLBrowserHelpViewer
  • У обоих утанавливаем свойство AutoRegister = True

После этого ссылку можно открыть следующим образом:
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
  err: string;
begin
  if HelpIntfs.ShowHelp('http://www.yandex.ru', 'Lazarus', 'text/html', err) <> shrSuccess then
    ShowMessage(err);
end;

Работает как в Windows, так и в Linux. Этот способ используется в самом Лазарусе в окне "О проекте Lazarus".
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Re: Открыть URL

Сообщение Mr.Smart » 22.04.2009 22:28:34

В итоге линкуется куча неиспользуемого (мёртвого) кода...
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Открыть URL

Сообщение VAshot » 23.04.2009 09:06:03

Компонент TOvcURL из набора Orpheus. Но под "не Win" не проверял.
Аватара пользователя
VAshot
постоялец
 
Сообщения: 128
Зарегистрирован: 01.11.2007 12:31:21
Откуда: Пермь

Re: Открыть URL

Сообщение shade » 23.04.2009 22:39:58

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

Добавлено спустя 25 секунд:
Надо в базу знаний занести :-)
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Re: Открыть URL

Сообщение Odyssey » 24.04.2009 00:08:08

Это код не от Odyssey, это код от Graeme Geldenhuys, из проекта fpGUI.

shade писал(а):Надо в базу знаний занести

Может, лучше сразу в LCL? :wink: Добавил #13574.
Пост в базе знаний тут.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

Рейтинг@Mail.ru