Marco Web Center |
|
Chapter 23 - Project IeFirst |
Project Structure |
IeFirst.dpr |
program IeFirst; {$APPTYPE CONSOLE} uses WebBroker, CGIApp, IeFirstDm in 'IeFirstDm.pas' {WebModule1: TWebModule}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TWebModule1, WebModule1); Application.Run; end. |
IeFirstDm.pas |
unit IeFirstDm; interface uses Windows, Messages, SysUtils, Classes, HTTPApp, MidItems, Db, DBClient, MConnect, SConnect, CompProd, PagItems, MidProd, XMLBrokr, HTTPProd, WebComp, DBXpress, FMTBcd, Provider, SqlExpr, DBTables; type TWebModule1 = class(TWebModule) XMLBroker1: TXMLBroker; PageProducer1: TPageProducer; DataSetProvider1: TDataSetProvider; InetXPageProducer1: TInetXPageProducer; DataForm1: TDataForm; DataNavigator1: TDataNavigator; Table1: TTable; DataGrid1: TDataGrid; EmpNo: TTextColumn; LastName: TTextColumn; FirstName: TTextColumn; PhoneExt: TTextColumn; HireDate: TTextColumn; Salary: TTextColumn; StatusColumn1: TStatusColumn; procedure XMLBroker1GetResponse(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); private { Private declarations } public { Public declarations } end; var WebModule1: TWebModule1; implementation {$R *.DFM} procedure TWebModule1.XMLBroker1GetResponse(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); begin Response.Content := '<h1>Updated</h1><p>' + InetXPageProducer1.Content; Handled := True; end; end. |
IeFirstDm.dfm |
object WebModule1: TWebModule1 OldCreateOrder = False Actions = < item Default = True Name = 'WebActionItem1' PathInfo = '/default' Producer = InetXPageProducer1 end> Left = 236 Top = 131 Height = 289 Width = 339 object XMLBroker1: TXMLBroker Params = <> ProviderName = 'DataSetProvider1' WebDispatch.MethodType = mtAny WebDispatch.PathInfo = 'XMLBroker1' ReconcileProducer = PageProducer1 OnGetResponse = XMLBroker1GetResponse Left = 64 Top = 144 end object PageProducer1: TPageProducer HTMLDoc.Strings = ( '<h1>Update Errors</h1>' '' '<p>Something went wrong in your udpate request....' '<p>Get back to previous page.' '' '' '') Left = 136 Top = 152 end object DataSetProvider1: TDataSetProvider DataSet = Table1 Constraints = True Left = 64 Top = 88 end object InetXPageProducer1: TInetXPageProducer IncludePathURL = '/jssource/' HTMLDoc.Strings = ( '<HTML>' '<HEAD>' '<title>IeFirst</title>' '</HEAD>' '<BODY>' '<h1>Internet Express First Demo (IeFirst.exe)</h1>' '' '<#INCLUDES><#STYLES><#WARNINGS><#FORMS><#SCRIPT>' '' '</BODY>' '</HTML>') Left = 64 Top = 192 object DataForm1: TDataForm object DataNavigator1: TDataNavigator XMLComponent = DataGrid1 Custom = 'align="center"' end object DataGrid1: TDataGrid XMLBroker = XMLBroker1 DisplayRows = 5 TableAttributes.BgColor = 'Silver' TableAttributes.CellSpacing = 0 TableAttributes.CellPadding = 2 HeadingAttributes.BgColor = 'Aqua' object EmpNo: TTextColumn DisplayWidth = 10 FieldName = 'EmpNo' end object LastName: TTextColumn DisplayWidth = 20 FieldName = 'LastName' end object FirstName: TTextColumn DisplayWidth = 15 FieldName = 'FirstName' end object PhoneExt: TTextColumn DisplayWidth = 4 FieldName = 'PhoneExt' end object HireDate: TTextColumn DisplayWidth = 18 FieldName = 'HireDate' end object Salary: TTextColumn DisplayWidth = 10 FieldName = 'Salary' end object StatusColumn1: TStatusColumn Caption = '*' end end end end object Table1: TTable DatabaseName = 'DBDEMOS' TableName = 'employee.db' Left = 64 Top = 32 end end |