在VFP中用偽代碼開發(fā)數(shù)據(jù)表維護(hù)屏幕_第1頁
在VFP中用偽代碼開發(fā)數(shù)據(jù)表維護(hù)屏幕_第2頁
在VFP中用偽代碼開發(fā)數(shù)據(jù)表維護(hù)屏幕_第3頁
在VFP中用偽代碼開發(fā)數(shù)據(jù)表維護(hù)屏幕_第4頁
在VFP中用偽代碼開發(fā)數(shù)據(jù)表維護(hù)屏幕_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、為 了 保 證 數(shù) 據(jù) 表 中 存 儲 數(shù) 據(jù) 的 準(zhǔn) 確 與 及 時, 并 提 供 正 確 和 及 時 的 查 詢, 必 須 對 數(shù) 據(jù) 表 進(jìn) 行 人 工 維 護(hù)( 包 括 數(shù) 據(jù) 錄 入), 因 此 必 須 開 發(fā) 數(shù) 據(jù) 表 維 護(hù) 屏 幕 作 為 人 機(jī) 對 話 的 界 面。 而 數(shù) 據(jù) 表 維 護(hù) 屏 幕 要 求 有 新 增( 增 加 新 記 錄)、 編 輯( 記 錄 修 改)、 刪 除( 記 錄 刪 除) 以 及 漫 游( 指 記 錄 指 針 上 移、 下 移、 到 頂、 到 底 和 各 種 查 找 記 錄 定 位) 功 能。 同 時 必 須 對 用 戶 輸 入 的 數(shù) 據(jù) 進(jìn)

2、行 合 法 性 檢 查, 特 別 是 對 輸 入 關(guān) 鍵 字 的 合 法 性 檢 查。 這 些 需 求 給 開 發(fā) 數(shù) 據(jù) 表 維 護(hù) 屏 幕 增 加 了 復(fù) 雜 性, 為 此 筆 者 使 用 偽 代 碼 來 解 決 上 述 問 題。 數(shù) 據(jù) 表 維 護(hù) 屏 幕 的 代 碼 雖 然 比 較 復(fù) 雜, 但 它 們 都 有 很 強(qiáng) 的 共 性, 可 以 預(yù) 先 編 寫 一 套 可 被 各 種 不 同 的 數(shù) 據(jù) 表 維 護(hù) 屏 幕 套 用 的 偽 代 碼, 以 后 編 寫 數(shù) 據(jù) 表 維 護(hù) 屏 幕 代 碼 時 就 不 必 從 零 開 始, 而 是 從 偽 代 碼 開 始。 偽 代 碼 雖 然 不

3、 能 被 直 接 編 譯 運 行, 但 大 部 分 開 發(fā) 人 員 都 能 把 偽 代 碼 改 寫 成 正 式 代 碼。 - 下 面 介 紹 在Visual Foxpro 中 使 用 偽 代 碼 開 發(fā) 數(shù) 據(jù) 表 維 護(hù) 屏 幕 的 方 法。 偽 代 碼 由 一 個Custom 類 和 一 些Procdure 構(gòu) 成。 為 了 方 便 套 用 偽 代 碼, 盡 可 能 地 把Form 中 的 嵌 入 代 碼 外 移, 在 嵌 入 代 碼 中 使 用do . 下 面 的 偽 代 碼 在 使 用 時 絕 大 部 分 無 需 修 改, 僅 是 需 修 改 一 小 部 分, 而 這 一 小 部 分

4、又 非 常 簡 單。 下 面 是 使 用 偽 代 碼 設(shè) 計 數(shù) 據(jù) 表 維 護(hù) 屏 幕 的 具 體 步 驟。 - 準(zhǔn) 備 工 作 - 1. 先 建 立 如 下 一 個 工 作 面 表 格 編號 工作面名稱 主索引名稱 注釋 1 2 3 4 . . . 16 - 這 個 表 格 適 用 于 整 個 應(yīng) 用 程 序。 這 里 所 說 的 工 作 面 與 平 時 所 說 的 有 些 不 一 樣, 它 把 處 于 同 一 工 作 面 但 不 同 主 索 引 的 情 況 也 作 為 不 同 的 工 作 面, 使 用 不 同 的 編 號。 2. 根 據(jù) 工 作 面 表 格 改 寫 以 下 偽 代 碼,

5、使 之 成 為 可 以 編 譯 與 運 行 的 正 式 代 碼。 偽 代 碼 開 始 public theWorkStat theWorkStat=CreateObject(“WorkStat”) = 以 下 是 工 作 狀 態(tài) 類= define class WorkStat as custom curWS=1 declare Ai16,Or16 以 下 是 工 作 狀 態(tài) 定 義 1 Ai1=“A1” 工 作 面 Or1=“O1” ORDER 序 Ai2=“A2” 工 作 面 Or2=“” 自 然 序, 無 主 索 引 . 16 Ai16=“A16” Or16=“O16” func Get

6、 retu curWS endfunc proc Set para p sele (Aip) set order to (Orp) curWS=p endproc func KeyExist para pws,pk local n,y,rec set exact on n=this.Get(); this.Set(pws) if eof().or.bof() rec= 1 else rec=recno() endif seek pk if found() y=.t. else y=.f. endif if rec!= 1 go rec endif this.Set(n) retu y endf

7、unc func Find para pws,pk,IsExact local n,y,rec if IsExact set Exact on else set Exact off endif n=this.Get(); this.Set(pws) if eof().or.bof() rec= 1 else rec=recno() endif seek pk if found() y=.t. else y=.f. if rec!= 1 go rec endif this.Set(n) endif retu y endfunc endfine 偽 代 碼 結(jié) 束 - 在 程 序 的 適 當(dāng) 入

8、口 處 運 行 這 段 代 碼, 運 行 之 后, 當(dāng) 要 用 的 數(shù) 據(jù) 表 被 打 開 時 就 可 以 調(diào) 用 以 下 對 象: x=theWorkStat.Get() 取 得 當(dāng) 前 工 作 面 號; theWorkStat.Set(n) 把 當(dāng) 前 工 作 面 設(shè) 置 成n 號; x=theWorkStat.KeyExist(n,key) 測 試 在n 號 工 作 面 中 是 否 存 在 關(guān) 鍵 字key, 存 在 回 送T; 不 存 在 回 送F, 此 函 數(shù) 不 改 變 現(xiàn) 狀; x=theWorkStat.Find(n,key,IsExact) 在n 號 工 作 面 中 查 找

9、關(guān) 鍵 字key。 查 到 則 定 位 之 并 回 送T; 查 不 到 則 不 改 變 現(xiàn) 狀 并 回 送F;IsExact 為T 或F 決 定 是 否 按 精 確 匹 配 方 式 查 找。 - 以 上 這 些 對 象 方 法 在 以 后 的 偽 代 碼 中 也 可 以 由 用 戶 根 據(jù) 需 要 使 用。 - 判 定 數(shù) 據(jù) 表 維 護(hù) 屏 幕 模 式 - 筆 者 把 數(shù) 據(jù) 表 維 護(hù) 屏 幕 分 為 以 下 三 種 模 式: - 1. 新 增 模 式 - 在 該 模 式 下 只 有 新 增( 增 加 新 記 錄) 功 能, 主 要 用 于 數(shù) 據(jù) 錄 入( 也 有 不 少 數(shù) 據(jù) 錄 入 要 求 對 已 錄 入 的 內(nèi) 容 有 返 回 修 改 的 功 能, 這 就 必 須 使 用 新 增 編 輯 模 式)。 - 2. 編 輯 模 式 - 在 該 模 式 下 只 有 編 輯、 刪 除 與 漫 游 功 能 而 無 新 增 功 能。 - 3. 新 增 編 輯 模 式 - 在 該 模 式 下 有 新 增、 編 輯、 刪 除 與 漫 游 功 能, 可 以 說 是 全 功 能 的。 這 種 模 式 使 用 面 最 廣, 占 所 有 數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論