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

正文內(nèi)容

visualbasic程序設(shè)計(jì)基礎(chǔ)教程第2版下ppt(編輯修改稿)

2025-01-03 22:25 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 但在某些特殊情況下,我們可以使用不同數(shù)量的實(shí)參調(diào)用同一個(gè)函數(shù)或過(guò)程。此時(shí),必須滿足如下條件:⑴在形參前加上ParamArray關(guān)鍵字;⑵該參數(shù)是一個(gè)Variant類型的數(shù)組變量;⑶它只能是參數(shù)列表中的最后一個(gè)參數(shù);⑷在該參數(shù)前不能加上 ByVal、 ByRef或 Optional關(guān)鍵字。 54 過(guò)程、變量的作用域 ? 在實(shí)際應(yīng)用中,一個(gè) VB的應(yīng)用程序通常由多個(gè)過(guò)程組成,這些過(guò)程一般保存在窗體文件( .frm)或標(biāo)準(zhǔn)模塊文件( .bas)中,而在過(guò)程中變量往往是不可缺少的。在Visual Basic中,過(guò)程和變量隨它們所處的位置不同,可被訪問(wèn)的范圍也不一樣。過(guò)程、變量可被訪問(wèn)的范圍我們稱之為過(guò)程、變量的作用域。弄清過(guò)程和變量的作用域?qū)τ谖覀兙帉?xiě) VB應(yīng)用程序來(lái)說(shuō)顯然十分重要。 55 過(guò)程的作用域 過(guò)程的作用域分為:窗體(或模塊)級(jí)和全局級(jí)兩種。 1.窗體(或模塊)級(jí) 是指在某個(gè)窗體或標(biāo)準(zhǔn)模塊內(nèi)定義的過(guò)程,即在定義的 Sub過(guò)程或 Function函數(shù)過(guò)程前加上了關(guān)鍵字 Private。值得注意的是,這種過(guò)程只能被本窗體或本標(biāo)準(zhǔn)模塊中的過(guò)程調(diào)用。 56 ? 2.全局級(jí) ? 是指在窗體或標(biāo)準(zhǔn)模塊中定義的過(guò)程,但在定義的 Sub過(guò)程或 Function函數(shù)過(guò)程前加上關(guān)鍵字 Public或省略該關(guān)鍵字。系統(tǒng)默認(rèn)情況下定義的過(guò)程即為全局級(jí)。 57 變量的作用域 ? 變量的作用域決定了變量可被訪問(wèn)的范圍。變量按作用域可劃分為:局部變量、窗體(或模塊)級(jí)變量和全局變量三類。 58 ? 1.局部變量 是指在過(guò)程體內(nèi)用 Dim聲明的變量或不聲明直接使用的變量。這類變量只能在聲明它的過(guò)程中使用,其它過(guò)程無(wú)法訪問(wèn)它。局部變量隨過(guò)程的調(diào)用而被分配存儲(chǔ)單元,并進(jìn)行變量的初始化,在過(guò)程體內(nèi)進(jìn)行數(shù)據(jù)的存??;當(dāng)過(guò)程結(jié)束時(shí),局部變量自動(dòng)消失,其所占用的存儲(chǔ)單元也隨之釋放。不同的過(guò)程中可以有相同的變量名,它們彼此互不相干,但在同一過(guò)程中不能有相同的變量名。 59 ? 2.窗體(或模塊)級(jí)變量 是指在一個(gè)窗體(或模塊)的任何過(guò)程之外,即在“通用”“聲明”中用 Dim聲明或用 Private聲明的變量。這類變量可被本窗體(或模塊)的任何過(guò)程訪問(wèn)。 60 ? 3.全局變量 是指在窗體(或模塊)或標(biāo)準(zhǔn)模塊的任何過(guò)程外,也就是在 “通過(guò)”“聲明”中用 Public聲明的變量。該類變量可被應(yīng)用程序的任何過(guò)程訪問(wèn)。但是如果是在窗體(或模塊)的“通過(guò)”“聲明”中聲明的全局變量,本應(yīng)用程序的其它模塊使用時(shí),應(yīng)在變量名前加上窗體名。全局變量的值在整個(gè)應(yīng)用程序中始終不會(huì)消失和重新初始化,只有當(dāng)整個(gè)應(yīng)用程序執(zhí)行結(jié)束時(shí),它才會(huì)消失。 61 變量的生存期 ? 當(dāng)一個(gè)過(guò)程被調(diào)用時(shí),系統(tǒng)將給該過(guò)程中的變量分配存儲(chǔ)單元,當(dāng)該過(guò)程執(zhí)行結(jié)束時(shí),是釋放還是保留變量的存儲(chǔ)單元,這就是變量的生存期問(wèn)題。根據(jù)變量的生存期,可將變量分為動(dòng)態(tài)變量和靜態(tài)變量。 ? VB應(yīng)用程序中的變量,如果不使用關(guān)鍵字Static語(yǔ)句聲明,則該變量屬于動(dòng)態(tài)變量,否則屬于靜態(tài)變量。 62 過(guò)程的嵌套調(diào)用和遞歸調(diào)用 ? 過(guò)程的嵌套調(diào)用 在一個(gè)過(guò)程執(zhí)行期間又調(diào)用另一個(gè)過(guò)程,稱為過(guò)程的嵌套調(diào)用。這里的過(guò)程包括 Sub過(guò)程和 Function函數(shù)過(guò)程。 63 ? 過(guò)程的遞歸調(diào)用 過(guò)程的嵌套調(diào)用指的是一個(gè)過(guò)程調(diào)用另一個(gè)不同的過(guò)程。如果一個(gè)過(guò)程直接調(diào)用其本身,則稱為過(guò)程的直接遞歸調(diào)用,如果一個(gè)過(guò)程通過(guò)另一個(gè)過(guò)程再調(diào)用本身,則稱為過(guò)程的間接遞歸調(diào)用。有些問(wèn)題具有遞歸特性,用遞歸調(diào)用解決這樣的問(wèn)題顯得非常方便。最典型的例子就是求階乘問(wèn)題和求漢諾塔問(wèn)題。本書(shū)只講求階乘問(wèn)題。漢諾塔問(wèn)題比較復(fù)雜,由于篇幅原因,這里不再展開(kāi)討論。 64 過(guò)程應(yīng)用實(shí)例 ? 例 編寫(xiě)一個(gè)函數(shù),實(shí)現(xiàn)將一個(gè)十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)的功能。 ? 分析:將十進(jìn)制整數(shù) m轉(zhuǎn)換成 n進(jìn)制的基本思想是輾轉(zhuǎn)相除法,即先用 m除以 n取余數(shù),然后再用它們的商除以 n到余數(shù),直到商為零時(shí),最后反相取余數(shù)即為所求。程序代碼如下: 65 Private Sub Command1_Click() Dim mm As Integer, nn As Integer mm = InputBox(請(qǐng)輸入一個(gè)十進(jìn)制整數(shù): ) nn = InputBox(輸入將要轉(zhuǎn)換成什么進(jìn)制的數(shù): ) Print 十進(jìn)制整數(shù) amp。 mm。 轉(zhuǎn)換成 amp。 nn amp。 進(jìn)制 ,結(jié)果為: amp。 dectran(mm, nn) End Sub Public Function dectran(ByVal m As Integer, ByVal n As Integer) As Double Dim str As String Dim r As Integer Do While m 0 r = m Mod n str = r amp。 str m = m \ n Loop dectran = CDbl(str) End Function 66 例 利用遞歸求斐波那契序列的前 m項(xiàng)。 分析:斐波那契序列為: 1, 1, 3, 5, 8, 13, 21, 34, … 。由此可見(jiàn),已知序列的前兩項(xiàng),即可求得其后的一項(xiàng)。程序代碼如下: Private Sub Command1_Click() Dim m As Integer, i As Integer, s As Integer m = InputBox(請(qǐng)輸入序列的項(xiàng)數(shù): ) Print 斐波那契序列的前 amp。 m1 amp。 項(xiàng)為: For i = 0 To m1 Print fibolist(i) amp。 ,。 s = s + 1 If s Mod 10 = 0 Then Print Next i End Sub 67 Public Function fibolist(ByVal n As Integer) As Integer If n = 0 Then fibolist = 1 ElseIf n = 1 Then fibolist = 1 Else fibolist = fibolist(n 2) + fibolist(n 1) End If End Function 68 第 9章 界面設(shè)計(jì) ? 菜單的設(shè)計(jì) ? 對(duì)話框的設(shè)計(jì) ? 工具欄的設(shè)計(jì) ? 狀態(tài)欄的設(shè)計(jì) ? 多窗體設(shè)計(jì) ? 多文檔界面設(shè)計(jì) 69 菜單的設(shè)計(jì) ? 在 Windows應(yīng)用程序窗口中,所有的操作都可以通過(guò)菜 ? 單來(lái)實(shí)現(xiàn)。菜單不僅可以提供人機(jī)對(duì)話界面,方便用戶選擇 ? 應(yīng)用程序的各種操作,而且還可以用來(lái)管理應(yīng)用程序,控制 ? 各個(gè)功能模塊的運(yùn)行。 ? 菜單分為下拉式菜單和彈出式菜單兩種基本類型。 ? 菜單可以看成是一個(gè)控件,但菜單控件不在 VB的工具箱 ? 中。 VB的菜單控件也具有外觀與行為的屬性,這些屬性值的 ? 設(shè)置是在菜單編輯器中設(shè)置的。 ? 菜單控件只能響應(yīng) Click事件。 70 菜單的設(shè)計(jì) ? 菜單編輯器 ? 設(shè)計(jì)下拉式菜單 ? 設(shè)計(jì)彈出式菜單 71 菜單編輯器 ? 用菜單編輯器可以創(chuàng)建新的菜單和菜單欄、在已有的菜 ? 單上增加新命令、用自己的命令來(lái)替換已有的菜單命令、以 ? 及修改和刪除已有的菜單和菜單欄。菜單編輯器的打開(kāi)可以 ? 采用下列方法之一: ? 選擇“工具”菜單中的“菜單編輯器”命令。 ? 單擊工具欄中的“菜單編輯器”按鈕 。 ? 在要建立菜單的窗體上單擊鼠標(biāo)右鍵,從彈出的快捷菜 ? 單中選擇“菜單編輯器”命令。 ? 菜單編輯器只能在當(dāng)前活動(dòng)窗體上打開(kāi),而不能在代碼 ? 窗口中打開(kāi)。菜單編輯器窗口如圖 92所示分為屬性區(qū)、編輯 ? 區(qū)和菜單列表框三部分。 72 圖 92 菜單編輯器 屬性區(qū) 編輯區(qū) 菜單列表框 73 ? ? 屬性區(qū)用來(lái)輸入或修改菜單項(xiàng),設(shè)置菜單項(xiàng)的屬性。各 ? 屬性的作用如下: ? 標(biāo)題( Caption屬性):用于輸入菜單名或命令名,這 ? 些名字出現(xiàn)在菜單欄或菜單項(xiàng)中。如果想在菜單中建立分隔 ? 符條,則應(yīng)在標(biāo)題框中鍵入一個(gè)連字符( )。如果要通過(guò)熱 ? 鍵訪問(wèn)菜單項(xiàng),可在一個(gè)字母前插入 amp。 符號(hào)。在運(yùn)行時(shí),該 ? 字母帶有下劃線( amp。 符號(hào)是不可見(jiàn)的),對(duì)于主菜單標(biāo)題, ? 按 ALT 鍵和該字母就可訪問(wèn)菜單或命令;對(duì)于子菜單,直 ? 接按下該字母鍵可以訪問(wèn)該菜單項(xiàng)。 74 ? 名稱( Name屬性):用于為菜單項(xiàng)定義控件名,僅用 ? 于訪問(wèn)代碼中的菜單項(xiàng),不出現(xiàn)在菜單中 ? 索引( Index屬性):用于確定菜單控件在控件數(shù)組中 ? 的位置(注:當(dāng)若干個(gè)菜單控件定義成一個(gè)控件數(shù)組時(shí),該 ? 屬性值有效) ? 快捷鍵( Shortcut屬性):用于為每個(gè)命令設(shè)置快捷鍵 ? 幫助上下文 ID( HelpContextID屬性):用于為 context ? ID 指定唯一數(shù)值。在 HelpFile 屬性指定的幫助文件中用該數(shù) ? 值查找適當(dāng)?shù)膸椭黝} ? 協(xié)調(diào)位置( NegotiatePosition屬性):用于決定是否及 ? 如何在容器窗體中顯示菜單 75 ? 復(fù)選( Checked屬性):用于切換菜單項(xiàng)的開(kāi)關(guān)狀態(tài), ? 設(shè)置菜單項(xiàng)的左邊是否顯示復(fù)選標(biāo)記 √。該屬性取值是 True ? 或 False,缺省值為 False ? 有效( Enabled屬性):用于決定是否讓菜單項(xiàng)對(duì)事件 ? 做出響應(yīng)。該屬性取值是 True或 False,缺省值為 True,當(dāng)該屬 ? 性值為 False時(shí),相應(yīng)的菜單項(xiàng)變成灰色 ? 可見(jiàn)( Visible屬性):用于設(shè)置菜單項(xiàng)是否顯示。該屬 ? 性取值是 True或 False,缺省值為 True,當(dāng)該屬性值為 False時(shí), ? 相應(yīng)的菜單項(xiàng)在菜單中不顯示 ? 顯示窗口列表( WindowList屬性):在 MDI應(yīng)用程序 ? 中,該屬性用于確定菜單控件是否包含一個(gè)打開(kāi)的 MDI子窗 ? 體列表。 76 ? ? 編輯區(qū)有 7個(gè)按鈕,用于編輯定義的菜單項(xiàng)。 ? 按鈕:?jiǎn)螕魰r(shí)把在菜單列表框中選定的菜單項(xiàng)向右移 ? 一個(gè)等級(jí),同時(shí)在菜單名前顯示一個(gè)內(nèi)縮符號(hào)( … )。一共 ? 可以創(chuàng)建四個(gè)子菜單等級(jí) ? 按鈕:?jiǎn)螕魰r(shí)把在菜單列表框中選定的菜單項(xiàng)向左移 ? 一個(gè)等級(jí),同時(shí)刪除菜單名前內(nèi)縮符號(hào)( … ) ? 按鈕:?jiǎn)螕魰r(shí)把在菜單列表框中選定的菜單項(xiàng)在同級(jí) ? 菜單內(nèi)向上移動(dòng)一個(gè)位置 ? 按鈕:?jiǎn)螕魰r(shí)把在菜單列表框中選定的菜單項(xiàng)在同級(jí) ? 菜單內(nèi)向上移動(dòng)一個(gè)位置 77 ? “下一個(gè)”按鈕:?jiǎn)螕魰r(shí)將開(kāi)始一個(gè)新的菜單項(xiàng) ? “插入”按鈕:?jiǎn)螕魰r(shí)在菜單列表框中選定的菜單項(xiàng)前插 ? 入一個(gè)新的同級(jí)空白菜單項(xiàng) ? “刪除”按鈕:?jiǎn)螕魰r(shí)刪除在菜單列表框中選定的菜單項(xiàng) ? ? 該列表框顯示菜單項(xiàng)的分級(jí)列表。將子菜單項(xiàng)以縮進(jìn)方 ? 式指出它們的分級(jí)位置或等級(jí)。 78 設(shè)計(jì)下拉式菜單 ? 下面通過(guò)一個(gè)例子來(lái)說(shuō)明下拉式菜單的設(shè)計(jì)過(guò)程。 ? 例 91 設(shè)計(jì)一個(gè) “下拉式菜單設(shè)計(jì)示例”窗體,窗體上有 ? 一個(gè)文本框控件和一個(gè)下拉菜單,窗體及各菜單項(xiàng)結(jié)構(gòu)如圖 ? 93所示,通過(guò)菜單操作來(lái)設(shè)置文本框的字體、字號(hào)、文字顏 ? 色和特殊效果,其中,“特殊效果”菜單中的各菜單項(xiàng)具有復(fù) ? 選功能。要求:程序運(yùn)行時(shí),若文本框中沒(méi)有文字內(nèi)容,各 ? 菜單項(xiàng)必須設(shè)置為不可選,而當(dāng)在文本框中輸入了內(nèi)容后, ? 各
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1