---- 在Delphi IDE 中的 MAWeb模块
procedure TMAWebModule.MAWebModuleModifyCustAction(
Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
var CustID, State, City, Zip : string;
begin
CustID := Request.ContentFields.Values['custid'];
State := Request.ContentFields.Values['State'];
City := Request.ContentFields.Values['City'];
Zip := Request.ContentFields.Values['Zip'];
with Response do begin
ContentType := MIMETypeWML;
try
if LocateCustomer(CustID) then
begin
DebugMessage('Saving customer data:'#13 +
'CustID="' + CustID + '"'#13 +
'State="' + State + '"'#13 +
'City="' + City + '"'#13 +
'Zip="' + Zip + '"'#13);
Customer.Edit;
CustomerState.AsString := State;
CustomerCity.AsString := City;
CustomerZip.AsString := Zip;
Customer.Post;
Content := WMLHeader +
'< card id="modifyok" title="Info ' +
'Modified" newcontext="true" >' + CRLF +
' < onevent type="ontimer" >' + CRLF +
' < go method="post" ' +
'href="/scripts/ma_ooqs.dll/mainmenu" >' +
CRLF + ' < postfield name="custid" ' +
'value="' + HTTPEncode(CustID) + '"/ >' + CRLF +
' < /go >' + CRLF + ' < /onevent >' + CRLF +
' < timer value="30"/ >' + CRLF + ' < p >' +
CRLF + ' < b >Customer info succesfully '+
'modified.< /b >< br/ >' + CRLF + ' < /p >' + CRLF +
'< /card >' + CRLF + CRLF + '< /wml >' + CRLF;
end
else
Content := InvalidIDPageWML;
finally
Customer.Close;
end;
end;
Handled := True;
end;
---- figure6:存储用户输入的数据到customer表中。
---- 这段代码从Request.ContentFields 属性中提取新的客户信息,然后在Customer 表中查找正确的客户记录,然后调用Edit方法把这个表转入dsEdit状态,设置字段值(fields),最后调用Post方法提交记录。
---- 测试海上冒险程序为测试这个程序,你需要有一个Web服务器,它上面能运行ISAPI
系统。这个例程已经在Microsoft IIS4.0下测试通过,但她应该也能够在其他的兼容产品上或者是IIS的其他版本的
系统上运行。除了这台Web服务器之外,你还需要下在并安装Nokia WAP Toolkit version 1 。(截稿时,Nokia WAP Toolkit 1.3 的测试版本提供下载)。这个产品可以从Nokia的WAP站点免费下载 (Http://www.delphizine.com/include/Click_Redir.asp?Url=http://www.forum.nokia.com/. ) 这个开发工具不需要安装在和WEB服务器的同一台计算机上,因为说有它需要的仅仅是能通过IP网络连接到WEB服务器。当这个WAP开发工具打开时,他会显示一个欢迎项目(参见图2)。这个开发
系统能模拟两个移动电话模块。为实现MAOOQS,使用这个开发工具参数菜单命令选择Nokia 6110型的电话。