第3 4章順序結構程序設計_第1頁
第3 4章順序結構程序設計_第2頁
第3 4章順序結構程序設計_第3頁
第3 4章順序結構程序設計_第4頁
第3 4章順序結構程序設計_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

會計學1第34章順序結構程序設計一、基本語句1.賦值語句

STORE<表達式>TO<名稱列表>

變量名=<表達式>2.程序注釋語句.程序中的說明,方便閱讀。

NOTE[〈注釋內容〉]

*[〈注釋內容〉]&&[〈注釋內容〉]—

行尾注釋3.

暫停語句

WAIT[<提示信息>][TO<內存變量>][TIMEOUT<數值表達式>]

WAIT"繼續否(Y/N)?"TOANS第1頁/共37頁4.語句續行在行未加上續行符“;”(半角分號)

5.輸入字符串

ACCEPT[〈字符表達式〉]TO〈內存變量〉

6.輸入數據命令

INPUT[〈字符表達式〉]TO〈內存變量〉

7.輸出數據命令:?|??8.程序結束語句

RELEASETHISFORM|THISFORM.RELEASE()

過程結束:RETURN|終止VFP運行QUIT第2頁/共37頁一、面向過程編程程序文件

1.簡介擴展名.prg2.建立方法:

命令方式:ModifyCommand[文件名]

菜單方式:文件新建程序在項目管理器下建立程序文件

3.保存并運行

命令方式:do<程序文件名>

菜單方式:程序運行第3頁/共37頁二、順序結構

順序結構按照出現的先后順序依次執行,執行完一條命令(語句),繼續執行在書寫順序上緊接著此語句的下一條語句。求解一元二次方程

a=1b=4INPUT"輸入C的值:"TOCx1=(-b+SQRT(b*b-4*a*c))/(2*a)x2=(-b-SQRT(b*b-4*a*c))/(2*a)?"方程的根是:",x1,"另一個根是:",x2第4頁/共37頁

面向對象程序設計簡介

面向對象技術的基本出發點在于盡可能地按照人類認識世界的方法和思維方式來分析和解決問題。面向對象技術即以對象為最基本的元素,對象構成了分析和解決問題的核心。例:解方程第5頁/共37頁3.1.1對象的屬性、事件與方法

從可視化編程的角度來看,對象是一個具有屬性(數據)和方法(行為方式)的實體。一個對象建立以后,其操作就通過與該對象有關的屬性、事件和方法來描述。第6頁/共37頁1.對象的屬性

屬性(Property)是指對象的一項描述內容,用來描述對象的一個特性,不同的對象有不同的屬性,而每個對象又都由若干屬性來描述。屬性值的設置或修改可以通過屬性窗口和編程的方法來改變。在程序中設置屬性的一般格式是:表單名.對象名.屬性名=屬性值Thisform.lable1.caption=“姓名”例:日期時間第7頁/共37頁2.對象的事件所謂事件(Event),是由VFP預先定義好的、能夠被對象識別的動作,如單擊(Click)事件、雙擊(DblClick)事件、裝入(Load)事件、移動鼠標(MouseMove)事件等,不同的對象能識別的事件不全相同。對象的事件是固定的,用戶不能建立新的事件。第8頁/共37頁事件過程事件過程(EventProcedure)是為處理特定事件而編寫的一段程序。當事件由用戶觸發(如Click)或由系統觸發(如Load)時,對象就會對該事件作出響應(Respond)。第9頁/共37頁3.對象的方法方法(Method)是與對象相關聯的過程,VFP的方法屬于對象的內部函數,用于完成某種特定的功能而不一定響應某一事件,如添加對象(AddObject)方法、繪制矩形(Box)方法、釋放表單(Release).方法也被“封裝”在對象中,不同的對象具有不同的內部方法。VFP提供了百余個內部方法供不同的對象調用。與事件過程不同的是,根據需要可由用戶自行建立新方法。第10頁/共37頁4.事件與方法的程序調用

事件過程由事件的激發而調用其代碼,也可以在運行中由程序調用其代碼,在程序中調用事件代碼的格式是:表單名.對象名.事件名Tmand1.click方法的代碼只能在運行中由程序調用.在程序中調用對象方法的格式是[[〈變量名〉]=]〈表單名〉.〈對象名〉.〈方法名〉()Thisform.release()例:日期時間第11頁/共37頁二、面向對象程編程步驟

1、創建表單。2、添加對象。從“控件工具欄”選擇對象模板。3、修改對象屬性。4、編寫按鈕代碼。Thisform.release()5、運行表單。未保存表單提示保存文件,表單擴展名為:SCX、SCT。第12頁/共37頁3.1.2控件與對象

VFP編程的最大特點,就是利用VFP所提供的圖形構件快速構造應用程序的輸入輸出屏幕界面。控件(Control)是某種圖形構件的統稱,如“標簽控件”、“文本框控件”、“列表框控件”等,利用控件創建對象則是構造應用程序界面的具體方法。1.常用控件和內部對象常用控件由VFP的基類提供,共21個,每個控件用“表單控件”工具欄中的一個圖形按鈕表示,見表3-1。圖標名稱說明標簽(Label)創建一個標簽對象,用于保存不希望用戶改動的文本,如復選框上面或圖形下面的標題文本框(TextBox)創建用于單行數據輸入的文本框對象,用戶可以在其中輸入或更改單行文本第13頁/共37頁編輯框(EditBox)創建用于多行數據輸入的編輯框對象,用戶可以在其中輸入或更改多行文本命令按鈕(CommandButton)創建命令按鈕對象,用于執行命令命令按鈕組(CommandGroup)創建命令按鈕組對象,用于把相關的命令編成組選項按鈕組(OptionGroup)創建選項按鈕組對象,用于顯示多個選項,用戶只能從中選擇一項復選框(CheckBox)創建復選框對象,允許用戶選擇開關狀態,或顯示多個選項,用戶可從中選擇多于一項第14頁/共37頁組合框(ComboBox)創建組合框或下拉列表框對象,用戶可以從列表項中選擇一項或人工輸入一個值列表框(ListBox)創建列表框對象,用于顯示供用戶選擇的列表項。當列表項很多,不能同時顯示時,列表可以滾動微調(Spinner)創建微調對象,用于接受給定范圍之內的數值輸入表格(Grid)創建表格對象,用于在電子表格樣式的表格中顯示數據圖像(Image)創建圖像對象,在表單上顯示圖像計時器(Timer)創建計時器對象,以設定的時間間隔捕捉計時器事件。此控件在運行時不可見頁框(PageFrame)創建頁框對象,顯示多個頁面第15頁/共37頁ActiveX(ActiveXControl)創建OLE容器對象,向應用程序中添加OLE對象ActiveX綁定型(ActiveXBoundControl)創建OLE綁定型對象,可用于向應用程序中添加OLE對象。與OLE容器控件不同的是,OLE綁定型控件綁定在一個通用字段上線條(Line)創建線條對象,設計時用于在表單上畫各種類型的線條形狀(Shape)創建形狀對象,設計時用于在表單上畫各種類型的形狀。可以畫矩形、圓角矩形、正方形、圓角正方形,橢圓或圓容器(Container)創建容器對象,在容器中可以包含其他的控件分隔符(Separafor)創建分隔符對象,在工具欄的控制間加上空格超級鏈接(HyperLink)使用“超級鏈接”可以跳轉到Internet或Intranet的一個目標地址上第16頁/共37頁

2.表單對象表單(Form)是應用程序的用戶界面,也是進行程序設計的基礎。各種圖形、圖像、數據等都是通過表單或表單中的對象顯示出來,因此表單是一個容器對象。

(1)表單的結構

VFP的表單具有和Windows應用程序的窗口界面相同的結構特征。,一個典型的表單有圖標、標題、極小化按鈕、極大化按鈕、關閉按鈕、移動欄、表單體及其周圍的邊框。其中除了表單體之外的所有特征都可以部分或全部從表單中被刪除。第17頁/共37頁表單的幾種常用屬性

Name 表單名Caption 表單的標題AutoCenter .T.或.F. 為真時表單自動居中 BackColor RGB三色值 表單背景色 Left,Right 數值表單位置 Height,Width 數值 表單的高和寬 第18頁/共37頁表單常用的事件、方法程序LoadEvent——

調用(運行)該表單前發生的事件(例題:啟動)InitEvent——

表單初始化、創建對象時事件Activate事件——當表單被激活時發生。ClickEvent——

點擊表單(鼠標左鍵)事件(例題變大小)DblClickEvent——雙擊表單事件 ErrorEvent——

運行表單時出錯的事件 Hide——

隱藏表單方法 KeyPressEvent——按鍵時發生的事件 RightClickEvent——右擊表單事件 DestroyEvent——在對象釋放時引發UnLoadEvent——當表單被關閉時發生。在表單運行時首先運行LoadEvent,然后InitEvent、Activate事件在表單關閉時首先運行DestroyEvent,然后UnLoadEvent第19頁/共37頁常用的表單方法程序Refresh 表單刷新方法 Release 表單釋放方法例:表單左右擊 第20頁/共37頁3.對象的引用

(1)對象的包容層次

VFP中的對象根據它們所基于的類的性質可分為兩類:容器類對象和控件類對象。容器類對象:可以包含其他對象,并且允許訪問這些對象,例如表單、表格等。控件類對象:只能包含在容器對象之中,而不能夠包含其他對象,例如命令按鈕、復選框等。表3-3列出了每種容器類對象所能包含的對象。第21頁/共37頁容器能包含的對象命令按鈕組命令按鈕容器任意控件自定義任意控件、頁框、容器、自定義對象表單集表單、工具欄表單頁框、任意控件、容器或自定義對象表格列標頭對象以及除了表單集,表單,工具欄,計時器和其他列對象以外的任意對象表格表格列選項按鈕組選項按鈕頁框頁面頁面任意控件、容器和自定義對象工具欄任意控件、頁框和容器第22頁/共37頁

當一個容器包含一個對象時,稱該對象是容器的子對象,而容器稱為該對象的父對象。

(2)對象的引用作為應用程序的用戶界面,表單上可以包含許多對象,而這些對象又有可能具有互相包含的層次關系。若要引用一個對象,需要知道它相對于容器層次的關系。在容器層次中引用對象恰似給VFP提供這個對象地址。

①絕對引用:通過提供對象的完整容器層次來引用對象稱為絕對引用。圖3-7表示了一種可能的容器嵌套方式。第23頁/共37頁

若要使表列中的控件無效,需要提供以下地址:Formset.Form.PageFrame.Page.Grid.Column.Control.Enabled=.F.

應用程序對象(_VFP)的ActiveForm屬性允許在不知道表單名的情況下處理活動的表單。例如,下列代碼改變活動表單的背景顏色,而不考慮其所屬的表單集。_VFP.ActiveForm.BackColor=RGB(255,255,255)

類似地,ActiveControl屬性允許處理活動表單的活動控件。Name1=_VFP.ActiveForm.ActiveControl.Name

第24頁/共37頁②相對引用:在容器層次中引用對象時,可以通過快捷方式指明所要處理的對象,即所謂相對引用。例如:THISFORM.Cmd1.Caption=“關閉“&&Cmd1對象的標題(Caption)屬性設為“關閉”。THIS.Caption=“關閉“&&本對象的標題(Caption)屬性設為“關閉”。THIS.Parent.BackColor=RGB(192,0,0)&&本對象的父對象的背景色設置為暗紅色。例:放大縮小

第25頁/共37頁屬性或關鍵字引用ActiveControl當前活動表單中具有焦點的控件ActiveForm當前活動表單ActivePage當前活動表單中的活動頁Parent該對象的直接容器THIS該對象THISFORM包含該對象的表單THISFORMSET包含該對象的表單集

說明:只能在方法程序或事件過程中使用THIS、THISFORM和THISFORMSET。

表3-4列出了一些屬性和關鍵字,這些屬性和關鍵字允許更方便地從對象層次中引用對象。第26頁/共37頁一、標簽(Label)控件顯示文本信息的對象。用于標題、提示框、說明框等。屬性:

Caption:標簽的內容,顯示的信息。

AutoSize:水平擴充。

WordWrap:自動換行題文字屬性:Backcolor,Forecolor,FontSize,FontName。

立體標簽,兩個同樣標簽,Backstyle=0透明,置前(后)例題:lt4-1,lt4-2,lt4-3、時間日期第27頁/共37頁實現數據輸入、輸出的控件。可以編輯(輸入)內存變量、數組元素或字段的內容。常用屬性:ValueControlSource(焦點2.scx)PasswordCharReadOnly常用事件:

GotFocusEvent——獲得焦點時發生的事件焦點(FOCUS)就是光標。對象有“焦點”才能響應用戶的輸入。對象獲得焦點的方法:鼠標單擊對象

THISFORM.TEXT.SETFOCUS(例:焦點2、text1-gotfocus)對象的屬性TabIndex決定控件接受焦點的順序,依次增加。(text解方程.scx)ValidEvent

在控件失去焦點之前發生的事件InteractiveChangeEvent

當用戶使用鍵盤或鼠標更改控件的值時發生的事件LostFocusEvent

當一個對象失去焦點時發生的事件KeyPressEvent

當用戶按住并釋放一個鍵時發生的事件(LT4_4)P91鍵值表二、文本框(TextBox)控件

第28頁/共37頁三、編輯框EditBox可編輯備注型字段,有滾動條,編輯時允許輸入“回車”鍵。與文本框不同,是能處理多行文本數據。屬性、事件同文本框屬性:

Caption,ContrlSoure,valueScrollBars滾動條的類型。

0—無,2—垂直滾動條。第29頁/共37頁四、命令按鈕(Command)控件創建命令按鈕對象,用于執行命令常用屬性:

Caption:命令按鈕顯示的內容,“\<”訪問鍵

Name:命令按鈕對象的名字。標示。

Enabled:邏輯型,命令按鈕是否可用。

Visible:邏輯型,命令按鈕是否可見。

Picture:指定按鈕的圖形文件名。

DownPicture:指定按鈕按下時的圖形。事件:

Click:按鈕命令按鈕執行的代碼。第30頁/共37頁形狀控件(Shape):創建形狀對象,設計時用于在表單上畫各種類型的形狀,修飾之用常用屬性:Curvature:角的曲率(<100)。

SpecialEffect:0—三維1—平面

BackStyle:背景是否透明0—透明1—不透明例題:LT4_6

五、形狀控件(Shape)

第31頁/共37頁六、容器控件(Container)容器控件(Container)可在該對象內添加其他控件,添加控件方法如下:選擇容器->“右鍵”->”編輯”。對象分類:容器類對象和控件類。LT4-7第32頁/共37頁七.圖象(Image)在表單上插入圖片。美化表單、修飾之用。圖形類型*.bmp*.Ico屬性:

Picture:圖片文件名。Stretch:

0-裁剪,1-按原比例填充,2-變比例填充即圖片與圖象框一樣大BorderStyle邊框是否可見。例:LT4_TP第33頁/共37頁

對話框是用戶與應用程序之間交換信息的最佳途徑之一。使用對話框函數可以得到VFP的內部對話框,這種方法具有操作簡單及快速的特點。

MESSAGEBOX函數在對話框中顯示信息,等待用戶單擊按鈕,并返回一個整數以標明用戶單擊了哪個按鈕。其語法格式為[〈變量名〉]=MESSAGEBOX(〈信息內容〉[,〈對話框類型〉[,〈對話框標題〉]])

說明:①〈信息內容〉指定在對話框中出現的文本。在〈信息內容〉中使用硬回車符(CHR(13))可以使文本換行。對話框的高度和寬度隨著〈信息內容〉的增加而增加,最多可

溫馨提示

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

評論

0/150

提交評論