как вставить ссылку в прогрмму

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

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

Ответить
yuriy kuznetsov
новенький
Сообщения: 12
Зарегистрирован: 05.11.2010 05:43:06

как вставить ссылку в прогрмму

Сообщение yuriy kuznetsov »

Доброго времени суток! Извините, я начинающий. Делаю свою первую программу в Lazarus. Мне надо вставить на форму ссылку на сайт. Я такие встречал в маленьких окошечках «о программе». Подскажите пожалуйста как они создаются. Может компоненты готовые есть? Заранее спасибо.
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

yuriy kuznetsov писал(а):Доброго времени суток! Извините, я начинающий.

Вэлкам! :wink:

yuriy kuznetsov писал(а):Мне надо вставить на форму ссылку на сайт. Я такие встречал в маленьких окошечках «о программе». Подскажите пожалуйста как они создаются. Может компоненты готовые есть? Заранее спасибо.

Вот
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

yuriy kuznetsov
Например, можно поместить на форму Label, свойству Caption присвоить название сайта и в событии onClick поместить процедуру открытия браузера на определённом сайте. Для Windows это будет выглядеть так:

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

procedure TForm1.Label1Click(Sender: TObject);
begin
  ShellExecute(0, 'open', 'http://www.freepascal.ru', NIL, NIL, SW_ShowNormal);
end;
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

А если используете Lazarus из svn, то уже должна быть OpenURL в модуле LCLIntf.
yuriy kuznetsov
новенький
Сообщения: 12
Зарегистрирован: 05.11.2010 05:43:06

Сообщение yuriy kuznetsov »

Воспользовался советом от Vadim. Проблема решена. Ссылка работает. Единственная подробность для таких же начинающих как я:
в uses надо добавить Windows и ShellAPI.
Большое спасибо всем кто принял участие в моей проблеме.
Maxizar
постоялец
Сообщения: 385
Зарегистрирован: 20.03.2010 18:48:14

Сообщение Maxizar »

yuriy kuznetsov писал(а):Воспользовался советом от Vadim. Проблема решена. Ссылка работает. Единственная подробность для таких же начинающих как я:
в uses надо добавить Windows и ShellAPI.
Большое спасибо всем кто принял участие в моей проблеме.

Пожалуйста… но есть одно НО. Lazarus позволяет писать кросплатформенные программы, и рано или поздно вы захотите это испробовать, и именно на собственных программах и тут вы встретите много ….. короче будет не очень хорошо.

Odyssey писал(а):А если используете Lazarus из svn, то уже должна быть OpenURL в модуле LCLIntf.

Odyssey был прав, уже дописали и я пользуюсь данной функцией уже пару месяцев.
Так что yuriy kuznetsov я вам просто советую пользоваться модулем LCLIntf и функцией OpenURL. OpenURL – Это кросплатформенная процедура открытия ссылки (т. е. ВЫ один раз вставили ссылки и не нужно париться на счет: «А как это будет работать в другой ОС?» Все будет работать без вашей помощи. И тем более вызов функции выглядит так:

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

procedure TAboutForm.ImageButton2Click(Sender: TObject);
begin
  OpenURL('http:\\freepascal.ru');
end;

Мне кажется это намного проще и выглядит более аккуратно и читабельнее. Хотя на вкус и цвет....

Если же нужно открыть документ (српавка или лицензия) то я из этого же модуля пользуюсь функцией: OpenDocument

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

procedure TAboutForm.ImageButton3Click(Sender: TObject);
begin
  OpenDocument(ExtractFilePath(Paramstr(0))+'\help.chm');
end;

И еще если вы новичек: то чтобы все это работало нуна подключить модуль LCLIntf. Удачи :)
Ответить