Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.01.2010, 20:15
Аватар для NekitoSSSS
NekitoSSSS NekitoSSSS вне форума
Начинающий
 
Регистрация: 02.05.2009
Адрес: Башкортостан, г.Благовещенск
Сообщения: 142
Версия Delphi: XE
Репутация: 13
По умолчанию idHttp & Javasctipt..

реально ли подружить idHTTP с ссылками типа:
"javascript:..." ??? если нет то что можно юзать в качестве альтернативы??!!!
если предложите WebBrowser то тогда как получить исходный текст его страницы??))
Ответить с цитированием
  #2  
Старый 31.01.2010, 10:07
Аватар для march
march march вне форума
Начинающий
 
Регистрация: 04.05.2009
Сообщения: 110
Репутация: 18
По умолчанию

а почему бы и нет?
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Edit1: TEdit;
    Button1: TButton;
    Memo1: TMemo;
  
   
    procedure Button1Click(Sender: TObject);
    
    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  stringshtml:widestring;

implementation

{$R *.dfm}

//function for translating  "ieroglifs" to russian text
function RussianToUnicode(S: String): String;
var Wrd:Word;
  pW,pR:PWord;
  len:Integer;
begin
  pW:=@S[1];
  len:=Length(S);
  SetLength(Result,len);
  pR:=@Result[1];
  while Len<>0 do begin
    Wrd:=pW^;
    case Wrd of
      $C0..$DF,$E0..$FF:pR^:=Wrd+$0350;
      else pR^:=Wrd;
    end;
    inc(pW);
    inc(pR);
    dec(Len);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  IdHttp1.HandleRedirects:=True;
  stringshtml:=RussianToUnicode(idhttp1.Get(edit1.text));
  memo1.text:=stringshtml;
end;





end.
Это показывает исходный код, а дальше парси (нормально видит русский и английский, остальные языки не пробовал).

Последний раз редактировалось march, 31.01.2010 в 10:10.
Ответить с цитированием
  #3  
Старый 31.01.2010, 19:13
Аватар для NekitoSSSS
NekitoSSSS NekitoSSSS вне форума
Начинающий
 
Регистрация: 02.05.2009
Адрес: Башкортостан, г.Благовещенск
Сообщения: 142
Версия Delphi: XE
Репутация: 13
По умолчанию

ты меня не понял!! ты вообще не о том пишешь!!! ты вообще не о том пишешь!! прочитай внимательней мой вопрос!

Последний раз редактировалось NekitoSSSS, 31.01.2010 в 19:17.
Ответить с цитированием
  #4  
Старый 31.01.2010, 19:46
Аватар для march
march march вне форума
Начинающий
 
Регистрация: 04.05.2009
Сообщения: 110
Репутация: 18
По умолчанию

Цитата:
ты меня не понял!
каков вопрос - таков и ответ.
По сабжу: что понимаешь под словом "подружить"?
Если возможность пройти по ссылке типа:
Код HTML:
<a href="javascript:function();">AnkorЪ</a>
то надо: искать в исходном HTML-коде саму "function()" и обрабатывать в соответствии с задачей.
Ответить с цитированием
  #5  
Старый 01.02.2010, 10:50
Аватар для NekitoSSSS
NekitoSSSS NekitoSSSS вне форума
Начинающий
 
Регистрация: 02.05.2009
Адрес: Башкортостан, г.Благовещенск
Сообщения: 142
Версия Delphi: XE
Репутация: 13
По умолчанию

в общем нужно чтоб работало что-то этакое:
idhttp1.Get('javascript:function()');
Ответить с цитированием
  #6  
Старый 01.02.2010, 15:24
Аватар для march
march march вне форума
Начинающий
 
Регистрация: 04.05.2009
Сообщения: 110
Репутация: 18
По умолчанию

такое даже в адресной строке браузеров не работает; нужно анализировать, что из себя представляет 'function', слишком много вариантов (даже возможно, что цепочка из скриптов)
Ответить с цитированием
  #7  
Старый 02.02.2010, 12:00
Аватар для NekitoSSSS
NekitoSSSS NekitoSSSS вне форума
Начинающий
 
Регистрация: 02.05.2009
Адрес: Башкортостан, г.Благовещенск
Сообщения: 142
Версия Delphi: XE
Репутация: 13
По умолчанию

разницы нет, все работает в строке браузера!!! ориентируйся например на этом:
Код:
javascript:function ctI696(msD623){document.write( String.fromCharCode(parseInt(msD623)+2));}
var y271="102k114k114k110k56k45k45k76k99k105k103k114k"+
"109k81k44k109k105k109k113k102k99k97k102k105k95k44k"+
"108k99k114k45k113k45k97k100k81k98k64k119k51k49k55k"+
"47k45k61k113k103k98k59k47k51k52k46k46";var FES525=y271.split("k");
var mC262=0;while(mC262<FES525.length){ctI696(FES525[mC262]);mC262++;}
вот это как раз срабатывает в браузере, а в idhttp нет.
Ответить с цитированием
  #8  
Старый 21.02.2010, 12:44
Аватар для xlin
xlin xlin вне форума
Прохожий
 
Регистрация: 21.02.2010
Адрес: Kazan
Сообщения: 4
Репутация: 10
По умолчанию

Цитата:
Сообщение от march
Код:
stringshtml:=RussianToUnicode(idhttp1.Get(edit1.text));
в этом месте выскакивает ошибка,в чем может быть проблема?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter