目 錄
第一章 lnternet/lntranet強力技巧篇
問題1什麼是ActiveDocument,它的主要用途又是什麼呢?
問題2ActiveDocument是以何種形式的文件存在?
問題3如何建立ActiveDocument?
問題4ActiVeDocument的菜單欄如何顯示於瀏覽器中?
問題5ActiveDocument中的錶單由於擁有標題與邊框,因此在外觀上似
乎無法像一般的HTML網頁與瀏覽器融為一體的感覺 有什麼方法
解決呢?
問題6當我在一個瀏覽器中執行ActiveDocument時,如果直接關閉瀏
覽器,為什麼還會有一個VisualFoxPr0運行時期視窗處於運行
狀態中呢?
問題7我們能否在一般的HTML網頁中通過某個超鏈結來運行Active
Document?
問題8VisualFoxPr06.0所新增的“超鏈結對象”(Hyper1ink0bject)有
哪些用途?它與ActiveDocument有些什麼關聯呢?
問題9如何在程序中檢驗齣ActiveDocument目前運行於哪一個容器中?
問題10如何將參數傳遞給ActiveDocument?
問題11網頁發布嚮導的用途是什麼?如何使用它呢?
第二章 控件導嚮程序設計與錶單設計器要點精選篇
問題1錶單能夠擁有滾動軸嗎?如果可以的話,該如何設定?
問題2我們能夠將錶單的標題隱藏起來嗎?此外 我們能否使錶單不具備
邊框呢?如果可以的話,該如何設定?
問題3我們如何能像圖錶2-4所示,在錶格控件(Grid)的某一列(Column)
中顯示齣多個字段的內容,並自行決定其排列方式?
問題4我使用錶單設計器建立用戶界麵時,經常需要連續將相同的控件加
至錶單上,我是否每次都要再按一下“錶單控件”欄中相對應的按
鈕,然後纔能再到錶單上按一下而建立此控件。是否有較方便的操
作方式呢?
問題5我如何能夠在程序執行期間 動態將特定信息文字顯示在狀態欄
中?
問題6為什麼我在某控件的Valid事件程序中去調用其他控件的SetFocus
方法程序時會齣現錯誤呢?該如何解決呢?
問題7請問Create0bject() 函數與New0bject() 函數的差彆在哪裏?該
使用哪一個纔恰當呢?
問題8請問Add0bject方法程序與New0bject方法程序的差彆在哪裏?
該使用哪一個纔恰當呢?
問題9VisualFoxPr0支持多少種基礎類(BaseClass)?哪些是復閤式
非復閤式、可見與不可見?
問題10您能否告訴我復閤式對象及其所內含的對象的各項重要事件被引發
執行的次序?
問題11我該如何在錶單設計器取用儲存在類定義函數庫(.VCX) 中的用戶
自定義類呢?
問題12在錶單設計器(FormDesigner) 中,我們可利用鼠標選取某一個對
象以便設定其屬性或編寫其事件程序或方法程序,但是當我們要在
各個相鄰的對象上來迴移動時,使用鼠標來選取反而很不方便 有
什麼更快的方法嗎?
問題13有什麼方法能夠在屬性窗口中快速移往某一個屬性 事件或方法程
序呢?
問題14我該如何於在屬性窗口中將某一個屬性重設迴其默認值?
問題15我已替錶單中某一個控件的T00lTipText屬性編寫瞭工具提示,
為什麼當錶單執行後 我將鼠標指標移至此控件上,卻不會顯示齣
工具提示呢?
問題16我該如何替錶單建立一數組屬性呢?
問題17假設我根據某一個類建立瞭一個子類,並在此子類的Click事件
程序中編寫程序碼。但是我希望當此子類的Click事件被觸發時,
除瞭執行此子類本身的Click事件程序外,其父類彆的Click事
件程序也會被執行。欲達此目的,該怎麼做呢?
問題18假設我在某一個錶單中建立瞭一個按鈕,則我該如何在此按鈕的事
件程序中去存取錶單的屬性或調用錶單的方法程序呢?
問題19為什麼當我以DoFORM命令執行錶單而建立一錶單後,命令視窗
還會顯示在畫麵上,而且如果將包含此一DOF0RM命令的程序編
譯成可獨立執行文件.EXE後 此.EXE文件一執行後便會跳離 問
題究竟齣在哪裏呢?
問題20要在對象的外部去存取一個對象,必須通過其對象變量,請問當我
們以DOFORM從一錶單(.SCX) 建立起一錶單集或錶單後 何者是
此錶單集或錶單的對象變量?
問題21我使用DOFORM命令建立瞭一個錶單,但是為什麼我使用RELEASE命
令去釋放其對象變量後 此錶單仍然存在而並未隨之釋放 這是為
什麼呢?
問題22在使用DOFORM命令執行錶單時,該如何將參數傳遞給錶單呢?
此外,我們又該如何去接收由錶單所傳迴的數據值呢?
問題23我能否替標簽控件(Labe1)定義快捷鍵?就算可以,替標簽控件定
義快捷鍵又有什麼意義呢?
問題24在錶單設計器中,如何能夠不通過錶單生成器(FormBuilder) 一
次就將數據錶格中所有的字段加至錶單中而成為各個獨立的控件?
問題25如何隱藏用戶在文本框中所輸入的密碼?
問題26我希望在文本框與數值微調器中的數值能以三位一撇的方式顯示
並且自動加上貨幣符號,該怎麼做呢?
問題27數值微調器(Spinner) 能夠用來微調日期值嗎?如果不行 該怎麼
辦呢?
問題28數值微調器(Spinner) 的Increment屬性用以決定當用戶按一下
其嚮上或嚮下按鈕時的遞增或遞減值,但是,如果Increment屬
性的設定值並非是一個整數而包含小數時 為什麼遞增值與遞減值
會不正確呢?
問題29我該如何建立一個跳離按鈕――即隻要按下 Esc 鍵就會引發此
按鈕的Click事件?
問題30我該如何建立一個默認按鈕――即隻要按下 Enter 鍵就會引發此
按鈕的Click事件?
問題31我們能否建立多行文字的按鈕,如果可以的話,該怎麼做呢?
問題32我希望自行指定一個圖標文件(.ICO)、靜態指標文件(.CUR) 或動
態指標文件(.ANI) 來作為鼠標指針移至某一個控件上方時的鼠標
指針,該怎麼做呢?
問題33如何替錶單建立功能鍵?
問題34有部分係統是采用編輯時期鎖定,但為瞭避免用戶占用某些數據錶
格卻遲遲不使用,而造成網絡上其他用戶無法存取數據,我希望在
用戶經過一段時間未進行任何操作後即自動釋放錶單 該怎麼做
呢?
問題35我的係統會同時在畫麵上打開好幾個錶單,基於某種需求 我必須
檢測上一個活動錶單是哪一個,該怎麼做呢?
問題36我希望在一開始運行後,列錶框(ListBox) 中的第一個選項能夠被
選定,運行後發現,隻需將列錶框的Value屬性設定成1即可。
但是如果這樣做的話,Value屬性所持有的值將是被選定的選項的
位置順序編號,而不是被選定的選項的文本內容。我如何纔能夠既
利用選項的位置順序編號來決定一開始哪一個選項要被選定(因為
這樣做較簡單)而且又讓Value屬性所持有的值為被選定的選項
的文本內容?
問題37我建立瞭一個RowSourceType屬性為0且列數為3的列錶框 但
是為什麼我無法利用AddItem方法程序將各個選項依序加入列錶
框的各行的每一個列中呢?
問題38當列錶框的RowS0urceType屬性為0或1時,我們必須利用AddItem
或AddListItem方法程序來將選項加至列錶框中。然而是不是真
的每調用一次AddItem或AddListItem方法程序 就隻能加入一
個選項,有沒有更簡潔的寫法呢?
問題39據瞭解,我們隻需將列錶框的MultiSelect屬性設定成邏輯真值.T.
即可同時選定多個選項,然而問題在於,我們如何在程序中判斷齣
用戶已多選瞭哪幾個選項 以及如何取得這些被選定的選項的文本
內容?
問題40我希望在運行時期改變列錶框的選項來源 我的作法是先改變
RowSourceType屬性,再改變R0wSource屬性,結果卻會齣錯;
後來我就先改變RowSource屬性,再改變R0wS0urceType屬性,
但是還是齣錯。到底該怎麼做呢?請指點迷津。
問題41組閤框(C0mboB0x) 的好處就是既能夠讓用戶選擇某一個選項,也
可以自行輸入其他數據值 然而我卻發現一個奇怪的狀況,就是如
果用戶所輸入的值並非是某一個選項時,組閤框的value屬性將
是空字串,而且此輸入值也不會寫迴ControlS0urce屬性所指定
的字段中。這個問題該如何剋服呢?
問題42如圖2-22所示,VisualFoxPro的數據錶格設計工具(Table
Designer)允許我們替數據庫數據錶格的數據字段定義注釋文本,
我的期望是,當利用一個文本框控件(TextBox)或復選框(CheckBox)
編輯與顯示某一個數據字段時,此數據錶格的注釋文本會自動顯示
在狀態欄中。要達此目的,該怎麼做呢?
問題43如何讓復選框(CheckBox) 的標題文本(即Caption屬性)隨著邏
輯型態的來源字段的內容自動隨之改變?
問題44一般而言,如果字段所儲存的數據是兩條件之一的話(例如:男與
女、已婚與未婚、開啓與關閉……),我們通常會將此字段設定成
邏輯型,並以復選框來顯示與編輯此字段的內容。但是如果我想直
接以字符型字段來儲存兩條件的文本的話(以性彆字段而言,字段
中儲存的即是文字“男”或“女”)應采用何種控件來顯示與編
輯此字段纔恰當呢?
問題45我想在程序中去檢測一個錶單是如何被釋放的 要達此目的 該怎
麼做呢?
問題46當用戶按一下錶單右上角的關閉按鈕、從控製菜單中選取關閉指令
或是連按兩下控製菜單方框時,我們能否有辦法要求用戶再次確
認,而如果用戶此時迴答不要關閉錶單 我們如何不讓錶單被釋放
呢?
問題47NODEFAULT命令的用途為何?
問題48如何檢查對象是否存在?
問題491.如何將屬性恢復成其默認值?
2.如何在程序中檢查某一個屬性的屬性值是否已更改――即不再
是默認值?
3.如何在程序中檢查某一個屬性是否為隻讀的(Read-Only)?
問題50如何設定VisualFoxPr0桌麵窗口的各項屬性 調用其方法程序
或調用其事件程序?
問題51我已在“選項”對話框的“錶單”標簽頁麵中,設定某一個錶單的
用戶自定義類作為樣闆類。而我如何能夠在啓動錶單設計工具時,
不使用所指定的樣闆類,而采用標準的Form基類。
問題52為什麼我在運行時期重設Cursor對象的ReadOnly屬性時,會齣現
“在重新載入數據環境之後,屬性設定纔生效。”的錯誤信息呢?
問題53我是否能夠讓工具欄(ToolBar)隨著它停靠的位置而變換其按鈕上
的圖片呢?
問題54我希望在運行時期,用戶不能使用鼠標去調整各個C01umn的位置
順序。要達此目的,該怎麼做呢?
問題55我希望在運行時期,用戶不能使用鼠標去調整各個Column的寬度
欲達此目的,該怎麼做呢?
問題56我希望在運行時期,用戶不能使用鼠標調整錶格(Grid)的列高度與
標題欄的高度,並且也不允許他們將錶格控件分割成左右兩窗格
欲達此目的,該怎麼做呢?
問題57我希望錶格控件中各個Column的標題文本會自動顯示在中央位置
上,該怎麼做呢?而怎麼設定纔最有效率呢?
問題58我希望讓用戶自行決定錶格控件中的數據記錄要依哪一個Column
的來源字段排序,並且期望作法是隻要用戶使用鼠標按一下此
Column的標題 便會自動依此Column的來源字段排序。該怎麼
做呢?
問題59ControlSource屬性除瞭可以是字段以外 可以是變量 數組 屬
性或數組屬性嗎?
問題60我該如何替錶格控件建立一個運算列?
問題61我們如何在錶格控件的列(Column)中使用文本輸入框(TextBox)以
外的控件來顯示與編輯來源字段的數據呢?反之 我們要如何將額
外加入到列中的控件移除呢?
問題62從前一個問題的解答可以得知,我們能夠將所需的控件加至錶格控
件的列中,以便采用文本輸入框以外的控件來顯示與編輯來源字段
的數據。然而令人好奇的是 我們能夠將錶格控件再加至錶格控件
的列中嗎?
問題63我該如何替分頁框(PafeFrame)中的各個分頁建立快捷鍵 以便隻
要按下快捷鍵即可快速切換至某一分頁(Page)上?
問題64OLE對象本身並不具有ToolTipText屬性,因此我想請問您 是
否有任何方法能夠讓OLE對象亦具備工具秘訣文本?
問題65通常我們是將工具欄(ToolBar)建立在VisualFoxPro的桌麵上,
當然,工具欄也僅能停靠在VisualFoxPro的桌麵視窗的四個邊
界上。但是VisualFoxPro自5.0版開始,似乎能夠將工具欄建
立在錶單上而使其專屬於某一個錶單,當然,工具欄也就能夠停靠
在錶單的四個邊界上,請問這是怎麼做到的?
問題66我所開發的應用程序的主畫麵是采用一個頂層錶單,並且將應用程
序編譯連接成.EXE文件,故希望運行此應用係統時VisualFoxPro
的桌麵窗口不要齣現。有什麼方法能夠隱藏VisualFoxPro的桌
麵窗口使其不要齣現呢?
問題67請問什麼是基類(FoundationClass)?
第三章 數據庫技巧精挑細選篇
問題1我不小心將數據錶格從數據庫中移齣 而導緻其數據字典信息遺
失,請問有什麼方法補救?
問題2我該如何將NULL值(.NULL.)鍵入字段數據欄中?
問題3為什麼數據庫設計器(DatabaseDesigner) 中某些數據錶格間會有
綫條相連接?
問題4請問數據庫設計器(DatabaseDesigner) 與數據環境設計器(Data
EnvironmentDesigner)有什麼差異?
問題5VisualFoxPro的數據庫使得我們能夠替數據附加各項檢驗證,不
過您是否能告訴我這些檢驗被引發的次序,以及它們何時被引發?
問題6使用RECALL命令去恢復己被標識刪除的數據記錄是否會引發任何
觸發式程序?
問題7ZAP命令是否會引發刪除作業的觸發式程序――即Delete
Trigger?
問題8如何判斷一個已打開的數據錶格是一個數據庫數據錶格或是一個獨
立存在的數據錶格?
問題9通過VisualFoxPro的數據視圖設計器(ViewDesigner) 我們能
夠以簡易的操作界麵來建立數據視圖,但是如果我所要建立的數據
視圖包含子查詢(Subquery)、查詢閤並(UNION)等較復雜的查詢作
業時,數據視圖設計器卻無法勝任,遇到此種狀況時該怎麼辦呢?
問題10請問DROPTABLE命令與REMOVETABLE命令兩者有何差異?
第四章 一般程序設計疑難雜癥解析篇
問題1VisualFoxPr06.0有哪些格式的圖形?我們可以使用GIF與JPEG
格式的圖形?
問題2如何解決公元2000年以後的日期問題?
問題3如何判斷某一年是否為閏年?
問題4如何在VisualFoxPro中處理16進製的數值?
問題5如何取得默認磁盤目錄?
問題6HOME()與SYS(2004)能夠傳迴VisualFoxPro的啓動磁盤目錄
――亦即VFP.EXE所在的磁盤目錄。因此我推測當HOME()與
SYS(2004)在可執行文件.EXE中被調用時,應傳迴.EXE文件所在
的磁盤目錄,然結果卻不是如此。問題究竟齣在哪裏呢?
問題7我能夠直接在VisualFoxPro中建立目錄 刪除目錄與切換目錄
嗎?
問題8Integer型會比Numeric型來得快嗎?
問題9由於我所設定的主索引並非SEEK命令據以搜索的索引,因此我每
次搜索前都必須先使用ORDER() 函數取得目前的主索引的名稱
並將其存於變量中 而在搜索完畢後再將它重設迴來 請問真的必
須這麼麻煩嗎?
問題10SEEK命令與SEEK() 函數都是用來作為搜索數據記錄之用,我的
疑問是,兩者是否有優劣之分呢?又請問 VisualFoxPro6.0所
新增的IndexSeek() 函數與前兩者有何差彆 它是否又更優異呢?
問題11據瞭解,VisualFoxPr0總共提供瞭私有(Private)、局部(Local)與
公共(Public)等三種內存變量與數組,請問這三者的差異何在?
問題12在這裏我有兩個問題想要請教您,參數傳遞可分為傳值(ByVa1ue)
與傳址(ByReference) 兩種方式,請問兩者的差異何在?又我們
該如何以傳值或傳址的方式來傳遞參數?
問題13我想要傳遞一個數組,該怎麼做呢?
問題14我是否能夠用傳址的方式來傳遞局部(Local) 內存變量或數組?
問題15我究竟該使用PARAMETERS或LPARAMETERS命令中的哪一個來接收
傳遞進來的參數呢?兩者的差異何在?
問題16我如何在被調用程序中檢測齣總共傳遞進來多少個參數?
問題17WAITWINDOW命令可以在畫麵的右上角顯示一信息窗口 我能否指
定此信息窗口顯示的位置呢?
問題18我希望在WAITWINDOW命令所産生的信息窗口中顯示多行文字
該怎麼做呢?
問題19MessageBox() 函數使我們能夠輕易製作一個包含信息、圖標及某
些指令按鈕的對話框,以便完成與用戶間的交互作業。MessageBox()
函數很聰明,因為它會自動將信息文字做換行的處理,而且對話框
也會根據信息文字的多少自動加大其高度與寬度 然而我想請問的
是,是否能自行決定信息文字該在何處換行?
問題20如何將係統菜單隱藏起來?
問題21如何將標準工具欄隱藏起來?
問題22如何關閉係統信息?
問題23如何清除狀態欄中的信息?
問題24如何巨集替換一個控件的屬性?
問題25我們該如何以程序控製的方式將OLE控件加至數據錶格的通用字
段中?
問題26我們該如何以程序控製的方式將數據錶格的通用字段中的OLE控
件去除?
問題27我該如何測知某一個命令總共處理瞭多少條數據記錄?
問題28我嘗試使用REPORTFORMTOFILE命令將報錶輸齣至一個文
本文件,可是結果為什麼是一堆亂碼呢?請問該如何解決呢?
問題29在REPORTFORM命令中加入關鍵字PREVIEW即可預覽報錶,不過
我希望在一個用戶自定義窗口中預覽報錶 而不要在係統默認的窗
口中預覽報錶,請問能做得到嗎?
問題30在使用REPORTFORM命令打印報錶時,是否可以僅打印某特定範
圍頁碼的報錶 比方說,隻印第5~10頁 如果可以 該怎麼做
呢?
問題31我希望允許用戶自行調整打印機的相關設定(比方說:紙張大小、
打印方嚮……),但是我不曉得該如何於程序中打開“打印設定”
對話框,您能指點我嗎?
問題32如何縮減.EXE文件的大小?
問題33如何在VisualFoxPr0中使用動態鏈接函數庫(.DLL)中的函數?
問題34於VisualFoxPro中使用相關命令刪除文件時,是否能先將這些
文件移至迴收站 而不要立即真正從磁盤上刪除?
第五章 結構化查詢語言(SQL) 強力攻占篇
問題1VisualFoxPro嚮來以其優化技術(RushmoreTechno1ogy)聞名江
湖,但是我如何測知某道查詢命令是否已被優化技術最佳化而達到
最佳執行效率呢?
問題2臨時數據錶格(即Cursor)的名稱能夠以數目字開頭嗎?
問題3我該如何將子數據錶格中那些與父數據錶格不相關聯的數據記錄刪
除――即將違反數據參考完整性的數據記錄刪除?
問題4什麼叫做INNEJOIN,VisualFoxPro6.0支持INNERJOIN嗎?
問題5什麼叫做LEFTOUTERJOIN,VisualFoxPro6.0支持LEFTOUTERJOIN
嗎?
問題6什麼叫做RIGHTOUTERJOIN VisualFoxPr06.0支持RIGHTOUTER
JOIN嗎?
問題7什麼叫做FULLOUTERJOIN,VisualFoxPr06.0支持FULLOUTERJOIN
嗎?
問題8我想要查詢齣數據錶格employeedbf中 目前工資最高的前10名
的員工,該怎麼做呢?
問題9我想要查詢齣數據錶格employeedbf中 目前工資倒數前10名
的員工,該怎麼做呢?
問題10我想要查詢齣數據錶格employeedbf中 部門的平均工資最高的
前3個部門,該怎麼做呢?
問題11我想要查詢齣數據錶格employee.dbf中 部門的平均工資最低的
倒數算起的3個部門,該怎麼做呢?
問題12我想要查詢齣數據錶格employeedbf中 目前工資最高的前10%
的員工,該怎麼做呢?
問題13我想要查詢齣數據錶格employeedbf中 目前工資倒數算起的
10%的員工 該怎麼做呢?
第六章 菜單應用秘訣篇
問題1如何在應用係統執行期間動態啓用(Enable) 或停用(Disable) 菜
單選項?
問題2如何於應用係統執行期間動態替菜單選項標上或刪除檢查記號?
問題3我們如何能夠在應用係統執行過程中,動態刪除主菜單選項 動態
刪除下拉式菜單以及動態刪除子菜單選項?
問題4如何替錶單或其中的控件建立快捷菜單(ShortcutMenu)?
問題5我們通常會將菜單建立在係統菜單欄上,不過VisualFoxPr06.0似
乎能將菜單建立在錶單上(如圖6-7所示)而使得錶單擁有其自
身的菜單欄 請問這是怎麼做到的呢?
第七章 網絡程序設計問題精選篇
問題1如何在Visua1FoxPro中判斷目前登錄網絡的使用者是誰?
問題2在網絡環境中,連接於工作站與服務器的打印機常常不隻一部,我
希望讓使用者在打印前決定要使用哪一部打印機進行打印 這樣的
程序要怎麼寫呢?
問題3如何以隨機數産生一個唯一的名稱來作為臨時文件的名稱?
第八章 OLE與ActiveX控件方麵的問題
問題1通過查詢設計器(QueryDesigner),我們能夠將查詢結果利用
Micros0ftGr即h繪製成統計圖錶,並將其儲存在某數據錶格的通
用字段中問題是當用以繪製統計圖錶的來源數據有所變動時
第十章 一般性問題
問題1VisualF0xPro6.0中文版的係統需要什麼樣的設備?
問題2我過去在FoxPro2.X中所建立的文件該如何轉換纔能使用在
VisualFoxPr0呢?
問題3我要如何將我的dBASE程序轉換至Visua1FoxPro呢?
問題4利用VisualFoxPro所開發的應用程序可執行在FoxProfor
Macintosh、FoxProforMS-DOS或FoxProforUNIX之中嗎?
問題5我們要怎麼樣纔能找到VisualFoxPro所提供的工具欄的工具欄
清單?
問題6為什麼在某些狀況下當我按一下鼠標右鍵時會齣一個快捷菜單?
問題7嚮導(Wizards) 與生成器(Builders) 間的差異何在?
問題8我究竟該選用VisualFoxProVisualBasic或Access中的哪一
個呢?
問題9您能夠告訴我VisualFoxPto的係統規格嗎?
第十一章 係統設定方麵的問題
問題1據瞭解,除瞭使用狀態控製命令以外 我們亦可使用Windows注
冊錶與配置文件Config.fpw來設定VisualFoxPro6.0的係統環
境。我的問題是,改變Windows注冊錶或配置文件Config.fpw中
的設定後 一定要重新啓動VisualFoxPro所作的設定纔會生效
嗎?
問題2如何在VisualFoxPr0中,判斷電腦是使用哪一種微處理器?
問題3在F0xPr02.X時代,我們經常使用係統設定項目MEMLIMIT來設
定FoxPro所要占用的內存數以便使其能擁有充分的係統資源。請
問在VisualFoxPro中 仍舊是沿用係統設定項目MEMLIMIT嗎?
問題4我們該如何設定VisualFoxPr0的係統環境?
問題5從上一個問題的解答得知,利用“選項”對話框來設定VisualFoxPro
的環境確實非常簡易,有瞭“選項”對話框我是否就能捨棄配置文
件CONFIG.FPW不用瞭呢?
· · · · · · (
收起)