Visual FoxPro 6.0程序设计教程课件_第1页
Visual FoxPro 6.0程序设计教程课件_第2页
Visual FoxPro 6.0程序设计教程课件_第3页
Visual FoxPro 6.0程序设计教程课件_第4页
Visual FoxPro 6.0程序设计教程课件_第5页
已阅读5页,还剩443页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章VisualFoxPro6.0初步1.1資料庫的基本概念1.2Fox系列資料庫的發展1.3VisualFoxPro6.0的啟動及主窗口組成1.1資料庫的基本概念1.數據和數據處理數據是指存儲在某一種媒體上,能夠識別的物理符號。數據處理是指將數據轉換成資訊的過程。廣義地講,處理包括對數據的收集、存儲、加工、分類、計算、檢索、傳輸等一系列處理活動。狹義地講,處理是指對所輸入的數據進行加工整理。2.數據模型數據模型是指數據庫的組織形式,它決定了資料庫中數據之間聯繫的表達方式,即把在電腦中表示客觀事物及其聯繫的數據及結構稱為數據模型。

(1)層次數據模型層次模型是以記錄數據為節點的樹,節點之間的聯繫像一棵倒放的樹,樹根、樹的分枝點、樹葉都是節點。節點是分層的,樹根是最高層。例如家譜、企事業中各部門編制之間的聯繫。(2)網狀數據模型網狀模型是以記錄數據為結點的連通圖,節點之間的聯繫像一張網,網上的連接點都是節點。節點之間是平等的,不分層次。例如同事、同學、朋友、親戚之間的聯繫。

(3)關係數據模型關係模型中每個關係對應一張二維表,採用二維表來表示數據及其聯繫,表格與表格之間通過相同的欄目建立聯繫。例如學生成績表、工資表等。

3.資料庫系統的特點資料庫是以一定的組織方式存儲在一起的、能為多個用戶共用的、獨立於應用程式的、相互關聯的數據集合。資料庫系統的主要特點如下:

(1)數據的共用性:資料庫中的數據能為多個用戶服務。

(2)數據的獨立性:用戶的應用程式與數據的邏輯組織與物理存儲方式無關。

(3)數據的完整性:資料庫中的數據在操作和維護過程中保持正確無誤。

(4)數據的集中性:資料庫中的數據冗餘(重複)少。4.關係資料庫一個關係資料庫是由若干個數據表組成,數據表又由若干個記錄組成,而每個記錄由若干個以字段屬性加以分類的資料項目組成。

(1)表名在關係資料庫中,每一個數據表都具有相對的獨立性,這個獨立性的唯一標誌是數據表的名字,稱其為數據表檔案名。

(2)記錄表格中的每一行在關係中稱為一個記錄。(3)字段表格中的每一列在關係中稱為一個字段,每個字段都要有一個字段名,它對應表格中的欄目名。記錄中的一個字段的取值,稱為字段值。字段值隨著每一行記錄的不同而變化。1.2Fox系列資料庫的發展20世紀70年代後期,資料庫理論的研究已較為成熟。1982年美國Ashton-Tate公司推出了適合8位微機的dBASEII關係資料庫管理系統。隨著16位微機的出現,Ashton-Tate公司於1984年6月推出了更新版本dBASEIII。

1984年美國FoxSoftware公司推出了與dBASE完全相容的FoxBASE,且引入了編譯器。1986年,與dBASEIIIPlus相容的FoxBASE+推出。1987年7月推出了FoxBASE+2.0,其最高版本是1988年7月推出的FoxBASE+2.1。1989年,FoxPro1.0正式推出。FoxPro採用友好的圖形介面,引入基於DOS環境的窗口技術,用戶使用的介面再也不是圓點,而是與圓點提示符下等效命令的菜單系統。

1991年7月FoxPro2.0推出,它面向對象與事件,能充分使用擴展記憶體,是一個真正的32位產品。

1992年,Fox軟體公司被Microsoft軟體公司收購後,於年中推出了FoxPro2.5。

1995年9月,Microsoft公司推出VisualFoxPro3.0,目前VisualFoxPro的最高版本是1998年推出的VisualFoxPro6.0。1.3VisualFoxPro6.0的啟動及主窗口組成1.3.1啟動VisualFoxPro6.0

從“開始”菜單中選擇“程式”項,從其子菜單中單擊“MicrosoftVisualFoxPro6.0”。進入VisualFoxPro6.0後,窗口中部的對話框有5個單選項和1個複選項:

·

打開組件管理器。

·

查找示例程式。

·

創建新的應用程式。

·

打開一個已存在的專案。

·

關閉此屏。1.3.2VisualFoxPro的主介面窗口

VFP窗口的顯示如圖1.3所示。標題欄菜單欄標準工具欄命令窗口主窗口圖1.3VisualFoxPro的主介面窗口1.標題欄標題欄的最左邊是窗口控制圖示,單擊該圖示,將拉出控制菜單,從中可以進行窗口的移動、最大、最小、恢復和關閉操作。控制按鈕的右邊是應用程式名稱“MicrosoftVisualFoxPro”。標題欄的最右邊依次是最小化、最大化或恢復、關閉按鈕。2.菜單欄

VisualFoxPro的大部分功能和操作都可以通過菜單系統來實現。單擊菜單欄將彈出下拉菜單,選擇相應的命令就可實現相應的功能或操作。

3.標準工具欄標準工具欄上的按鈕代表了最為常用的命令,有效地利用工具欄,能大大方便程式開發工作。4.命令窗口在VisualFoxPro6.0中,菜單中的命令也可以通過命令窗口進行輸入來執行。命令窗口是一個可編輯的窗口,可在命令窗口中進行各種插入、刪除、塊複製等操作,也可用通過游標或滾動條在整個命令窗口中上下移動。1.3.3定制VisualFoxPro開發環境

1.定制VisualFoxPro工具欄

VisualFoxPro6.0中可定制的工具欄,見表1-2。表1-2VisualFoxPro6.0中可定制的工具欄工具相關的工具欄命令資料庫設計器資料庫CREATEDATABASE表單設計器表單控件、表單設計器、調色板、佈局CREATEFORM列印預覽列印預覽

查詢設計器查詢設計器CREATEQUERY報表設計器報表控件、報表設計器、調色板、佈局CREATEREPORT(1)啟動及關閉工具欄單擊“顯示”菜單中的“工具欄”,打開“工具欄”對話框,在“工具欄”對話框中,選中需啟動的工具欄。若要關閉某工具欄,可以直接單擊該工具欄上的“關閉”按鈕,或者單擊“顯示”菜單中的“工具欄”,在“工具欄”對話框中,清除欲關閉工具欄前面的複選框內容,使之空白。(2)自定義工具欄選擇“顯示”菜單中的“工具欄”,在“工具欄”對話框中,選定需定制的工具欄並單擊“定制”按鈕,打開“定制工具欄”對話框,在“定制工具欄”對話框中選擇適當的類別,然後把所需按鈕拖到工具欄上。在“定制工具欄”對話框中選擇“關閉”按鈕,關閉工具窗口來結束工具欄的定制工作。2.設置環境和管理臨時檔

(1)使用“選項”對話框工作要查看或更改環境設置,可以通過“選項”對話框來實現。單擊“工具”菜單中的“選項”命令,打開“選項”對話框,“選項”對話框中具有一系列代表不同類別環境選項的選項卡。(2)保存設置如果在“選項”對話框中選擇設置,然後單擊“確定”按鈕,則這些設置僅在當前工作期有效,直到退出VisualFoxPro(或直到再次更改它們)。要永久保存所做更改,可以單擊“設置為默認值”按鈕。(3)管理臨時檔指定臨時檔位置的步驟為:單擊“工具”菜單中的“選項”命令,在“選項”對話框中選擇“檔位置”選項卡,輸入臨時檔的位置。若要永久保存所做更改,單擊“設置為默認值”按鈕。1.3.4設置編輯器選項

在VisualFoxPro6.0中,可以配置VisualFoxPro編輯器使之按用戶希望的方式顯示文本。

(1)首先用下列方法之一,打開一個編輯器窗口:

·

在“專案管理器”中,選擇一個程式或文本檔,然後選擇“新建”。或者雙擊現有程式或文本檔的名稱。

·

在“命令”窗口中,輸入MODIFYCOMMAND、MODIFYFILE或MODIFYMEMO。

·

從“檔”菜單選擇“新建”命令,然後指定檔類型為“程式”或“文本檔”;或者選擇“打開”,然後選擇程式或文本檔案名稱。

·

在“表單設計器”中,雙擊一個表單或控件。

(2)在編輯窗口的任意位置上單擊滑鼠右鍵顯示快捷菜單,然後選擇“屬性”,將打開“編輯屬性”對話框。默認時,在“編輯屬性”對話框中所作設置僅用於當前編輯窗口。1.3.5恢復VisualFoxPro環境

如果希望關閉所有操作返回VisualFoxPro啟動時的狀態,在命令窗口或在退出VisualFoxPro之前最後調用的程式中,按下列順序運行命令:

CLEARALLCLOSEALLCLEARPROGRAM2.1VisualFoxPro6.0語言基礎2.1.1數據和數據類型1.數據的分類從數據的類型來分,數據可分為:數值型數據、字元型數據、邏輯型數據等。從數據的處理層次上分,數據又可分為:常量、變數、函數和運算式。2.數據類型與其他程式設計語言一樣,VisualFoxPro提供了多種數據類型。

(1)字元型(Character)由字母(漢字)、數字、空格等任意ASCII碼字元組成。字元數據的長度為0~254,每個字元占1個位元組。

(2)貨幣型(Currency)在使用貨幣值時,可以使用貨幣型來代替數值型。小數位數超過4位時,系統將進行四捨五入的處理。每個貨幣型數據占8個位元組。(3)日期型(Date)用以保存不帶時間的日期值。日期型數據的存儲格式為“yyyymmdd”其中yyyy為年,占4位,mm為月,占2位,dd為日,占2位。日期型數據的表示有多種格式,最常用的格式為mm/dd/yyyy。日期型數據取值的範圍是:西元0001年1月1日~西元9999年12月31日(4)日期時間型(DateTime)用以保存日期和時間值。日期時間型數據的存儲格式為“yyyymmddhhmmss”。

(5)邏輯型(Logical)用於存儲只有兩個值的數據。存入的值只有真(.T.)和假(.F.)兩種狀態,占1個位元組。

(6)數值型(Numeric)用來表示數量,它由數字0~9、一個符號(+或-)和一個小數點(.)組成。數值型數據的長度為1~20,每個數據占8個位元組。(7)雙精度型(Double)雙精度型只能用於數據表中字段的定義,它採用固定存儲長度的浮點數形式。與數值型不同,雙精度型數據的小數點的位置是由輸入的數據值來決定的。每個雙精度型數據占8個位元組。

(8)浮點型(Float)只能用於數據表中字段的定義,浮點型在功能上與數值型等價。

(9)通用型(General)用於存儲OLE對象,只能用於數據表中字段的定義。該字段包含了對OLE對象的引用。(10)整型(Integer)用於存儲無小數部分的數值,只能用於數據表中字段的定義。在數據表中,整型字段佔用4個位元組。整型以二進位形式存儲,不象數值型那樣需要轉換成ASCII字元存儲。

(11)備註型(Memo)備註型用於字元型數據塊的存儲,只能用於數據表中字段的定義。在數據表中,備註型字段佔用10個位元組,並用這10個位元組來引用備註的實際內容。實際備註內容的多少只受記憶體可用空間的限制。(12)字元型(二進位)用於存儲任意不經過代碼頁修改而維護的字元數據,只能用於數據表中字段的定義。

(13)備註型(二進位)用於存儲任意不經過代碼頁修改而維護的備註型數據,只能用於數據表中字段的定義。2.1.2常量與變數

1.常量常量是一個命名的資料項目,在整個操作過程中其值保持不變。

VisualFoxPro6.0定義了以下類型的常量:

(1)數值型常量,如:5,28.23,-3;

(2)字元型常量,用單引號或雙引號括起來的字串,如:"ABCD",'你好';

(3)邏輯型常量,只有兩種:.T.和.F.;

(4)日期型常量和日期時間型常量,如:{^2001-10-30},{^2001-10-3011:25am}。2.變數(1)變數的概念

VFP有3種形式的變數:記憶體變數、數組變數和字段變數。記憶體變數是存放單個數據的記憶體單元;數組變數是存放多個數據的記憶體單元組;字段變數則是存放在數據表中的資料項目。(2)變數名的命名規則每個變數都有一個名稱,叫做變數名,VFP通過相應的變數名來使用變數。變數名的命名規則是:變數名由字母、數字及下劃線組成,以字母或下劃線開頭,長度為1~128個字元。但要注意,不能使用VFP的保留字。中文VFP中,可以使用漢字作變數名,可以漢字開頭,每個漢字占2個字元。

(3)變數的作用域變數的作用域包括定義它的過程以及該過程所調用的子過程範圍。在VisualFoxPro中,還可以使用LOCAL、PRIVATE和PUBLIC命令強制規定變數的作用範圍。2.1.3運算符與運算式

運算是對數據進行加工的過程,描述各種不同運算的符號稱為運算符。運算式用來表示某個求值規則,它由運算符和配對的圓括號將常量、變數、函數、對象等運算元以合理的形式組合而成。運算式可用來執行運算、操作字元或測試數據,每個運算式都產生唯一的值。運算式的類型由運算符的類型決定。1.算術運算符與算術運算式算術運算式也稱數值型運算式,由算術運算符、數值型常量、變數、函數和圓括號組成,其運算結果為一數值。例如,3*4+(6–2)/2。算術運算式的格式為:

〈數值1〉〈算術運算符1〉〈數值2〉[〈算術運算符2〉〈數值3〉…](1)算術運算符表2-1算術運算符運算符名稱說明及示例+加同數學中的加法,如3+5-減同數學中的減法,如8-2*乘同數學中的乘法,如2*6/除同數學中的除法,如8/4^或**乘方同數學中的乘方,如6^2表示62%求餘26%3表示26除以3所得的餘數,結果為2算術運算符的優先順序依次為:()→^或**→*和/→%→+和-

(2)運算式的書寫規則

1)每個符號占1格,所有符號都必須一個一個並排寫在同一橫線上,不能在右上角或右下角寫方次或下標。例如,52要寫成5^2,x1+x2要寫成x1+x2。

2)原來在數學運算式中省略的內容必須重新寫上。例如,3xy要寫成3*x*y。

3)所有括弧都用小括弧(),括弧必須配對。例如,2[x+5(y+z)]必須寫成2*(x+5*(y+z))。

4)要把數學運算式中的有些符號,改成VFP中可以表示的符號。例如,需要把πr2改為pi*r^2。2.字串運算符與字串運算式字串運算式由字串常量、字串變數、字串函數和字串運算符組成。字串運算式的值為字串。

VFP提供的字元運算符有兩個(其運算級別相同),見表2-2。表2-2字元運算符運算符名稱說明+連接將字元型數據進行連接-空格移位連接兩字元型數據連接時,將前一數據尾部的空格移到後面數據的尾部

字串運算式的格式為:

〈字串1〉〈字串運算符1〉〈字串2〉[〈字串運算符2〉〈字串3〉…]3.日期時間運算符與日期時間表達式日期型運算式由算術運算符“+、-”、算術運算式、日期型常量、日期型變數和函數組成。有下麵3種情況:

(1)兩個日期型數據相減,結果是一個數值型數據(兩個日期相差的天數)。

(2)一個表示天數的數值型數據加到日期型數據中,其結果為一日期型數據(向後推算日期)。

(3)一個表示天數的數值型數據從日期型數據中減掉它,其結果為一日期型數據(向前推算日期)。4.類與對象運算符類與對象運算符專門用於實現面向對象的程式設計。

5.名運算式

(1)VFP中使用的名在VFP中,許多命令和函數需要提供一個名。可在VFP中使用的名有:表/.DBF(檔案名)、表/.DBF(別名)、表/.DBF(字段名)、索引檔案名、檔案名、記憶體變數和數組名、窗口名、菜單名、表單名、對象名、屬性名等。(2)定義名的原則在VFP中定義一個名時,應遵循以下原則:

1)只能由字母、數字和下劃線字元組成。

2)以字母或下劃線開頭。

3)長度為1~128個字元,但自由表中的字段名、索引標記名最多為10個字元。檔案名按操作系統的規定。

4)不能使用VFP的保留字。2.1.4函數

VFP的函數有兩種,即系統函數和用戶定義函數。

(1)系統函數:是由VFP提供的內部函數,用戶可以隨時調用。

(2)用戶定義函數:由用戶根據需要自行編寫。2.2可視化編程的基本概念2.2.1對象、對象的屬性、方法1.對象從可視化編程的角度來看,對象是一個具有屬性(數據)和方法(行為方式)的實體。一個對象建立以後,其操作就通過與該對象有關的屬性、事件和方法來描述。2.對象的屬性每個對象都有其特徵,在電腦程式語言中叫做屬性(Property)。記錄屬性數據的地方就叫做屬性欄。屬性欄中記錄的屬性數據叫做屬性值。在可視化編程中,每一種對象都有一組特定的屬性。常見的屬性有標題(Caption)、名稱(Name)、背景色(BackColor)、字體大小(FontSize)、是否可見(Visible)等。通過修改或設置某些屬性便能有效地控制對象的外觀和操作。

對象屬性的設置一般有兩條途徑:

(1)如果在程式設計時設置對象的屬性,需要使用屬性窗口。

(2)如果要在程式運行中更改對象的屬性,可以使用VFP的賦值語句,在代碼中通過編程設置,格式為:表單名.對象名.屬性名=屬性值3.方法

VFP的方法用於完成某種特定功能。VFP的方法也屬於對象的內部函數,如添加對象(AddObject)方法、繪製矩形(Box)方法、釋放表單(Release)方法等。方法被“封裝”在對象之中,不同的對象具有不同的內部方法。2.2.2事件與程式1.事件對於對象而言,事件(Event)就是發生在該對象上的事情。例如,在按鈕上用滑鼠按一下,在Windows環境下中稱為“單擊”,於是說按鈕會有一個單擊(Click)事件。2.事件過程當對象上發生了某個事件後,處理這個事件的步驟就是事件過程(EventProcedure)。事件過程是針對事件而來的,而事件過程中的處理步驟在VFP程式設計中就是所謂的程式代碼。

3.事件驅動程式設計寫完程式後開始執行時,程式會先等待某個事件的發生,然後再去執行處理此事件的事件過程。事件過程要經過事件的觸發才會被執行,這種動作模式就稱為事件驅動程式設計(EventDrivenProgrammingModel),也就是說,由事件控制整個程式的執行流程。4.事件與方法的程式調用事件過程由事件的激發而調用其代碼,也可以在運行中由程式調用其代碼,而方法的代碼只能在運行中由程式調用。在程式中調用事件代碼的格式是:表單名.對象名.事件名在程式中調用對象方法的格式是:[[〈變數名〉]=]〈表單名〉.〈對象名〉.〈方法名〉()2.3VFP的控件與對象

控件(Control)是某種圖形構件的統稱,如“標籤控件”、“文本框控件”、“列表框控件”等,構造應用程式介面的具體方法就是利用控件創建對象。(1)VisualFoxPro6.0的常用控件

VisualFoxPro6.0的常用控件有:表示標籤(Label)控件,通過它可以創建一個標籤對象,用於保存不希望用戶改動的文本,如複選框上面或圖形下麵的標題;表示文本框(TextBox)控件,創建用於單行數據輸入的文本框對象,用戶可以在其中輸入或更改單行文本。1.常用控件和內部對象(2)內部對象

VFP提供了一些內部對象,如表單對象、表單集對象、頁對象和工具欄對象等。內部對象一般可以直接使用,但某些對象是要在建立某對象之後才能被使用。例如:分隔符號(Separator)對象可以直接加入到一個工具欄(ToolBar)對象中當間隔。2.表單對象表單(Form)是應用程式的用戶介面,也是進行程式設計的基礎。各種圖形、圖象、數據等都是通過表單或表單中的對象顯示出來,因此表單是一個容器對象。

(1)表單的結構表單有:圖示、標題、極小化按鈕、極大化按鈕、關閉按鈕、移動欄、表單體及其周圍的邊框,其中除了表單體之外的所有特徵都可以部分或全部從表單中被刪除。(2)表單的屬性

VFP中表單的屬性就是表單的結構特徵。通過修改表單的屬性可以改變表單的內在或外在的特徵。常用的表單屬性,見表2-4。表2-4VisualFoxPro6.0中常用的表單屬性屬性名作用BackColor用於確定表單的背景顏色BorderStyle用於控制表單是否有邊框:系統(可調)、單線、雙線Caption表單的標題Movable用於控制表單是否可移動(3)表單的事件與方法

VisualFoxPro6.0中最常用的表單事件,見表2-5。表2-5VisualFoxPro6.0中常用的表單事件

事件含義說明Load事件當表單被裝入記憶體時發生事件被激發的順序為Load、Init、ActivateActivate事件當表單被啟動時發生Destroy事件當表單被釋放時發生事件被激發的順序為Unload、DestroyUnload事件當表單被關閉時發生VisualFoxPro6.0中常用的表單方法,見表2-6。表2-6VisualFoxPro6.0中常用的表單方法方法含義Hide方法隱藏表單Show方法顯示表單Release方法釋放表單Refresh方法刷新表單3.對象的引用(1)對象的包容層次

VFP中的對象根據它們所基於的類的性質可分為兩類:容器類對象和控件類對象。

1)容器類對象:可以包含其他對象,並且允許訪問這些對象,例如表單集、表單、表格等。當一個容器包含一個對象時,稱該對象是容器的子對象,而容器稱為該對象的父對象。所以,容器對象可以作為其他對象的父對象。

2)控件類對象:只能包含在容器對象之中,而不能包含其他對象,例如命令按鈕、複選框等。3.1專案管理器

專案管理器是按一定的順序和邏輯關係對應用系統的檔進行有效組織的工具,它可以用最簡單可視化的方法對數據庫和數據表進行管理。3.1.1專案檔的建立和專案管理器介面1.專案檔的建立(1)單擊“檔”菜單中的“新建”命令,或者單擊常用工具欄上的“新建”按鈕,打開“新建”對話框。

(2)選中“專案”單選項,單擊“新建檔”按鈕,此時將打開“創建”對話框。

(3)輸入新專案的名稱,選擇保存新專案的檔夾,單擊“保存”按鈕。

(4)此時進入“專案管理器”窗口,這時空的“專案1”專案檔已建成。打開已有專案的步驟為:

(1)單擊常用工具欄上的“打開”按鈕,顯示“打開”對話框。

(2)在“打開”對話框中,顯示當前檔夾下的內容,選擇“檔類型”為“專案”,輸入或選擇已有專案的名稱。

(3)單擊“確定”按鈕。3.專案管理器介面“專案管理器”為數據提供了一個組織良好的分層結構視圖。若要處理專案中某一特定類型的檔或對象,可選擇相應的選項卡。“全部”選項卡:包含了數據、文檔、類庫、代碼和其他;“數據”選項卡:包含了資料庫、自由表和查詢;“文檔”選項卡:包含了表單、報表和標籤;其餘選項卡(如“類”、“代碼”和“其他”):主要用於創建應用程式。3.1.2專案管理器的操作1.查找數據檔專案管理器的“數據”選項卡中,包含一個專案中的所有數據:資料庫、自由表、查詢和視圖。

(1)資料庫:表的集合,一般通過公共字段彼此關聯,使用“資料庫設計器”可以創建一個資料庫,資料庫檔的擴展名為.DBC。(2)自由表:存貯在以.DBF為擴展名的檔中,它不是資料庫的組成部分。

(3)查詢:是檢查存貯在表中的特定資訊的一種結構化方法,利用“查詢設計器”,可以設置查詢的格式,該查詢將按照輸入的規則從表中提取記錄,查詢被保存為帶.QPR擴展名的檔。2.查找表單和報表檔專案管理器的“文檔”選項卡中,包含了處理數據時所用的全部文檔,即輸入和查看數據所用的表單,以及列印表和查詢結果所用的報表及標籤。

(1)表單:用於顯示和編輯表的內容。

(2)報表:是一種檔,指明如何設置查詢來從表中提取結果,以及如何將結果列印出來。

(3)標籤:是列印在專用紙上的帶有特殊格式的報表。3.添加或移去檔

(1)在專案中加入檔在專案管理器中,選擇要添加項的類型,單擊“添加”按鈕,在“打開”對話框中,選擇要添加的檔案名,然後選擇“確定”。

(2)從專案中移去檔在專案管理器中,選定要移去的內容,單擊“移去”按鈕,在提示框中選擇“移去”。如果要從電腦中刪除檔,單擊“刪除”按鈕。4.創建和修改檔

(1)創建添加到“專案管理器”中的檔在專案管理器中,選定要創建的檔類型,單擊“新建”按鈕。

(2)修改檔在專案管理器中,選定一個已有的檔,單擊“修改”按鈕。

(3)為檔添加說明在“專案管理器”中選定檔,從“專案”菜單中選擇“編輯說明”,在“說明”對話框中鍵入對檔的說明,單擊“確定”。5.查看表中的數據選擇“數據”選項卡,選定一個表,單擊“流覽”按鈕。

6.在專案間共用檔打開要共用檔的兩個專案,在包含該檔的“專案管理器”中,選擇該檔。拖動該檔到另一個的專案容器中。3.1.3定制“專案管理器”1.改變顯示外觀

(1)移動“專案管理器”指向標題欄,將“專案管理器”拖到螢幕上的其他位置。(2)改變“專案管理器”窗口的大小指向“專案管理器”窗口的頂端、底端、兩邊或角上,拖動滑鼠即可擴大或縮小它的尺寸。

(3)折疊“專案管理器”折疊:單擊右上角的上箭頭。還原:單擊右上角的下箭頭,可以將“專案管理器”還原為通常大小。2.拖開選項卡折疊“專案管理器”,選定一個選項卡,將它拖離“專案管理器”。

(1)使選項卡始終顯示在螢幕的最上層單擊選項卡上的圖釘圖示,使其變為,該選項卡就會一直保留在其他VisualFoxPro窗口的上面。再次單擊圖釘圖示可以取消選項卡的“頂層顯示”設置。3.“專案管理器”中的選項卡(2)還原選項卡單擊選項卡上的“關閉”按鈕。或者,將選項卡拖回到“專案管理器”。

(3)停放“專案管理器”直接將“專案管理器”拖到VisualFoxPro主窗口的頂部。3.2表單設計器3.2.1打開表單設計器

打開表單設計器的方法有4種。

•單擊常用工具欄上的“新建”按鈕,彈出“新建”對話框,選中“表單”單選鈕,單擊“新建檔”。

•在命令窗口中使用CREATEFORM命令。

•在“專案管理器”的“文檔”選項卡中,選中“表單”,再單擊“新建”按鈕。

•在彈出的“新建表單”對話框中,選擇“新建表單”按鈕。3.2.2“表單設計器”工具欄(1)從快捷菜單中啟動“表單設計器”工具欄右鍵單擊常用工具欄上的任意位置,從彈出的快捷菜單中選中“表單設計器”。

(2)從“工具欄”對話框啟動“表單設計器”工具欄單擊“顯示”菜單中的“工具欄”命令,在“工具欄”對話框中,選中“表單設計器”,然後單擊“確定”按鈕。(3)“表單設計器”中的工具按鈕表3-1“表單設計器”中的工具按鈕圖示名稱說明屬性窗口在表單設計過程中,單擊此按鈕,可以啟動或關閉屬性窗口,以便在屬性窗口中查看和修改各個控件的屬性代碼窗口在表單設計過程中,單擊此按鈕,可以啟動或關閉代碼窗口,以便在代碼窗口中編輯各對象的方法及事件代碼表單控件工具欄在表單設計過程中,單擊此按鈕,可以啟動或關閉表單控件工具欄,以便於利用各控件進行用戶介面的設計表單生成器啟動表單生成器,直接以填表的方式進行相關對象的各項設置,以方便我們快速建立表單3.2.3“表單控件”工具欄單擊“表單設計器”工具欄上的“表單控件工具欄”按鈕,螢幕出現“表單控件”工具欄,可以把它拖放到適當的位置。3.2.4“屬性”窗口

設計時,一般在“屬性窗口”中修改或設置屬性。通過單擊“表單設計器”工具欄中的“屬性窗口”按鈕,可打開“屬性”窗口。1.“對象”下拉列表框

標識當前選定的對象。單擊右端的向下箭頭,可看到包括當前表單(或表單集)及其所包含的全部對象的列表。可以從列表中選擇要更改其屬性的表單或對象。2.選項卡選項卡中,按分類方式顯示所選對象的屬性、事件和方法。

(1)“全部”選項卡:顯示全部屬性、事件和方法。

(2)“數據”選項卡:顯示所選對象如何顯示或怎樣操縱數據的屬性。

(3)“方法程式”選項卡:顯示方法和事件。

(4)“佈局”選項卡:顯示所有的佈局屬性。

(5)“其他”選項卡:顯示其他和用戶自定義的屬性。3.屬性設置框在屬性設置框中,可以更改屬性列表中選定的屬性值。如果選定的屬性具有預定義的設置值,則在右邊出現一個向下箭頭。如果屬性設置需要指定一個檔案名或一種顏色,則在右邊出現按鈕。單擊“接受”按鈕來確認對此屬性的更改;單擊“取消”按鈕取消更改,恢復以前的值。4.屬性列表在屬性列表中,顯示所有可在設計時更改的屬性和它們的當前值。對於具有預定值的屬性,在“屬性”列表中,雙擊屬性名,可以遍曆所有可選項;對於具有兩個預定值的屬性,在“屬性”列表中,雙擊屬性名,可在兩者間切換。

5.屬性說明顯示屬性類型和對屬性的簡短幫助。3.2.5代碼窗口代碼(Code)窗口是編寫事件過程和方法代碼的地方。可用下述方法之一打開代碼窗口。

•在表單中用滑鼠右鍵單擊需要編寫代碼的對象,在彈出的快捷菜單中選擇“代碼”。

•單擊“表單設計器”工具欄中的“代碼”按鈕。

•雙擊需要編寫代碼的對象。3.3VFP編程步驟VisualFoxPro可視化編程的一般步驟為:

(1)建立應用程式的用戶介面,主要是建立表單,並在表單上安排應用程式所需的各種對象(由控件創建)。

(2)設置各對象(表單及控件)的屬性。

(3)編寫方法及事件過程代碼。也可以邊建立對象,邊設置屬性、編寫方法及事件過程代碼。3.4控件的畫法3.4.1在表單上畫一個控件

在表單上畫一個控件有兩種方法。

•單擊“表單控件”工具欄中的某個圖示,在表單適當位置拖動滑鼠畫出控件。

•單擊“表單控件”工具欄中的某個圖示,在表單適當位置單擊滑鼠左鍵,這時所畫控件的大小是固定的。3.4.2控件的縮放和移動

(1)控件的縮放:用滑鼠拖拉活動控件邊框上的小方塊。調整控件的寬度:〈Shift〉鍵+左右方向鍵。調整控件的高度:〈Shift〉鍵+上下方向鍵。

(2)控件的移動:

1)當控件為活動控件時,用鍵盤的方向鍵可以使控件向相應的方向移動。

2)把滑鼠指向控件內部,拖動控件到表單的任何位置。3.4.3控件的複製與刪除

對控件進行複製與刪除的常用方法有下麵3種:

•將所要操作的控件變為“活動控件”,按〈Ctrl〉+〈C〉鍵將該控件拷貝到剪貼板中,按〈Ctrl〉+〈V〉鍵可以在表單中得到該控件的複製品。對於活動控件,只須按〈Delete〉鍵即可刪除該控件。

•用常用工具欄上的“複製”和“粘貼”按鈕,以及“剪切”按鈕。

•直接用滑鼠右擊要操作的控件,打開快捷菜單,在快捷菜單中選取需要的項。3.4.4在表單上畫多個同類控件在“表單控件”工具欄中單擊“按鈕鎖定”按鈕,然後單擊“表單控件”工具欄中的某個所需控件的圖示,就可以在表單上連續畫出控件,直到再次單擊該按鈕取消該功能。3.4.5佈局工具欄1.多重選定按住〈Shift〉鍵,用滑鼠單擊所要選擇的控件。或者直接用滑鼠在表單上拉出一個矩形,凡是與此矩形相交的控件均被選定。4.1賦值及幾個常用簡單語句4.1.1賦值語句

在程式中若要使用(引用)變數,必須在使用(引用)之前為變數設定一個初值。使用賦值語句,可以將指定的值賦給記憶體變數或對象的某個屬性,其一般格式為:

STORE〈運算式〉TO〈名稱列表〉或

〈名稱〉=〈運算式〉

說明:

(1)STORE可以給多個變數或屬性賦值,=只能給一個變數或屬性賦值。例如:

STORE2+3TOx,y,zTHISFORM.Caption="學生成績管理軟體"(2)賦值號的左邊只能是一個變數名,不能是運算式。例如:不能將z=x+y寫成x+y=z。(3)不要將賦值號“=”與是數學中的等號混淆,x=2應讀作“將數值2賦給變數x”或是“使變數x的值等於2”,可以理解為:x

2。下麵兩個語句的作用是不同的:

x=yy=x(4)當一條語句較長時,可用分號“;”將較長的語句分為兩行或多行。例如:

THISFORM.Label1.Caption="電腦可以接受數據和處理數據,"+;"並可將處理完的數據以完整有效的方式提供給用戶。"

注意,作為續行符的分號只能出現在行尾。4.1.2程式注釋語句1.行首注釋

行首注釋語句的語法格式為:NOTE[注釋內容]

或*[注釋內容]2.行尾注釋行尾注釋語句的語法格式為:

&&[〈注釋內容〉]4.1.3程式暫停語句WAIT語句用來暫停程式的執行並顯示提示資訊,按任意鍵或單擊滑鼠後繼續執行程式。其語法格式為:

WAIT[提示資訊][TO〈記憶體變數〉]4.1.4程式結束語句

在VFP中,要終止表單的運行可以使用RELEASE語句或Release方法。它們直接激發Unload事件從記憶體中釋放表單或表單集。

RELEASE語句的格式為:

RELEASE〈THISFORM〉Release方法的格式為:

〈THISFORM|THISFORMSET〉Release4.2利用標籤控件實現數據輸出1.標籤的外觀標籤(Label)控件顯示的文本資訊用戶不能直接修改,Label所顯示的內容由標題(Caption)屬性控制。在缺省情況下,標題(Caption)是Label控件中唯一的可見部分。如果把BorderStyle(邊框樣式)屬性設置成1,那麼Label就有了一個邊框。還可以通過設置Label的BackColor、ForeColor和FontName等屬性,改變Label的外觀。2.使標籤適應內容對於一個較長的或在運行時可能變化的標題,Label提供了兩種屬性:AutoSize和WordWrap來改變控件尺寸以適應較長或較短的標題。為使控件能夠自動調整以適應內容多少,必須將AutoSize屬性設置為.T.。這樣控件可水準並垂直擴充以適應Caption屬性內容。為使Caption屬性的內容自動換行,應將WordWrap屬性設置為.T.。4.3使用文本框實現數據輸入4.3.1使用文本框文本框(TextBox)是用來進行文本數據輸入的,可以用來向程式輸入各種不同類型的數據,也可以被用來作數據的輸出。文本框中顯示的文本是受Value屬性控制的。Value屬性可以用3種方式設置:

•設計時在“屬性”窗口進行。

•編程時通過代碼設置。

•在運行時由用戶輸入。

4.3.2焦點與〈Tab〉鍵序1.焦點焦點(Focus)就是游標,當對象具有“焦點”時才能回應用戶的輸入。可以用SetFocus方法在代碼中設置焦點。例如,編寫表單的Activate事件代碼,其中調用SetFocus方法,使得程式開始時光標(焦點)位於輸入框Text1中:

THIS.Text1.SetFocus

在程式運行的時候,用戶可以按下列方法之一改變焦點:

(1)用滑鼠單擊對象。

(2)按〈Tab〉鍵或〈Shift〉+〈Tab〉在當前表單的各對象之間巡迴移動焦點。

(3)按熱鍵選擇對象。2.〈Tab〉鍵序

(1)TabIndex屬性決定控件接收焦點的順序。當在表單上畫出第一個控件時,TabIndex屬性默認值為0,第二個控件為1,第三個控件為2,…。當用戶在程式運行中按〈Tab〉鍵時,焦點將根據TabIndex屬性值所指定的焦點移動順序移動到下一個控件。

(2)TabStop屬性決定焦點是否能夠停在該控件上。如果控件的TabStop屬性設置為假(.F.),則在運行中按〈Tab〉鍵選擇控件時,將跳過該控件,並按焦點移動順序把焦點移到下一個控件上。4.4形狀與容器控件1.使用形狀形狀(Shape)控件可以在表單中產生圓、橢圓以及圓角或方角的矩形。

2.使用容器控件由於容器(Container)控件的封裝性與外形更具立體感的特點,使得通常使用容器控件對程式介面進行修飾。所謂“容器”的封裝性是指,象表單一樣,可以在容器(Container)控件上面加上一些其他控件。這些控件隨容器移動而移動,其Top和Left屬性都是相對於容器而言的,與表單無關。4.5使用對話框MESSAGEBOX函數在對話框中顯示資訊,等待用戶單擊按鈕,並返回一個整數以標明用戶單擊了哪個按鈕。其語法格式為:

[〈變數名〉]=MESSAGEBOX(〈資訊內容〉[,〈對話框類型〉[,〈對話框標題〉]])

說明:

(1)〈資訊內容〉指定在對話框中出現的文本。

(2)〈對話框類型〉指定對話框中出現的按鈕和圖示,一般有3個參數,這3種參數值可以相加以達到所需要的樣式。

(3)〈對話框標題〉指定對話框的標題。

(4)MESSAGEBOX()返回的值指明了在對話框中選擇哪一個按鈕。

選擇結構是電腦科學用來描述自然界和社會生活中分支現象的重要手段。其特點是:根據所給定的條件為真(即條件成立)與否,而決定從各實際可能的不同分支中執行某一分支的相應操作,並且任何情況下總有:“無論分支多寡,必擇其一;縱然分支眾多,僅選其一”的特性。5.1條件運算式

在條件語句中作為判斷依據的運算式稱為“條件運算式”,條件運算式的取值為邏輯值:真(.T.、.t.)或假(.F.、.f.)。根據“條件”的簡單或複雜程度,條件運算式可以分為兩類:關係運算式與邏輯運算式。5.1.1關係運算符與關係運算式

關係運算式是指用關係運算符將兩個運算式連接起來的式子(例如x>0),關係運算符又稱比較運算符,用來對兩個運算式的值進行比較,比較的結果是一個邏輯值(.T.或.F.),這個結果就是關係運算式的值。

VFP提供的關係運算符有8種,見表5-1。表5-1VFP中的關係運算符運算符名稱示例<小於2<3值為:.T.<=小於或等於2+3<=1+2值為:.F.>大於5>2+3值為:.F.>=大於或等於"abc">="abd"值為:.F.=等於4+3=2+5值為:.T.<>、#、!=不等於7<>2+5值為:.F.$包含於"AB"$"ABCD"值為:.T.==等同於

5.1.2邏輯運算符與邏輯運算式

邏輯運算式是指用邏輯運算符連接若干關係運算式或邏輯值而成的式子。如不等式:2≤x≤10可以表示為:2<=xANDx<=10。邏輯運算式的值也是一個邏輯值。

VFP提供的邏輯運算符有以下3種,見表5-2。表5-2邏輯運算符運算符名稱示例NOT非NOT(3<2)值為:.T.,(由真變假或由假變真,進行取“反”操作)AND與(2>3)AND(1<2)值為:.F.,(兩個運算式的值均為真,結果才為真,否則為假)OR或(2>3)OR(1<2)值為:.T.,(兩個運算式中只要有一個值為真,結果就為真,只有兩個運算式的值均為假,結果才為假)

邏輯運算的運算規則,見表5-3。表5-3邏輯運算真值表abNOTaaANDbaORb.T..T..F..T..T..T..F..F..F..T..F..T..T..F..T..F..F..T..F..F.5.1.3運算符的優先順序表5-4運算符的優先順序優先順序運算符類型運算符運算符類型運算符1算術運算符^(指數運算)字串運算符+、–(字串連接)2-(負數)3*、/(乘法和除法)4%(求模運算)5+、–(加法和減法)6關係運算符=、<>、<、>、<=、>=、$、==7邏輯運算符NOT8AND9OR5.2條件選擇語句5.2.1單條件選擇語句IF

單條件選擇語句IF實現的是最常用的雙分支選擇,其特點是:根據所給定的選擇條件(條件運算式)的值為真與否,來執行相應的分支。1.IF語句的語法格式單條件選擇語句IF的語法格式為:

IF〈條件〉[〈語句列1〉][ELSE[〈語句列2〉]ENDIF

說明:

(1)如果〈條件〉為真(.T.),就執行〈語句列1〉。如果〈條件〉為假(.F.),若有ELSE子句,則程式會執行ELSE部分的〈語句列2〉;若無ELSE子句,則程式會直接轉到ENDIF之後的語句繼續執行。

(2)〈語句列1〉和〈語句列2〉中還可以包含IF語句,稱為IF語句的嵌套。要注意,每次嵌套中的IF語句必須與ENDIF成對出現。2.使用IIF函數還可以使用IIf函數來實現一些比較簡單的選擇結構。IIf函數的語法結構為:

IIf(〈條件〉,〈真部分〉,〈假部分〉)

語句y=IIf(條件,真部分,假部分)相當於:

IF條件

y=真部分

ELSEy=假部分

ENDIF3.IF語句的嵌套

如果在IF語句中操作塊a1塊(語句列1)或a2塊(語句列2)本身又是一個IF語句,則稱為IF語句的嵌套。5.2.2多分支條件選擇語句DOCASE

多分支選擇結構的根本特點是:從多個分支中,選擇第一個條件為真的路線作為執行的路線。DOCASE語句的語法格式為:

DOCASECASE〈條件1〉[〈語句列1〉][CASE〈條件2〉[〈語句列2〉]]...[OTHERWISE[〈其他語句列〉]]

ENDCASE

說明:

(1)在執行DOCASE語句時,依次判斷各〈條件〉是否滿足。若〈條件1〉的值為真(.T.),就執行相應的

〈語句列1〉,直到遇到下一個CASE、OTHERWISE或ENDCASE。

(2)相應的〈語句列1〉執行後不再判斷其他〈條件〉,直接轉向ENDCASE後面的語句。因此,在一個DOCASE結構中,最多只能執行一個CASE子句。

(3)如果沒有一個條件為真,就執行OTHERWISE後面的〈其他語句列〉,直到ENDCASE。如果沒有OTHERWISE,則不作任何操作就轉向ENDCASE後面的語句。5.3提供簡單選擇的控件5.3.1命令按鈕組

如果表單上需要使用多個命令按鈕,可以將這些命令按鈕組合為一組,即命令按鈕組(Commandgroup)。1.命令按鈕組命令按鈕組是一個容器對象,其中包含命令按鈕。命令按鈕組的Value屬性指示單擊了那個按鈕。命令按鈕組的ButtonCount屬性用來設置命令按鈕組中按鈕的個數,ButtonCount屬性的默認值為2。2.按鈕組生成器

利用按鈕組生成器可以更方便地設計命令按鈕組。

(1)用滑鼠右鍵單擊命令按鈕組控件CommandGroup1,在彈出菜單中選擇“生成器”,打開“命令組生成器”。

(2)在“按鈕”選項卡中,修改“按鈕的數目”,再修改按鈕的“標題”(Caption屬性)。

(3)在“佈局”選項卡中指定命令按鈕組的排列方式,如水準或垂直、有無邊框等。

(4)最後單擊“確定”按鈕退出命令組生成器。5.3.2選項按鈕組1.選項組與選項組生成器選項按鈕組是一組相互排斥的選項按鈕(或稱為單選按鈕)。一般來說,選項按鈕總是成組(選項按鈕組)出現,用戶在一組選項按鈕中必須選擇一項,並且最多只能選擇一項。當某一項被選定後,其左邊的圓圈中出現一個黑點。

創建選項按鈕組時,系統僅提供兩個選項按鈕。通過改變按鈕數(ButtonCount)屬性,可以增加更多的選項按鈕。選項按鈕組是一個容器類控件,設計時,用滑鼠右鍵單擊選項按鈕組,從快捷菜單中選擇“編輯”。此時,選項按鈕組的周圍出現淺色邊界,即可對選項按鈕組內的選項按鈕進行編輯了。設計選項組最方便的辦法是利用“生成器”。2.選項組的圖形方式可以將選項組設計成圖形按鈕的形式。5.3.3複選框

複選框(CheckBox)的左邊有一個“□”。複選框列出可供用戶選擇的選項,用戶根據需要選定其中的一項或多項。當某一項被選中後,其左邊的小方框中就多了一個對號“√”。複選框的Caption屬性可以指定出現在複選框旁邊的文本,而Picture屬性用來指定當複選框被設計成圖形按鈕時的圖象。

複選框的狀態由其Value屬性決定:

0或.F.——假

1或.T.——真

2或.NULL.——暗5.4計時器與微調器5.4.1使用計時器

計時器(Timer)控件能有規律地以一定的時間間隔激發計時器事件(Timer)而執行相應的事件代碼。計時器控件在設計時顯示為一個小時鐘圖示,而在運行時並不顯示在螢幕上,通常用標籤來顯示時間。計時器控件的主要屬性見表5-8。表5-8Timer控件的主要屬性屬性說明Enanled該屬性為True時,定時器開始工作,為False時暫停Interval該屬性用來設置定時器觸發的週期(以毫秒計)取值範圍為0~64767Interval(時間間隔)屬性是一個非常重要的屬性,表示兩個計時器事件之間的時間間隔,其值以毫秒(ms)為單位,介於0~64767ms之間,所以最大的時間間隔約為1.5min。當Interval為0時表示遮罩計時器。如果希望每一秒產生一個計時器事件,那麼Interval屬性值應設為1000,這樣,每隔1000ms(即1秒)就激發計時器事件,從而執行相應的Interval事件過程。5.4.2使用微調器

微調器(Spinner)控件可以在一定範圍內控制數據的變化。除了能夠用滑鼠單擊控件右邊向上和向下的箭頭來增加和減少數字以外,還能象編輯框那樣直接輸入數值數據。

微調器的主要屬性有:

(1)KeyboardHighValue和KeyboardLowValue屬性:用來控制用戶通過鍵盤輸入的值。

(2)SpinnerHighValue和SpinnerLowValue屬性:用來控制用戶通過滑鼠單擊箭頭獲得的值。

(3)Interval屬性:用來設定數值增加或減少的量。要顛倒箭頭的功能(向上箭頭減少,向下箭頭增加)可以把Interval設為負數。6.1迴圈結構語句

在VisualFoxPro中,提供了三種迴圈語句:DOWHILE...ENDDO(當型迴圈)、FOR...ENDFOR(步長型迴圈)、SCAN...ENDSCAN(表掃描型迴圈)。無論何種類型的迴圈結構,其特點都是:循環體執行與否及其執行次數多少都必須視其迴圈類型與條件而定,且必須確保循環體的重複執行能在適當的時候得以終止(即非死迴圈)。6.1.1當型迴圈語句DOWHILE1.當型迴圈的語法格式

如果需要在某一條件滿足時反復執行某一操作,可以使用當型迴圈(DOWHILE)結構。

當型迴圈的語法格式為:

DOWHILE〈條件〉[〈命令列〉][EXIT][LOOP]ENDDO

說明:

(1)如果〈條件〉的值為.T.,則執行DOWHILE和ENDDO之間的循環體;如果〈條件〉的值為.F.,則結束迴圈,轉去執行ENDDO之後的命令。每執行一遍循環體,程式自動返回到DOWHILE語句,判斷一次〈條件〉。

(2)EXIT是無條件結束迴圈命令。

(3)LOOP是無條件迴圈命令。2.當型迴圈結構的特點“當型”迴圈結構的根本特點是:當所給定迴圈條件為真時,就反復執行其循環體;當該條件為假時,終止執行其循環體,執行其後繼命令。循環體執行次數最少可為零。6.1.2步長型迴圈命令FOR1.步長型迴圈語句

步長型迴圈可以根據給定的次數重複執行循環體。其語法結構為:

FOR〈記憶體變數〉=〈初值〉TO〈終值〉[STEP〈步長值〉][〈命令列〉][EXIT][LOOP]ENDFOR|NEXT

說明:

(1)EXIT跳出FOR...ENDFOR迴圈。

(2)LOOP將控制直接轉回到FOR子句。

(3)在使用迴圈嵌套時要注意:內外迴圈的迴圈變數不能同名,並且內外迴圈不能交叉。如正確錯誤2.步長型迴圈的執行過程迴圈的執行過程是:開始時首先把〈初值〉、〈終值〉和〈步長值〉讀入,然後〈記憶體變數〉的值與〈終值〉比較,如果〈記憶體變數〉的值在〈初值〉與〈終值〉範圍內,則執行FOR與ENDFOR之間的命令,然後〈記憶體變數〉按〈步長值〉增加或減小,重新比較,直到〈記憶體變數〉的值不在〈初值〉與〈終值〉範圍內,結束迴圈,轉去執行ENDFOR後面的第一條命令。6.2列表框與組合框控件

列表框和組合框為用戶提供了包含一些選項和資訊的可滾動列表。在列表框中,任何時候都能看到多個項,而在組合框中,平時只能看到一個項,用滑鼠單擊向下按鈕可以看到多項的列表。6.2.1列表框

列表框(ListBox)顯示一個專案列表,用戶可以從中選擇一項或多項,但不能直接編輯列表框中的數據。當列表框不能同時顯示所有專案時,它將自動添加滾動條,使用戶可以上下或左右滾動列表框,以查閱所有選項。1.列表框的常用屬性表6-1常用列表框屬性屬性說明List設置或返回列表中選項,使用List屬性可以得到列表中的任何選項。例如,List1.List(1)表示列表框List1中第2項的值Value列表中當前選項的值ListCount列表框中的選項個數ListIndex當前選項的索引號,如果沒有選項被選中,該屬性為0Selected在程式運行時,使用代碼來選定列表中的選項,例如,THISFORM.List1.Selected(3)=.T.表示選中列表框List1中的第3條選項ColumnCount列表框的列數2.列表框的常用方法表6-2常用列表框方法方法程式說明AddItem給RowSourceType屬性為0的列表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论