Web Application 開 發 利 器 - WebSnap(七)(7…

2008-04-09 04:29:13来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

這 發 生 在 你 上 傳 的 檔 案 名 稱 經 過 排 序 後 顯 示 的 置 是 在 你 目 前 的 頁 次 中 , 會 這 樣 的 原 因 是 我 們 將 取 得 檔 案 列 表 的 程 式 寫 在 Module.OnActivate 之 中 , 這 跟 AdapterAction 執 行 的 順 序 有 關 , 請 看 下 面 的 流 程 :

( 圖 :8)

從 流 程 中 我 們 可 以 發 現 , OnActivate 是 在 OnExecute 之 前 觸 發 , 這 會 發 生 在 我 們 執 行 Action 之 後 所 導 向 的 網 頁 與 Action 所 在 網 頁 相 同 的 情 況 下 , 因 此 我 們 必 須 改 變 取 得 File List 程 式 碼 的 位 置 , 理 想 的 位 置 是 在 Module 的 BeforeDispatchPage 事 件 中 :

procedure TMyPageAdapter.WebPageModuleBeforeDispatchPage(Sender: TObject;

const PageName: String; var Handled: Boolean);

begin

InitializeList(AppPath ''''\*.*'''');

end;

編 譯 後 執 行 你 就 可 以 看 到 正 常 的 結 果 了 , 接 下 來 我 們 要 加 入 刪 除 檔 案 的 能 力 , 我 們 有 兩 種 選 擇 , 一 是 像 PCHome 的 檔 案 總 管 一 樣 , 顯 示 一 個 checkbox 讓 使 用 者 選 擇 要 刪 除 的 檔 案 後 再 按 下 Delete File 按 紐 刪 除 被 選 擇 的 所 有 檔 案 。 另 一 種 是 在 Grid 最 後 一 列 顯 示 一 個 按 紐 讓 使 用 者 按 下 後 刪 除 該 列 的 那 一 個 檔 案 , 第 一 種 方 法 必 須 利 用 Session 來 儲 存 使 用 者 所 選 擇 的 檔 案 , 接 著 必 須 撰 寫 相 關 的 元 件 , 由 於 這 牽 扯 到 元 件 設 計 的 部 份 , 因 此 我 選 擇 等 到 Inside WebSnap 一 文 中 再 討 論 這 方 面 的 技 術 , 這 裡 我 們 就 先 選 擇 第 二 種 方 式 , 請 在 TPagedAdapter 中 新 增 一 個 TAdapterAction: AdaptDeleteFile 。

我 們 要 為 她 撰 寫 兩 個 事 件 :OnGetParams OnExecute:

procedure TMyPageAdapter.AdaptDeleteFileExecute(Sender: TObject;

Params: TStrings);

var

FileName:string;

begin

FileName:=Params.Values[''''FileName''''];

DeleteFile(AppPath ''''\'''' FileName);

end;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Delphi控件的拿来主义(三)

下一篇:Pascal 精要--第一章