home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue65 / construc / WMLWebMod.pas < prev   
Encoding:
Pascal/Delphi Source File  |  2000-11-09  |  3.8 KB  |  119 lines

  1. unit WMLWebMod;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, HTTPApp, Db, DBClient, MConnect,
  7.   DSProd;
  8.  
  9. type
  10.   TWebModule1 = class(TWebModule)
  11.     DataSetPageProducer1: TDataSetPageProducer;
  12.     DCOMConnection1: TDCOMConnection;
  13.     ClientDataSet1: TClientDataSet;
  14.     ClientDataSet1CustNo: TFloatField;
  15.     ClientDataSet1Company: TStringField;
  16.     ClientDataSet1Addr1: TStringField;
  17.     ClientDataSet1Addr2: TStringField;
  18.     ClientDataSet1City: TStringField;
  19.     ClientDataSet1State: TStringField;
  20.     ClientDataSet1Zip: TStringField;
  21.     ClientDataSet1Country: TStringField;
  22.     ClientDataSet1Phone: TStringField;
  23.     ClientDataSet1FAX: TStringField;
  24.     ClientDataSet1TaxRate: TFloatField;
  25.     ClientDataSet1Contact: TStringField;
  26.     ClientDataSet1LastInvoiceDate: TDateTimeField;
  27.     ClientDataSet1TableOrders: TDataSetField;
  28.     procedure WebModule1WebActionItem1Action(Sender: TObject;
  29.       Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  30.     procedure WebModule1WebActionItem2Action(Sender: TObject;
  31.       Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  32.   private
  33.     { Private declarations }
  34.   public
  35.     { Public declarations }
  36.   end;
  37.  
  38. var
  39.   WebModule1: TWebModule1;
  40.  
  41. implementation
  42.  
  43. {$R *.DFM}
  44.  
  45. procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
  46.   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  47. var
  48.   Naam: String;
  49. begin
  50.   Naam := Request.QueryFields.Values['ExternalNaam'];
  51.   Response.ContentType := 'text/vnd.wap.wml';
  52.   Response.Content :=
  53.     '<?xml version="1.0"?>' + #13#10 +
  54.     '<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'+
  55.     #13#10 +
  56.     #13#10 +
  57.     '<wml>' +
  58.     '<card id="answer" title="Hallo">' +
  59.     '<p>' +
  60.     '<img src="http://192.168.92.201/dilbert.wbmp" alt="dilbert"/>' + 
  61.     'Hallo beste [' + Naam + ']!' +
  62.     '</p>' +
  63.     '<do type="accept" label="customer">' +
  64.     '<go method="post" href="http://192.168.92.201/cgi-bin/wapcgi.exe/customer">' +
  65.     '<postfield name="ExternalNaam" value="' + Naam + '"/>' +
  66.     '</go>' +
  67.     '</do>' +
  68.     '</card>' +
  69.     '</wml>';
  70. end;
  71.  
  72. procedure TWebModule1.WebModule1WebActionItem2Action(Sender: TObject;
  73.   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  74. var
  75.   Naam: String;
  76.   CustNo: String;
  77.   Cookies: TStringList;
  78. begin
  79.   Naam := Request.ContentFields.Values['ExternalNaam'];
  80.   CustNo := Request.ContentFields.Values['CustNo'];
  81. //CustNo := Request.CookieFields.Values['CustNo'];
  82.   if not ClientDataSet1.Active then ClientDataSet1.Active := True;
  83.   if CustNo <> '' then
  84.   begin
  85.     if ClientDataSet1.FindKey([CustNo]) then
  86.       ClientDataSet1.Next
  87.   end;
  88.   Response.ContentType := 'text/vnd.wap.wml';
  89. {
  90.   Cookies := TStringList.Create;
  91.   Cookies.Add('CustNo='+ClientDataSet1.FieldByName('CustNo').AsString);
  92.   Response.SetCookieField(Cookies, '192.168.92.201', '', Now+1, False);
  93. }
  94.   Response.Content :=
  95.     '<?xml version="1.0"?>' + #13#10 +
  96.     '<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'+
  97.     #13#10 +
  98.     #13#10 +
  99.     '<wml>' +
  100.     '<card id="answer" title="Hallo '+Naam+'">' +
  101.     '<p>' +
  102.     DataSetPageProducer1.Content +
  103.     '</p>' +
  104.     '<do type="accept" label="terug">' +
  105.     '<go method="post" href="http://192.168.92.201/cgi-bin/wapcgi.exe/Naam?ExternalNaam='+Naam+ '"/>' +
  106.     '</do>' +
  107.     '<do type="prev" label="volgende">' +
  108.     '<go method="post" href="http://192.168.92.201/cgi-bin/wapcgi.exe/customer">' +
  109.       '<postfield name="ExternalNaam" value="' + Naam + '"/>' +
  110.         '<postfield name="CustNo" value="' +
  111.             ClientDataSet1.FieldByname('CustNo').AsString + '"/>' +
  112.     '</go>' +
  113.     '</do>' +
  114.     '</card>' +
  115.     '</wml>';
  116. end;
  117.  
  118. end.
  119.