1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. TheMazzahaka
    Сообщение

    Парсинг windows-1251

    Да кстати,юзай www.delphisources.ru Тру сайт по Delphi
    Сообщение от: TheMazzahaka, 15 дек 2010 в разделе: Delphi
  2. TheMazzahaka
    Сообщение

    Парсинг windows-1251

    Есть 2 варианта. 1.Использовать TWebBrowser с параметром visible:=false; тогда можно будет получить исходный код. 2.Подключиться к серверу сокетами и получить хтмл. Код печатаю,потом добавлю сюда. Вариант 1 Uses ActiveX; ... function GetHTML(WebBrowser: TWebBrowser; ACode: TStrings): Boolean; var    ps: IPersistStreamInit;    ss: TStringStream;    sa: IStream;    s: string; begin    ps := WebBrowser.Document as IPersistStreamInit;    s := '';    ss := TStringStream.Create(s);    try      sa := TStreamAdapter.Create(ss, soReference) as IStream;      Result := Succeeded(ps.Save(sa, True));      if Result then ACode.Add(ss.Datastring);    finally      ss.Free;    end; end; </b><p><b>Функция для получения html кода из tWebBrowser. Использование:пишем в каком либо обработчике GetHTML($Имя компонента tWebBrowser,Массив строк *(обычно Memo1 или другое название компонента.)*); *Примечание для работы функи нужен tWebBrowser на форме,если не хочешь чтобы его было видно выставляем у него свойство Visible в false. Вариант 2 uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw,ActiveX,ScktComp; type THtmlRequest = class(TThread) private FUrl: string; html: string; protected procedure Execute; override; public constructor Create(url: string); procedure Sync; end; var Form46: TForm46; implementation {$R *.dfm} constructor THtmlRequest.Create(url: string); begin inherited Create(true); FUrl := url; Resume; end; procedure THtmlRequest.Execute; var sock: TClientSocket; s: string; i: integer; begin sock := TClientSocket.Create(nil); sock.ClientType := ctBlocking; sock.Port := 80; i := Pos('://', FUrl); if i > 0 then s := Copy(FUrl, i+3, Length(FUrl)) else s := FUrl; i := Pos('/', s); if i > 0 then s := Copy(s, 1, i-1) else s := FUrl; sock.Host := s; try sock.Active := true; s := 'GET ' + FUrl + ' HTTP/1.0' + #10 + 'Accept: text/html' + #10 + //'Referer: ' + FUrl + #10 + 'Accept-Language: ru_RU,ru' + #10#10; sock.Socket.SendText(s); html := ''; i := 0; repeat try s := sock.Socket.ReceiveText; except Break; end; if s = '' then Inc(i) else begin html := html + s; i := 0; end; until i = 1024; except html := 'Connection error'; end; Synchronize(Sync); sock.Free; Terminate; end; procedure THtmlRequest.Sync; begin Form46.Memo1.Text := html; end; Автор кода 2 варианта не я  :D Этот вариант более сложен в понимании.Для работы на форме нужно разместить на форме компонент Memo,заменить Form46 везде на имя своей формы,создать обработчик событий и в нём написать " THtmlRequest.Create('http://www.google.com/');"  Как ты понял параметр это адрес страницы.
    Сообщение от: TheMazzahaka, 15 дек 2010 в разделе: Delphi
  3. TheMazzahaka
  4. TheMazzahaka
  5. TheMazzahaka
  6. TheMazzahaka
  7. TheMazzahaka
  8. TheMazzahaka
  9. TheMazzahaka
    Фэйл исправлен,можно в топку  :D
    Сообщение от: TheMazzahaka, 6 дек 2010 в разделе: C/C++
  10. TheMazzahaka
  11. TheMazzahaka
  12. TheMazzahaka
  13. TheMazzahaka
  14. TheMazzahaka
  15. TheMazzahaka
  16. TheMazzahaka
  17. TheMazzahaka
    Можно,код сюды Оо
    Сообщение от: TheMazzahaka, 20 ноя 2010 в разделе: PHP
  18. TheMazzahaka
  19. TheMazzahaka
      + сег,натолкнуло на ещё 1 идейку (= 
    Сообщение от: TheMazzahaka, 14 ноя 2010 в разделе: PW Web
  20. TheMazzahaka