freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

visualbasic程序設(shè)計(jì)教程(中)ppt-資料下載頁(yè)

2025-02-13 21:31本頁(yè)面
  

【正文】 變量的作用域決定了可訪問(wèn)該變量的子過(guò)程和函數(shù)過(guò)程 。變量按作用域分為局部變量 、 窗口 /模塊級(jí)變量和全局變量 。 1. 局部變量 局部變量是指在過(guò)程內(nèi)用 Dim的語(yǔ)句聲明的變量 ( 或不加聲明直接使用的變量 ) , 如圖 610所示 。 圖 610 局部變量的使用 變量的作用域 局部變量只能在一個(gè)過(guò)程中使用,其他過(guò)程不能訪問(wèn)此變量。局部變量隨過(guò)程的調(diào)用分配存儲(chǔ)單元,并在聲明的過(guò)程內(nèi)進(jìn)行數(shù)據(jù)的存取,一旦過(guò)程體結(jié)束,變量的內(nèi)容自動(dòng)消失,占用的存儲(chǔ)單元釋放。不同的過(guò)程中可有相同名稱的變量,彼此互不相干。在下次過(guò)程執(zhí)行時(shí),所有局部變量的值初始化為 0或空。使用局部變量,有利于程序的調(diào)試。 2.窗體 /模塊級(jí)變量 窗體 /模塊級(jí)變量指在一個(gè)窗體 /模塊的任何過(guò)程之外聲明的變量。在代碼窗口中選擇左邊的下拉框?yàn)椤巴ㄓ谩?,然后選擇右邊的下拉框?yàn)椤奥暶鳌?,?Dim或 Private語(yǔ)句聲明的變量,可被窗體 /模塊的任何過(guò)程訪問(wèn)。如圖 611所示。 變量的作用域 圖 611 非局部變量使用 全局變量是指在一個(gè)窗體 /模塊的任何過(guò)程之外以 Public關(guān)鍵字聲明的變量,即在“通用聲明”段中用公共的語(yǔ)句聲明的變量,可被應(yīng)用程序的任何過(guò)程或函數(shù)訪問(wèn)。全局變量的值整個(gè)應(yīng)用程序中始終不會(huì)消失和重新初始化,只有當(dāng)整個(gè)應(yīng)用程序執(zhí)行結(jié)束時(shí),才會(huì)消失。不同作用范圍的 3種變量聲明及使用規(guī)則如表 61所示。 注意:不能在過(guò)程中聲明全局變量,只能在模塊的聲明段中聲明全局變量。 [E1]與“窗體 /模塊級(jí)變量”一樣? 已修改 變量的作用域 表 61 不同作用范圍的 3種變量聲明及使用規(guī)則 作用范圍 局部變量 窗體 /模塊級(jí)變量 全局變量 窗體 標(biāo)準(zhǔn)模塊 聲明方式 Dim, Static Dim,Private PUBLIC 聲明位置 在過(guò)程中 窗體 / 模塊的“ 通用聲明 ”段 窗體 /模塊的 “ 通用聲明 ” 段 能否被本模塊的其他過(guò)程存取 不能 能 能 能否被其他模塊存取 不能 不能 能 , 但在變量名前加窗體名 能 過(guò)程的作用域 一般 Visual Basic應(yīng)用程序的代碼存儲(chǔ)在 3種不同的模塊中 , 即窗體模塊 、 標(biāo)準(zhǔn)模塊和類模塊 。 在本章只介紹窗體和標(biāo)準(zhǔn)模塊文件 , 類模塊在以后章節(jié)介紹 。 過(guò)程的作用域分為:窗體 /模塊級(jí)和全局級(jí) 。 1. 窗體 /模塊級(jí) 它是在某個(gè)窗體或標(biāo)準(zhǔn)模塊內(nèi)定義的過(guò)程 , 定義的附屬過(guò)程或函數(shù)過(guò)程前加 Private的關(guān)鍵字 。 過(guò)程只能被本窗體 ( 在本窗體內(nèi)定義 ) 或本標(biāo)準(zhǔn)模塊 ( 在本標(biāo)準(zhǔn)模塊內(nèi)定義 ) 中的過(guò)程調(diào)用 。 2. 全局級(jí) 它是在某個(gè)窗體或標(biāo)準(zhǔn)模塊中定義的附屬過(guò)程或函數(shù)過(guò)程 , 其默認(rèn)是全局的 , 也可在過(guò)程前加上關(guān)鍵字進(jìn)行說(shuō)明 。 全局級(jí)過(guò)程可供該應(yīng)用程序的所有窗體和所有標(biāo)準(zhǔn)模塊中的過(guò)程調(diào)用 , 其調(diào)用方式根據(jù)過(guò)程所處的位置不同 , 有兩種調(diào)用方式: ?在窗體定義的過(guò)程 , 當(dāng)外部過(guò)程要調(diào)用時(shí) , 應(yīng)在被調(diào)用的過(guò)程名前加上所處的窗體名 。 ?在標(biāo)準(zhǔn)模塊定義的過(guò)程 , 如果過(guò)程名唯一 , 則任何外部過(guò)程都可以直接調(diào)用 , 否則應(yīng)在被調(diào)用的過(guò)程名前加上所處的標(biāo)準(zhǔn)模塊名 。 過(guò)程的作用域 【 例 69】 在下面一個(gè)窗體文件中進(jìn)行不同級(jí)的變量聲明 。 Public a As Integer Dim b As Integer Sub prod() Dim a As Integer a = a * a = 2 b = 2 Print prod子程序中: Print 局部變量 a=。 a。 ,全局變量 a=。 _ 。 ,窗體 /模塊級(jí)變量 b=。 b Print End Sub ’ 命令按鈕的 Click()事件代碼 : Private Sub Command1_Click() 過(guò)程的作用域 Dim a As Integer Show: Cls FontSize = 10 a = 5 = 1 b = 1 Print 調(diào)用 prod前: Print 局部變量 a=。 a。 ,全局變量 a=。 _ 。 ,窗體 /模塊級(jí)變量 b=。 b Print Call prod = + 1 = b + 1 Print 調(diào)用 prod后: Print 局部變量 a=。 a。 ,全局變量 a=。 。 _ ,窗體 /模塊級(jí)變量 b=。 b End Sub 過(guò)程的作用域 一般而言 , 在同一模塊中不同級(jí)別的變量可以用相同的變量名 。 在定義局部變量的過(guò)程內(nèi) ,局部變量起作用 , 在其他地方全局變量起作用 。如上例定義了全局變量和局部變量都為 a, 在直接訪問(wèn) a時(shí) , 局部變量被優(yōu)先訪問(wèn) , 把全局變量 a屏蔽掉;若想訪問(wèn)全局變量 , 則必須在全局變量名前加模塊名 。 在 Visual Basic中定義過(guò)程時(shí) , 一個(gè)過(guò)程內(nèi)不能包含另一個(gè)過(guò)程 , 但是可以調(diào)用另一個(gè)過(guò)程 。 這種情況是過(guò)程的嵌套 。 如果一個(gè)過(guò)程調(diào)用過(guò)程本身 , 就是遞歸調(diào)用 。 遞歸調(diào)用在完成階乘運(yùn)算 、 級(jí)數(shù)運(yùn)算和冪指數(shù)運(yùn)算方面經(jīng)常用到 。 遞歸分為兩種類型:一種是直接遞歸 ,即在過(guò)程中調(diào)用過(guò)程本身;另一種是間接遞歸 ,即間接地調(diào)用一個(gè)過(guò)程 , 如第一個(gè)過(guò)程調(diào)用了第二個(gè)過(guò)程 , 而第二個(gè)過(guò)程又返回頭來(lái)調(diào)用第一個(gè)過(guò)程 。 過(guò)程的嵌套和遞歸調(diào)用 過(guò)程的嵌套 Visual Basic的過(guò)程定義都是相互平行和獨(dú)立的 , 即一個(gè)過(guò)程不能定義另一個(gè)過(guò)程 。 但是在一個(gè)過(guò)程中可以調(diào)用另一個(gè)過(guò)程 ,這種結(jié)構(gòu)稱為嵌套調(diào)用 。 如圖 612所示 。 從圖 612可以看出 , 主程序或過(guò)程遇到調(diào)用子過(guò)程語(yǔ)句就轉(zhuǎn)去執(zhí)行子過(guò)程 , 而本程序的余下的部分代碼則等從子過(guò)程返回后才能繼續(xù)執(zhí)行 。 圖 612嵌套調(diào)用 過(guò)程的嵌套 【 】 過(guò)程的嵌套調(diào)用 , 運(yùn)行界面如圖 613所示 。 Private Sub sub1() Print sub1內(nèi)部 ,調(diào)用 sub2( ) 過(guò)程前 Call sub2 Print sub1內(nèi)部 ,調(diào)用完成 sub2( ) 過(guò)程后 End Sub Private Sub sub2() Print sub2內(nèi)部 End Sub Private Sub Command1_Click() Print 主調(diào)程序中 …… Call sub1 Print 主調(diào)程序完成 End Sub 過(guò)程的嵌套 圖 613 嵌套調(diào)用結(jié)果 過(guò)程的遞歸調(diào)用 簡(jiǎn)單地說(shuō) , 遞歸調(diào)用就是在過(guò)程中自己調(diào)用自己 。 遞歸是描述問(wèn)題的一種抽象方法 , 最典型的數(shù)學(xué)例子就是階乘的定義: n!=n(n1)! (n1)!=(n1)(n2)! … 1!=1(11)! 0!=1 【 例 611】 利用遞歸調(diào)用計(jì)算 n!。 程序代碼如下: Function Factorial(N As Integer) As Double If N 0 Then Factorial = N * Factorial(N 1) Else Factorial = 1 End If End Function 過(guò)程的遞歸調(diào)用 Sub Form_Click() Dim num As Integer msg$ = Factorial is: NL = Chr$(13) amp。 Chr$(10) num = InputBox(Enter a number from 0 to 20:) If num 0 And num = 20 Then r = Factorial(num) msg1 = Str$(num) amp。 msg amp。 NL amp。 Str$(r) MsgBox msg1 End If msg1 = End Sub 過(guò)程的遞歸調(diào)用 在遞歸處理中 , 用棧來(lái)實(shí)現(xiàn) 。 棧中存放形參 、 局部變量 、調(diào)用結(jié)束時(shí)的返回地址 。 每調(diào)用一次自身 , 就把當(dāng)前參數(shù)壓棧 ,直到滿足遞歸結(jié)束條件;然后不斷從棧中彈出當(dāng)前的參數(shù) , 直到???。 如果上述 Factorial函數(shù)中 , 缺少了遞歸結(jié)束條件 , 程序?qū)⒉荒苷_運(yùn)行 。 一般來(lái)說(shuō)構(gòu)成遞歸有兩個(gè)條件: ( 1) 遞歸結(jié)束條件及結(jié)束時(shí)的值; ( 2) 能用遞歸形式表示 , 并且遞歸向終止條件發(fā)展 。 思考 1. 事件過(guò)程域通用子過(guò)程的區(qū)別在哪里 ? 2. 變量和過(guò)程的作用域分別有哪些 ? 3. 過(guò)程參數(shù)在傳值和傳地址兩種方式上有什么不同 ? 4. 為什么只有函數(shù)可以遞歸調(diào)用 ? 第 7章 常用控件與系統(tǒng)對(duì)象 圖片框與圖像框 列表框與組合框 單選按鈕與復(fù)選鈕 常用系統(tǒng)對(duì)象 計(jì)時(shí)器 多窗體 ActiveX控件 框架 圖片框與圖像框 圖片框和圖像框都是 Visual Basic用來(lái)顯示圖形的兩種基本控件 , 用于在窗體的指定位置顯示圖形信息 。 圖片框比圖像框更靈活 , 且適用于動(dòng)態(tài)環(huán)境 , 而圖像框適用于靜態(tài)環(huán)境 , 即不需要再修改的位圖 、 圖標(biāo) 、 Windows元文件及其他格式的圖形文件 。 在 Visual Basic的工具箱中 , 圖片框和圖像框控件的圖標(biāo)如圖 71所示 。 圖片框和圖像框的默認(rèn)名稱分別為 PictureX和 ImageX( X為 1, 2, 3, … ) 。 圖 71 圖片框和圖像框圖標(biāo) 圖片框 ⑴ AutoSize屬性 ⑵ Picture屬性 ① Bitmap(位圖) ② Icon(圖標(biāo)) ③ Metafile(圖元文件) ④ JPEG( Joint Photographics Expert Group) ⑤ GIF( Graphics Interchange Format) ⑶ CurrentX和 CurrentY屬性 圖片框 ⑴ Print方法 Print方法用于在圖片框輸出顯示各種文本 。 該方法的語(yǔ)法格式與窗體的語(yǔ)法格式基本相同 , 只是前面的對(duì)象名必須寫(xiě)成一個(gè)圖片框名稱而已 。 ⑵ Cls方法 Cls方法用于清除圖片框上的文本和圖形 。 這些文本和圖形分別是程序運(yùn)行時(shí) , 圖片框用 Print方法顯示的文本和使用繪圖方法繪制的圖形 。 語(yǔ)法格式: 圖片框名 .Cls 圖片框 圖片框的常用事件有 Click和 DblClick事件 。 【 例 71】 如圖 72所示 , 在窗體上建立一個(gè)圖片框 , 然后分別在窗體和圖片框中顯示一些信息 。 程序運(yùn)行時(shí)要求:在程序的窗體上單擊鼠標(biāo) , 將顯示窗體和圖片框的當(dāng)前光標(biāo)位置 。 步驟 1 設(shè)計(jì)界面 圖 72 圖片框?qū)傩院头椒ㄅe例 圖片框 步驟 2 編寫(xiě)代碼 為窗體編寫(xiě)代碼如下: Private Sub Form_Click() Tab(10)。 Picture1 Tab 10 test Print Tab(10)。 Form Tab 10 test = 1000 = 800 CurrentX = 1000 CurrentY = 800 Print Form CurrentX,CurrentY Test Print Tab(10)。 CurrentX, CurrentY Picture1 CurrentX,CurrentY test Picture1 CurrentX,CurrentY test Picture1 CurrentX,CurrentY test Tab(15)。 , End Sub 圖像框 ⑴ BorderStyle屬性 ⑵ Stretch屬性 ⑶ Picture屬性 圖像框常用的事件有 Click和 DblClick事件。 【 例 72】 演示圖片框和圖像框裝載圖形的方法,以及相應(yīng)屬性對(duì)加載圖形的影響。 設(shè)計(jì)如圖 73所示的界面。程序運(yùn)行時(shí)要求:?jiǎn)螕簟把b載圖形”按鈕,在圖片框和圖像框中同時(shí)裝入指定的文件圖形。當(dāng)每次單擊“操作圖片框”按鈕,圖片框與其中的圖形適應(yīng)方式交替發(fā)生變化;每次單擊“操作圖像框”按鈕,圖像框與其中的圖形適應(yīng)方式也交替發(fā)生變化;單擊“卸載圖形”按鈕,同時(shí)清除兩框中的圖形。 圖像框 步驟 1 設(shè)計(jì)界面 按圖 73所示設(shè)計(jì)界面 。 窗體標(biāo)題設(shè)置為 “ 圖片框與圖像框 ” , 各控件除表 72中指定的屬性外 , 均采用默認(rèn)值 。 圖 73 圖片框與圖像框的操作 圖像框 步驟 2 編寫(xiě)代碼 Dim a
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1