![]() |
New book: Delphi 2007 Handbook My blog in online Delphi tech support service: support.marcocantu.com |
Menu for Development
|
|
| |||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
| Chapter 21 - Project HttpServ |
Project Structure |
| HttpServ.dpr |
program HttpServ; uses Forms, HttpForm in 'HttpForm.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. |
| HttpForm.pas |
unit HttpForm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPServer, IdHTTPServer, StdCtrls, StrUtils, IdThreadMgr, IdThreadMgrDefault; type TForm1 = class(TForm) IdHTTPServer1: TIdHTTPServer; ListBox1: TListBox; procedure IdHTTPServer1CommandGet(AThread: TIdPeerThread; RequestInfo: TIdHTTPRequestInfo; ResponseInfo: TIdHTTPResponseInfo); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread; RequestInfo: TIdHTTPRequestInfo; ResponseInfo: TIdHTTPResponseInfo); var HtmlResult: String; begin // log Listbox1.Items.Add (RequestInfo.Document); // respond HtmlResult := '<h1>HttpServ Demo</h1>' + '<p>This is the only page you''ll get from this example.</p><hr>' + '<p>Request: ' + RequestInfo.Document + '</p>' + '<p>Host: ' + RequestInfo.Host + '</p>' + '<p>Params: ' + RequestInfo.UnparsedParams + '</p>' + '<p>The headers of the request follow: <br>' + RequestInfo.Headers.Text + '</p>'; ResponseInfo.ContentText := HtmlResult; end; end. |
| HttpForm.dfm |
object Form1: TForm1 Left = 192 Top = 107 Width = 318 Height = 211 Caption = 'HttpServ' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object ListBox1: TListBox Left = 0 Top = 0 Width = 310 Height = 184 Align = alClient ItemHeight = 13 TabOrder = 0 end object IdHTTPServer1: TIdHTTPServer Active = True Bindings = <> DefaultPort = 8080 OnCommandGet = IdHTTPServer1CommandGet AutoStartSession = True SessionTimeOut = 10000 Left = 80 Top = 56 end end |