Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 08.08.2011
Сообщений: 12

пытаюсь создать переход на сайт в результате выдается ошибка

02.05.2012, 21:05. Показов 1110. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
пытаюсь создать переход на сайт в результате выдается ошибка в первой строке как это исчправить код взят из книги
Delphi
1
2
3
4
5
6
ShellExecute(Application.Handle,
     PChar('open'),
     PChar('www.webdelphi.ru'),
     PChar(0),
     nil,
     SW_NORMAL) ;
Добавлено через 39 секунд
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ToolWin, Vcl.ActnMan, Vcl.ActnCtrls,
  Vcl.Ribbon, Vcl.ImgList, Vcl.ActnList, Vcl.RibbonLunaStyleActnCtrls;
 
type
  TForm1 = class(TForm)
    rbn: TRibbon;
    actmgr: TActionManager;
    il1: TImageList;
    il2: TImageList;
    RibbonPage1: TRibbonPage;
    RibbonGroup1: TRibbonGroup;
    RibbonGroup2: TRibbonGroup;
    cmd_openurl: TAction;
    procedure cmd_openurlExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.cmd_openurlExecute(Sender: TObject);
begin
ShellExecute(Application.Handle,
     PChar('open'),
     PChar('www.webdelphi.ru'),
     PChar(0),
     nil,
     SW_NORMAL) ;
end;
 
end.
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2012, 21:05
Ответы с готовыми решениями:

Пытаюсь создать базу данных, но выдается ошибка
Пытаюсь создать базу данных, но выдается ошибка? Проверил права пользователя, но никаких разрешений или запрещений на создание баз не...

Пытаюсь создать сайт...
Здравствуйте! Мне нужно сделать сайт. Простенький(4 странички), но красивый... Пробовал Publisher, но панель тамошней навигации не...

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

9
 Аватар для HanDi
898 / 345 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
02.05.2012, 22:14
Чтобы создать гиперссылку в delphi, нужно сначала добавить в uses проекта модуль "ShellApi".
Добавили? Отлично. Поместим на форму label с именем label1.

Теперь создадим событие на OnClick нашего label1:

Delphi
1
ShellExecute(handle, 'open', 'http://************', nil, nil, SW_SHOW);
Теперь разберем параметры относительно нашего случая:

handle - это дескриптор главной формы (аналогично Form2.handle)
open - тип действия с файлом. Нам надо его открыть.
- имя файла, который надо открыть. У нас это может быть гиперссылка, содержащая абсолютный URI.
nil - здесь никаких дополнительных параметров открытия файла не должно быть, поэтому nil.
nil - директория по умолчанию нас так же не интересует.
SW_SHOW - активирует окно и отображает его с текущими размерами и положением.

Разобрались. Теперь после слова implementation объявляем константы:

Delphi
1
2
3
4
const
  link = clBlue; //цвет ссылки
  alink = clRed; //цвет ссылки в момент нажатия
  vlink = clPurple; // цвет посещенной ссылки
Теперь на событие FormCreate:

Delphi
1
Label1.font.Color := link;
На событие Label1MouseDown:

Delphi
1
Label1.Font.Color := alink;
На событие Label1MouseUp:

Delphi
1
Label1.Font.Color := vlink;
Теперь для более реалистичности событие Cursor в label1 ставим crHandPoint
2
0 / 0 / 0
Регистрация: 08.08.2011
Сообщений: 12
02.05.2012, 23:47  [ТС]
понял свой косяк спасибо нужно было модуль добавить

Добавлено через 16 минут
сори еще толком не научился пользоваться
Delphi
1
2
3
4
5
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ToolWin, Vcl.ActnMan, Vcl.ActnCtrls,
  Vcl.Ribbon, Vcl.ImgList, Vcl.ActnList, Vcl.RibbonLunaStyleActnCtrls,ShellAPI,
  Vcl.StdCtrls;
0
02.05.2012, 23:53

Не по теме:

Странный у тебя uses ;)

0
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
02.05.2012, 23:59

Не по теме:

Странный у тебя uses

Не по теме:

Это delphi XE2 у него. там такие навороты.

0
0 / 0 / 0
Регистрация: 08.08.2011
Сообщений: 12
03.05.2012, 00:11  [ТС]
а как сделать чтобы выбрать и открыть документ можно было?

Добавлено через 5 минут
еще вопрос где взять хорошие иконки?
0
 Аватар для HanDi
898 / 345 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
03.05.2012, 00:18
Цитата Сообщение от umaxi Посмотреть сообщение
а как сделать чтобы выбрать и открыть документ можно было?
это уже к этому не относится, как я понимаю.

Цитата Сообщение от umaxi Посмотреть сообщение
еще вопрос где взять хорошие иконки?
iconsearch.ru
0
0 / 0 / 0
Регистрация: 08.08.2011
Сообщений: 12
03.05.2012, 20:15  [ТС]
а как сделать чтобы можно было сохранить содержимое то что будет отображаться в браузере прогаммы

Добавлено через 11 часов 39 минут
подскажите пожалуйста куда верхню часть когда вписывать до процедуры procedure TForm5.act_openurl_defExecute(Sender: TObject);
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
procedure Add2History(const aURL:string);
var idx:integer;
begin
with Form5.RibbonComboBox1 do
begin
idx:=Items.IndexOf(aURL);
case idx of
-1:Items.Insert(0,aURL);
0:exit;
else
Items.Move(idx,0);
end;
end;
end;
procedure TForm5.act_openurlExecute(Sender: TObject);
begin
ShellExecute(Application.Handle,
PChar('open'),
PChar(RibbonComboBox1.Text),
PChar(0),
nil,
SW_NORMAL);
Add2History(RibbonComboBox1.Text);
end;
procedure TForm5.act_openurl_defExecute(Sender: TObject);
begin
WebBrowser1.Navigate(RibbonComboBox1.Text);
Add2History(RibbonComboBox1.Text);
end;
Добавлено через 7 часов 22 минуты
как осуществить переход по ссылке при помощи клавиши Enter
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ToolWin, Vcl.ActnMan, Vcl.ActnCtrls,
  Vcl.Ribbon, Vcl.ImgList, Vcl.ActnList, Vcl.RibbonLunaStyleActnCtrls,ShellAPI,
  Vcl.StdCtrls, Vcl.OleCtrls, SHDocVw, Vcl.RibbonActnCtrls;
 
type
  TForm1 = class(TForm)
    rbn: TRibbon;
    actmgr: TActionManager;
    il1: TImageList;
    il2: TImageList;
    RibbonPage1: TRibbonPage;
    RibbonGroup1: TRibbonGroup;
    RibbonGroup2: TRibbonGroup;
    cmd_openurl: TAction;
    Label1: TLabel;
    WebBrowser1: TWebBrowser;
    cmd_openurl_def: TAction;
    RibbonComboBox1: TRibbonComboBox;
    procedure cmd_openurlExecute(Sender: TObject);
    procedure cmd_openurl_defExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 procedure Add2History(const aURL:string);
var idx:integer;
begin
with Form1.RibbonComboBox1 do
begin
idx:=Items.IndexOf(aURL);
case idx of
-1:Items.Insert(0,aURL);
0:exit;
else
Items.Move(idx,0);
end;
end;
end;
procedure TForm1.cmd_openurlExecute(Sender: TObject);
begin
ShellExecute(Application.Handle,
PChar('open'),
PChar(RibbonComboBox1.Text),
PChar(0),
nil,
SW_NORMAL);
Add2History(RibbonComboBox1.Text);
end;
 
 
procedure TForm1.cmd_openurl_defExecute(Sender: TObject);
 
begin
WebBrowser1.Navigate(RibbonComboBox1.Text);
Add2History(RibbonComboBox1.Text);
 
end;
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 
end;
 
end.
0
 Аватар для HanDi
898 / 345 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
03.05.2012, 20:38
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.cmd_openurlExecute(Sender: TObject);
begin
if Key = 13 then begin 
ShellExecute(Application.Handle,
PChar('open'),
PChar(RibbonComboBox1.Text),
PChar(0),
nil,
SW_NORMAL);
Add2History(RibbonComboBox1.Text);
end;
end;
Добавлено через 1 минуту
Или поставь в нужное место
Delphi
1
if Key = #13 then ...
Есть еще вариант
Delphi
1
if Key = VK_ENTER then
Так, для общего развития.
0
0 / 0 / 1
Регистрация: 25.04.2012
Сообщений: 5
03.05.2012, 21:10
Ребят, зашел на сайт с помощью
Delphi
1
ShellExecute(handle, 'open', 'http://job.ukr.net/', nil, nil, SW_SHOW);
а как содержимое моего Label3.Text запихнуть в поле "Введите должность" на сайте http://job.ukr.net/ и нажать кнопку поиск? чтоб открылась страничка сразу со списком вакансий на должность "label3.text" ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.05.2012, 21:10
Помогаю со студенческими работами здесь

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

Пытаюсь создать функцию удаления строки. Не могу понять в чём ошибка
function connect() { $connect = mysql_connect('localhost', 'frank', 'delgado') or die(mysql_error()); } function...

Пытаюсь создать описание класса одномерных массивов строк. В чем моя ошибка?
Помогите пожалуйста! Пытаюсь создать описание класса одномерных массивов строк. В чем моя ошибка? #include <iostream> ...

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

Вместо "STRING" выдается "MEMO" в результате запроса
Есть поле 'Account' типа string в ACCESS-таблице 'Accounts'. Пишу запрос: select first(account) from ACCOUNTS Вместо значения поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru