Сайту требуются администраторы и авторы статей. С предложениями пишите на rock-n-roll@tut.by.
11 марта 2008

Delphi: IWebBrowser - делаем запрос POST

Пример отправки POST-запроса с помощью компонента IWebBrowser.

procedure TForm1.PostWithWebBrowser(PostString: string; URL: OleVariant);
var
Data: Pointer;
PostData: OleVariant;
Flags, TargetFrame, Headers: OleVariant;
begin
PostData := VarArrayCreate([0, Length(PostString) - 1], varByte);
Data := VarArrayLock(PostData);
try
Move(PostString[1], Data^, Length(PostString));
finally
VarArrayUnlock(PostData);
end;
Flags := EmptyParam;
TargetFrameName := EmptyParam;
Headers := EmptyParam;
WebBrowser1.Navigate2(URL, Flags, TargetFrame, PostData, Headers);
end;

Категория IWebBrowser, Internet, ActiveX | 1 CommentВерсия для печати Версия для печати

11 марта 2008

Delphi: Как узнать свой IP

В Uses прописываем модуль WinSock

function GetLocalIP:string;
var
WSVer:integer;
wsaData: TWSAData;
P: PHostEnt;
Buf: array [0..127] of Char;
begin
WSVer:=$101;
if WSAStartup(WSVer, wsaData) = 0 then
begin
if GetHostName(@Buf, 128) = 0 then
begin
P := GetHostByName(@Buf);
if P <> nil then
result:=iNet_ntoa(PInAddr(p^.h_addr_list^)^);
end;
WSACleanup;
end;
end;

Категория Локальная сеть, Internet, Delphi | 0 CommentsВерсия для печати Версия для печати

13 сентября 2007

Delphi: делаем скриншот сайта

Данная функция позволяет сделать скриншот сайта с помощью IWebBrower

procedure generateJPEGfromBrowser(browser: iWebBrowser2; jpegFQFilename: String;
srcHeight: Integer; srcWidth: Integer; tarHeight: Integer; tarWidth: Integer);
var
sourceDrawRect : TRect;
targetDrawRect: TRect;
sourceBitmap: TBitmap;
targetBitmap: TBitmap;
jpeg: TJPEGImage;
viewObject: IViewObject;
begin
sourceBitmap := TBitmap.Create ;
targetBitmap := TBitmap.Create ;
jpeg := TJPEGImage.Create ;
try
try
sourceDrawRect := Rect(0,0, srcWidth , srcHeight );
sourceBitmap.Width :=  srcWidth ;
sourceBitmap.Height :=  srcHeight ;

viewObject := browser as IViewObject;

if viewObject = nil then
Exit;

OleCheck(viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, self.Handle,
sourceBitmap.Canvas.Handle, @sourceDrawRect, nil, nil, 0));

// Resize Bitmap
targetDrawRect := Rect(0,0, tarWidth, tarHeight);
targetBitmap.Height := tarHeight;
targetBitmap.Width := tarWidth;
targetBitmap.Canvas.StretchDraw(targetDrawRect, sourceBitmap);

// Create JPEG from Bitmap and save it
jpeg.Assign(targetBitmap) ;
makeFileWriteable(jpegFQFilename);
jpeg.SaveToFile (jpegFQFilename);
finally
jpeg.free;
sourceBitmap.free ;
targetBitmap.free;
end;
except
// errors
end;
end;

Категория Интерфейс, Internet, Delphi | 0 CommentsВерсия для печати Версия для печати

15 июня 2007

Delphi: Открыть сайт в Internet Explorer

Данный пример показывает как запустить Internet Explorer с открыванием какого-либо URL. Для работы требуется модуль ShellAPI

ShellExecute(TForm(Owner).Handle,nil,PChar('http://codesources.net/'), nil, nil,SW_SHOWNORMAL);

Категория Internet, Delphi | 0 CommentsВерсия для печати Версия для печати

7 июня 2007

Named Pipes

Именованные каналы (Named Pipes) - это объекты ядра, являющиеся средством межпроцессной коммуникации между сервером канала и одним или несколькими клиентами канала.

Далее »

Категория Сеть, Internet | 0 CommentsВерсия для печати Версия для печати

20 мая 2007

Получить HTML из IWebBrowser (Delphi)

В IE5, можно получить исходник используя свойство outerHTML тэгов HTML. В IE4 или IE3, Вам понадобится записать документ в файл, а затем загрузить файл в TMemo, TStrings, и т.д.

var
HTMLDocument: IHTMLDocument2;
PersistFile: IPersistFile;
begin
...
HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
PersistFile := HTMLDocument as IPersistFile;
PersistFile.Save(StringToOleStr('test.htm'), True);

while HTMLDocument.readyState <> 'complete' do
Application.ProcessMessages;
...
end;

Обратите внимание: Вам понадобится импортировать библиотеку MSHTML и добавить MSHTML_TLB как ActiveX, в секцию Uses.

Категория Internet, ActiveX, Delphi | 0 CommentsВерсия для печати Версия для печати

20 мая 2007

Загрузка HTML в IWebBrowser (Delphi)

uses
ActiveX;

procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var
sl: TStringList;
ms: TMemoryStream;
begin
WebBrowser.Navigate('about:blank');
while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
Application.ProcessMessages;

if Assigned(WebBrowser.Document) then
begin
sl := TStringList.Create;
try
ms := TMemoryStream.Create;
try
sl.Text := HTMLCode;
sl.SaveToStream(ms);
ms.Seek(0, 0);
(WebBrowser.Document as
IPersistStreamInit).Load(TStreamAdapter.Create(ms));
finally
ms.Free;
end;
finally
sl.Free;
end;
end;
end;

Категория Интерфейс, Internet, ActiveX, Delphi | 0 CommentsВерсия для печати Версия для печати

20 мая 2007

Результат HTTP-запроса (Delphi)

uses IdMultipartFormData;

{ .... }

procedure TForm1.Button1Click(Sender: TObject);
var
data: TIdMultiPartFormDataStream;
begin
data := TIdMultiPartFormDataStream.Create;
try
{ add the used parameters for the script }
data.AddFormField(′param1′, ′value1′);
data.AddFormField(′param2′, ′value2′);
data.AddFormField(′param3′, ′value3′);

{ Call the Post method of TIdHTTP and read the result into TMemo }
Memo1.Lines.Text := IdHTTP1.Post(′http://localhost/script.php′, data);
finally
data.Free;
end;
end;

Категория Internet, Delphi | 0 CommentsВерсия для печати Версия для печати

Друзья

  • Рубрики

  • Разное
  • Прочее