Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 19
1

При вводе в поле edit1 адреса vk.com, браузер должен переходить на odnoklassniki.ru (Delphi7)

31.07.2014, 16:42. Показов 1245. Ответов 7
Метки нет (Все метки)

Всем привет. Как сделать в delphi7, когда вводишь в поле edit1 сайт vk.com, то в браузере переходило на odnoklassniki.ru. А все остальные сайты работали нормально. Только для контакта сделать такую хрень. Именно когда введено vk.com значит переходить на одноклассники. Заранее всем спс. Ах да и подскажите чтобы работало через enter.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.07.2014, 16:42
Ответы с готовыми решениями:

При вводе в одно поле, текст должен появляться в другом поле
как это сделать напомните пожалуиста

Не переходить на wp-login.php при неверном вводе логина или пароля
Добрый день! Я на свой сайт подставил стандартную форму входа для пользователей. Как сделать, чтобы...

При вводе в один Edit1 и другой Edit2 автоматические вывести сумму чисел в Edit3
Задался целью, что бы при вводе в один Edit1 и другой Edit2 автоматические выводилась сумма чисел в...

Как сделать так чтобы при вводе в Edit1, данные автоматически писались в Edit2?
Добрый день, программисты!!! На форме есть Edit1, Edit2. Как сделать так чтобы при вводе в Edit1,...

7
Эксперт Pascal/Delphi
4858 / 2735 / 845
Регистрация: 04.10.2012
Сообщений: 9,972
31.07.2014, 17:31 2
dima081107, можно так
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.btn1Click(Sender: TObject);
begin
if Pos('http://', Edit1.Text)=0 then Edit1.Text :='http://'+Edit1.Text;
if Edit1.Text='http://vk.com' then
 ShellExecute(Handle, 'open', PChar('http://odnoklassniki.ru'), nil, nil, SW_SHOW)
 else
 ShellExecute(Handle, 'open', PChar(Edit1.Text), nil, nil, SW_SHOW);
end;
0
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 19
31.07.2014, 19:45  [ТС] 3
droider, Пишет что ошибка. Что то связано с этим ShellExecute

Добавлено через 1 час 15 минут
Надо было просто дописать в uses ShellAPI. А как сделать это в WebBrowser1 .
Как вы показали это открывается в новом окне. А как сделать в самой программе???
0
Эксперт Pascal/Delphi
4858 / 2735 / 845
Регистрация: 04.10.2012
Сообщений: 9,972
01.08.2014, 00:41 4
Для тех, кто "в танке":

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Silent :=True;//отключаем просмотр ошибок сценариев
end;
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then begin
if Pos('http://', Edit1.Text)=0 then Edit1.Text :='http://'+Edit1.Text;
if Edit1.Text='http://vk.com' then
WebBrowser1.Navigate('http://odnoklassniki.ru')
 else
WebBrowser1.Navigate(Edit1.Text);
  end;
end;
 
end.
Тогда ShellApi модуль отключите, если дальше не планируете использовать SE.
0
Житель Земли
2969 / 2938 / 390
Регистрация: 26.07.2011
Сообщений: 11,297
Записей в блоге: 1
01.08.2014, 10:42 5
Лучший ответ Сообщение было отмечено dima081107 как решение

Решение

dima081107, ты пишешь свой браузер для оффисных работников, чтобы они не могли зайти на контакт?? тогда огорчу тебя. твой метод легко обходится. я зайду на контакт по ссылке с другой страницы. я тупо создам локальную страницу и пропишу там ссылку. если хочешь по-умному зарубить навигацию на определнный сайт, нужно обрабатывать событие OnBeforeNavigate2, здесь парсить строку URL, если присутствует текст vk.com (в любом месте строки), то переменной Cancel присваиваешь true, что запретит переход по URL

Добавлено через 4 минуты
... или подставляешь другой URL (ну, надеюсь сам догадался)

Добавлено через 5 минут
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm2.WebBrowser1BeforeNavigate2(ASender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName,
  PostData, Headers: OleVariant; var Cancel: WordBool);
begin
  if Pos('vk.com',URL) <> 0 then
  begin
    Cancel:= true;
    WebBrowser1.Navigate('http://ok.ru');
  end;
end;
1
droider
01.08.2014, 13:10
  #6

Не по теме:

Цитата Сообщение от DenNik Посмотреть сообщение
браузер для оффисных работников, чтобы они не могли зайти на контакт
Смысл? Для тех, кому делать нечего. "VK" и "Одноклассники" - одна пурга. Пустая трата времени в соц. сетях.

0
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 19
01.08.2014, 13:17  [ТС] 7
Добавлено через 1 минуту
DenNik, Я это знал. Даже когда напишешь vk.com/id1 уже обходит. Спс за информацию.
0
DenNik
01.08.2014, 15:30     При вводе в поле edit1 адреса vk.com, браузер должен переходить на odnoklassniki.ru (Delphi7)
  #8

Не по теме:

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2014, 15:30

При вводе дробных значений в Edit1 выдаёт ошибку с целыми числами работает нормально
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Надо чтобы при нажатии на кнопку открывался браузер с параметрами из Edit1 и Edit2
Люди помогите.. Надо чтобы при нажатии на кнопку открывался браузер с параметрами из Edit1 и Edit2...

Переадресация при вводе адреса
Добрый вечер. Народ, такой вопрос, как сделать, чтобы при вводе адреса example.ru шла переадресация...

Цикл должен завершиться при вводе нуля
while (scanf(&quot;%i&quot;,&amp;c)!=0) - цикл должен завершиться при вводе нуля и программа завершиться выдав...

Табуляция Edit1 в Edit2 при введение в поле Edit 2-х символов
Собственно сабж.. Вот код события-тут только нажатие кнопки таб, нужно еще условие перед нажатием:...

Сделать так, чтобы стирался текст в Edit1 при нажатии на поле
Можно сделать так, чтобы стирался текст в Edit1 при нажатии на поле?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru