转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
Web Application 開 發 利 器 - WebSnap(二)         ★★★★

Web Application 開 發 利 器 - WebSnap(二)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2191 更新时间:2009/4/23 18:41:05
rnet 來 顯 示 Internet Toolbar:

 

 

Internet Toolbar

 

 

在 我 的 電 腦 上 安 裝 的 網 頁 編 輯 程 式 是 UltraDev , 因 此 我 按 下 External Edit 按 紐 後 的 畫 面 如 下 :

 

 

接 下 來 就 是 網 頁 編 輯 的 工 作 啦 , DELPHI 6 的 IDE 真 的 很 方 便 不 是 嗎 ? 如 果 網 頁 編 輯 的 人 不 是 你 自 己 的 話 , 你 可 以 將 uHome.html 複 製 給 她 , 設 計 完 成 後 再 放 回 你 的 專 案 目 錄 中 就 可 以 了 。

 

 2-1 、 牛 刀 小 試 , 簡 單 的 AdpterField 運 用

 

現 在 讓 我 們 回 到 DELPHI IDE 中 , 現 在 我 們 有 個 問 題 , 如 果 我 們 想 在 網 頁 中 顯 示 今 天 日 期 的 話 該 怎 麼 做 呢 ? 很 簡 單 ! 我 們 可 以 利 用 TAdapterField 與 JScript 來 完 成 這 個 工 作 。 請 切 換 到 Home Module 上 , 在 TApplicationAdapter 元 件 中 你 可 以 發 現 到 Data 這 個 特 性 值 , 雙 按 她 後 會 開 出 以 下 的 畫 面 :

 

 

我 們 可 以 在 這 個 Field Designer 視 窗 中 加 入 AdapterField 類 的 元 件 , 請 在 設 計 畫 面 中 按 右 鍵 :

 

 

在 這 個 選 單 中 我 們 可 以 新 增 AdapterField 到 TApplicationAdapter 中 , 請 你 先 選 擇 Add All Fields 這 個 選 項 , 這 會 新 增 一 個 TApplicationTitleField 元 件 至 TApplicationAdapter 元 件 中 。 完 成 後 請 你 再 按 右 鍵 選 擇 New Component 選 單 :

 

 

 請 選 擇 新 增 一 個 AdapterField 元 件 , 接 著 我 們 再 設 定 這 個 AdapterField 元 件 的 特 性 值 :

 


在 這 個 程 式 中 , 我 們 的 目 的 是 要 在 Script 中 使 用 這 個 AdapterField 來 取 得 當 天 的 日 期 。 因 此 我 們 要 為 這 個 AdapterField 撰 寫 取 得 日 期 的 事 件 , 請 切 到 Events 頁 , 撰 寫 OnGetValue 事 件 程 式 :

 

 

procedure THome.AdaptTodayGetValue(Sender: TObject;

var Value: Variant);

begin

  Value:=DateToStr(Date);

end;

 

完 成 後 我 們 還 要 撰 寫 取 值 的 Script 程 式 , 請 切 到 .html 頁 在 Application.Title 下 一 行 加 入 以 下 的 Script 程 式 :

 

<h2> 今 天 是 <%= Application.Today.Value %></h1>

 

編 譯 完 成 後 執 行 程 式 , 你 應 該 可 以 看 到 這 樣 的 畫 面 :

 

很 簡 單 不 是 嗎 ? 以 往 要 達 到 這 種 效 果 我 們 得 先 寫 個 ASP Object , 接 著 再 使 用 ASP 來 呼 叫 這 個 Object 。 過 程 中 不 但 要 使 用 兩 種 工 具 , 還 得 注 意 COM 複 雜 且 難 懂 的 規 則 , 有 了 WebSnap 之 後 , 這 一 切 都 改 觀 了 。 我 們 既 可 以 得 到 ServerSide-Script 的 優 點 , 又 可 以 使 用 熟 悉 的 元 件 架 構 及 DELPHI 來 設 計 網 頁 程 式 , 這 大 大 的 增 加 程 式 師 的 產 能 。 在 這 個 範 例 中 , 你 可 能 會 很 納 悶 為 何 我 們 新 增 的 AdapterField 使 用 方 式 與 使 用 Title 時 不 同 呢 ? 看 起 來 Title 的 使 用 方 式 似 乎 簡 單 的 多 了 。 這 是 因 為 ApplicationAdapter 的 Wrapper Object 特 別 輸 出 了 一 個 Title 的 特 性 值 來 直 接 傳 回 Title 的 值 , 這 牽 扯 到 Wrapper Object 的 設 計 方 式 , 我 們 等 到 Inside WebSnap 一 文 中 再 詳 細 討 論 這 部 份 。

  

2-3 、 計 算 機 , AdapterField 與 AdapterAction 的 結 合

 

AdapterField 元 件 的 目 的 是 用 來 處 理 資 料 , 在 WebSnap 中 還 有 一 種 與 她 相 同 等 級 的 元 件 : AdapterAction , 這 種 Adapter 是 用 來 執 行 某 個 動 作 。 接 著 我 們 就 來 應 用 一 下 AdapterAction , 我 們 要 設 計 一 個 簡 單 的 計 算 機 , 目 的 只 是 要 將 使 用 者 輸 入 的 值 相 加 後 顯 示 出 來 。 請 回 到 IDE 中 新 增 一 個 Page Module 到 專 案 中 , 請 使 用 Internet Toolbar 或 是 New Items Dialog 。

 

 

 

我 們 在 這 個 Page Module 中 選 擇 使 用 AdapterPageProducer , 她 可 以 讓 我 們 使 用 DELPHI 所 提 供 的 視 覺 化 網 頁 設 計 功 能 (Visual Page Designer) 來 設 計 網 頁 :

 

 

然 後 我 們 新 增 一 個 Adapter 元 件 來 儲 存 AdapterField 及 AdapterAction:

 

 

接 著 我 們 雙 按 Adapter 元 件 中 的 Data 特 性 值 , 新 增 三 個 AdapterField: FirstValue 、 SecondValue,Result

 

 

First 與 Second 這 兩 個 AdapterField 是 用 來 儲 存 使 用 者 所 輸 入 的 資 料 。 Result 則 是 用 來 顯 示 結 果 值 用 。 接 下 來 我 們 還 需 要 一 個 確 定 的 按 紐 , 確 切 的 說 是 一 個 AdapterAction , 因 為 我 們 需 要 在 使 用 者 按 下 按 紐 後 執 行 相 加 的 動 作 。 記 得 嗎 ? AdapterAction 就 是 用 來 執 行 動 作 用 的 , 請 雙 按 Adapter 中 的 Actions 特 性 值 新 增 一 個 AdapterAction:

 

 

然 後 設 定 Action 的 特 性 值 。

 

 

接 著 我 們 還 要 定 義 一 個 變 數 來 儲 存 結 果 , 以 便 將 計 算 的 結 果 顯 示 給 使 用 者 。 在 這 裡 我 們 必 需 要 釐 清 一 個 觀 念 , 表 面 上 來 看 , AdapterField 是 用 來 儲 存 資 料 的 , 但 儲 存 資 料 用 的 容 器 ( 也 就 是 變 數 ) 則 是 要 我 們 來 提 供 。 因 此 請 在 程 式 碼 的 class 區 段 中 加 入 這 一 段 變 數 宣 告 :

 

private

    FResultValue:string;

 

在 使 用 這 個 變 數 前 我 們 需 要 初 始 化 她 , 免 得 下 次 的 計 算 結 果 不 正 確 , 記 得 第 一 節 的 Web Module 說 明 嗎 ? 最 佳 的 初 始 化 事 件 可 不 是 OnCreate 哦 , 是 OnActivate! 請 在 這 個 事 件 中 將 FResultValue 變 數 初 始 成 空 字 串 , 之 後 再 為 AdaptResult 這 個 AdapterField 添 加 OnGetValue 事 件 , 在 裡 面 加 上 下 面 這 段 程 式 碼 :

 

Value:=FResultValue;

 

最 後 我 們 在 AdapterAction.OnExecute 事 件 中 加 上 處 理 計 算 部 份 的 程 式 碼 :

 

procedure TCalc.AdaptCalcExecute(Sender: TObject;

Params: TStrings);

var

 v1,v2:Integer;

begin

   v1:=AdaptFirstValue.ActionValue.Values[0];

   v2:=AdaptSecondValue.ActionValue.Values[0];

   FResultValue:=IntToStr(v1+v2);

end;

 

你 可 以 發 覺 到 , 在 這 個 事 件 中 我 們 使 用 的 是 AdapterField.ActionValue 這 個 特 性 值 而 不 是 Value 。 這 是 因 為 WebSnap 會 將 使 用 者 所 輸 入 的 值 是 儲 存 在 ActionValue 中 , 以 這 個 範 例 來 解 釋 的 話 就 是 : 使 用 者 輸 入 了 兩 個 值 並 按 下 Calc 按 紐 後 瀏 覽 器 就 會 將 這 些 資 訊 Post( 指 HTTPPost Method) 到 WebSnap 程 式 中 , 接 著 WebSnap 程 式 就 會 解 出 使 用 者 所 輸 入 的 兩 個 值 存 到 AdapterField.ActionValue 特 性 中 , 接 著 取 出 Action 的 資 訊 並 執 行 Action 。 為 何 要 這 麼 麻 煩 呢 ? 呵 ! 你 不 會 想 把 ActionValue 與 Value 合 成 一 個 的 , 因 為 這 樣 你 如 何 分 辨 原 值 與 使 用 者 所 輸 入 的 值 呢 ?

繼 續 我 們 的 程 式 , 現 在 我 們 要 開 始 設 計 計 算 機 的 網 頁 了 。 請 你 雙 按 AdapterPageProducer 開 出 Visual Page Designer 視 窗 :

 

 

在 AdapterPageProducer 上 按 滑 鼠 右 鍵 新 增 一 個 AdapterForm 元 件 :

 

 

 

然 後 在 AdapterForm 上 按 右 鍵 選 擇 New Componetns 新 增 一 個 AdapterFieldGroup 元 件 。

 

 

 

接 著 設 定 AdapterFieldGroup 的 Adapter 特 性 值 為 Adapter1 。

 

上一页  [1] [2] [3]  下一页


[聊天工具]Gmail推出新功能:Web Clip__天极Yesky  [聊天工具]Web MSN你玩了吗__天极Yesky
[系统软件]Web Browser Express 概述  [系统软件]对Internet Explorer Web 控件做一点修改
[常用软件]小技巧:三步实现Web迅雷录制PPLive节目  [常用软件]天网防火墙:打开WEB和FTP服务
[VB.NET程序]使用VB.Net做一个配置web.config功能的WinForm(原…  [VB.NET程序]vb.net控件、web service简述
[VB.NET程序]使用vbscript脚本调用web服务  [VB.NET程序]*** Web 存储系统窗体:窗体注册表 (new)***
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台