Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];

Вниз

Поиск строки в поисковом сайте через Internet Explorer   Найти похожие ветки 

 
mefodiy   (2005-09-27 10:38) [0]

При создании формы открываю нужный мне интернет сайт

var IEApp: OleVariant;
    WinHanlde: HWnd;
...............................
procedure OpenIE(aURL: string);
 var WinHanlde: HWnd;
begin
 if (VarIsEmpty(IEApp)) then
   begin
     IEApp         := CreateOleObject("InternetExplorer.Application");
     IEApp.Visible := True;
     IEApp.Navigate(aURL);
   end
 else
   begin
     WinHanlde := FindWindow("IEFrame", nil);
     if (0 <> WinHanlde) then
       begin
         IEApp.Navigate(aURL);
         SetForegroundWindow(WinHanlde);
       end
     else
       ShowMessage("Can""t open IEApp !");
   end;
end;
..........................................
OpenIE("http://www.yandex.ru");
..........................................
Нужно, чтобы по нажатию кнопки в моей форме на поисковом сайте yandex.ru начался поиск строки из моего TEdit.
Возможно ли такое и, если да, то как это сделать?
Спасибо.


 
dmitry501 ©   (2005-09-27 10:52) [1]

Угу, вызывай вот так
OpenIE("http://www.yandex.ru/yandsearch?rpt=rad&text="+Edit1.text+");


 
mefodiy   (2005-09-27 13:10) [2]

Все работает, только нормальный в Edit1 текст в поисковике превращается в аброкадабру.
Не помогает и преобразование

OpenIE("http://www.yandex.ru/yandsearch?rpt=rad&text="+StringToWideString(Edit1.Text,1251))

где функция имеет вид

function StringToWideString(const s: AnsiString; codePage: Word): WideString;
 var l: integer;
begin
 if s = "" then
   Result := ""
 else
   begin
     l := MultiByteToWideChar(codePage, MB_PRECOMPOSED, PChar(@s[1]), -1, nil, 0);
     SetLength(Result, l - 1);
     if l > 1 then
       MultiByteToWideChar(CodePage, MB_PRECOMPOSED, PChar(@s[1]),
                           -1, PWideChar(@Result[1]), l - 1);
   end;
end;


 
dmitry501 ©   (2005-09-28 05:37) [3]

Попробуй использовать функцию HTMLEncode()
которая преобразует русские буквы и служебные символы в кодировку, используемую в HTML


 
mefodiy   (2005-09-28 09:24) [4]

HTMLEncode() не помогла


 
dmitry501 ©   (2005-09-28 09:26) [5]

А подробнее? Чему равна aURL? Какая кодировка стоит у IE по умолчанию?


 
mefodiy   (2005-09-28 10:31) [6]

Что имеешь в виду под aURL?
Кодировку IE насколько я понимаю смотрим в View-->Ecoding.
Там стоит Cirillic(WIndows).


 
dmitry501 ©   (2005-09-28 10:40) [7]

mefodiy   (28.09.05 10:31) [6]
>Что имеешь в виду под aURL?
Переменная из [0]
и еще, стоит ли параметр "отправлять url как utf-8"?


 
mefodiy   (2005-09-28 11:27) [8]

>Переменная из [0] Опять не дошло, поподробнее, пожалйста
>и еще, стоит ли параметр "отправлять url как utf-8"? да стоит


 
dmitry501 ©   (2005-09-28 11:39) [9]

mefodiy   (28.09.05 11:27) [8]
прочти свой самый первый вопрос, и увидишь переменную aURL, которыя передается в процедуру OpenIE. На ней поставь брекпоинт и посмотри чему она равна!


 
mefodiy   (2005-09-28 12:12) [10]

Так ты же мне его сам написал

"http://www.yandex.ru/yandsearch?rpt=rad&text="+Edit1.text

Кстати, если даже вместо Edit1.text написать в кириллице любое слово (в теле программы), то на брекпоинте все номально читается. Абракадабра получается при передаче URL в IE.


 
mefodiy   (2005-09-28 14:53) [11]

Проблема решилась заменой

 IEApp.Navigate(aURL);

на

 IEApp.Navigate(StringToWideString(aURL,1251));

т.е. преобразование в юникод надо было делать не при вызове функции

OpenIE("http://www.yandex.ru/yandsearch?rpt=rad&text="+Edit1.Text)

а в самом теле функции.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.046 c
1-1127946922
turonix
2005-09-29 02:35
2005.10.23
Нет ли у кого-нибудь примера генератора уникальных ключей?


6-1120451686
hursand
2005-07-04 08:34
2005.10.23
ISAPI модул


1-1128180114
NightLord
2005-10-01 19:21
2005.10.23
Текст в пикселах


14-1128183159
syte_ser78
2005-10-01 20:12
2005.10.23
12 дней не курю!


5-1104096308
alo
2004-12-27 00:25
2005.10.23
добавить свойство классу TListColumn ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский