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

正文內(nèi)容

visualbasic程序設(shè)計基礎(chǔ)教程第2版下ppt-在線瀏覽

2025-01-24 22:25本頁面
  

【正文】 od 8 = 0 Then ?每行統(tǒng)計八個字母出現(xiàn)的次數(shù) End If Next i End Sub 33 第 8章 過程 主要內(nèi)容: ? 過程的概念:過程的基本概念,過程的分類 ? 事件過程 ? 用戶自定義過程: FOUNCTION函數(shù)過程的定義, FOUNCTION函數(shù)過程的調(diào)用, ? SUB子過程的定義, SUB子過程的調(diào)用 ? 參數(shù)傳遞:值傳遞,地址傳遞,可選參數(shù)的使用,不定數(shù)量參數(shù)的使用 ? 過程、變量的作用域:過程的作用域,窗體(或模塊)級和全局級兩種 ? 變量的作用域,局部變量、窗體(或模塊)級變量和全局變量三類 ? 變量的生存期 ? 過程的嵌套調(diào)用和遞歸調(diào)用 ? 過程應(yīng)用實例 34 過程的概念 ? 引例 ? 例 求組合數(shù) C = 的值。如果我們用過去的方法求這個組合數(shù),程序中就會出現(xiàn)三處非常相似的求階乘的程序代碼段,顯然這樣的程序太累贅,不是一個好程序。這就是使用過程編程的思想。但是在實際應(yīng)用中,我們遇到的問題往往比較復(fù)雜,于是我們常常按自頂向下的規(guī)則,將復(fù)雜問題進(jìn)行分解,分解成若干個功能相對獨立的模塊,構(gòu)成這些模塊的程序被稱為過程,通常每個過程用來實現(xiàn)某個特定的功能。 36 ? 過程的分類 在 Visual Basic中過程一般分為:事件過程和通用過程兩大類。本書只介紹通用過程中的前兩個過程。 37 事件過程 ? Visual Basic系統(tǒng)為每個對象預(yù)先定義好了一系列的事件,用戶不能增加也不能刪除。處理或響應(yīng)事件的步驟就是事件過程。當(dāng)想讓對象響應(yīng)某個事件時,就編寫該事件過程的程序代碼。調(diào)用時需將一些參數(shù)傳遞給函數(shù)過程,函數(shù)過程利用這些參數(shù)進(jìn)行計算,然后通過函數(shù)過程名將結(jié)果返回給調(diào)用者。我們先定義一個求階乘的函數(shù)過程,然后通過改變實參值,多次調(diào)用該函數(shù)過程來求出組合數(shù)的值。具體界面設(shè)計及程序代碼如下: 42 Label1 Text1 Text2 Ole1 Label2 Command1 43 Private Sub Command1_Click() Dim m As Integer, n As Integer Dim cmn As Double n = CInt() m = CInt() cmn = factorial(m) / (factorial(n) * factorial(m n)) Label2 = cmn End Sub ?定義求階乘函數(shù) Function factorial(ByVal n As Integer) As Double Dim i As Integer Dim f As Double f = 1 For i = 1 To n f = f * i Next i factorial = f End Function 44 ? SUB子過程的定義 格式: Sub 子過程名 (形參表 ) 語句塊 [Exit Sub ] 語句塊 End Sub 45 ? SUB子過程的調(diào)用 格式 1: Call 子過程名 [(實參表 )] 格式 2:子過程名 實參表 說明:格式 1中,若有實參,則實參必須加上圓括號;若無實參,則圓括號可以省略。 46 參數(shù)傳遞 ? 如果過程有參數(shù)的話,在調(diào)用時會將實參傳遞給形參,形參表與實參表中對應(yīng)參數(shù)的取名可以不同,但一般要求形參表與實參表中的參數(shù)個數(shù)、數(shù)據(jù)類型、順序必須一一對應(yīng)。在 VB中,參數(shù)的傳遞方式有:值傳遞和地址傳遞兩種。被調(diào)過程的操作是在形參自己的存儲單元中進(jìn)行的。所以在過程體內(nèi)對形參的任何操作,都不會影響到實參,即按值傳遞是單向的。因為系統(tǒng)默認(rèn)情況下,參數(shù)的是按地址方式傳遞的。按地址傳遞是指當(dāng)調(diào)用過程時,系統(tǒng)將實參的地址傳遞給形參。 ? 為了區(qū)別起見,通常按地址傳遞時,在形參表相應(yīng)的參數(shù)前加上關(guān)鍵字 ByRef,當(dāng)然也可以省略該關(guān)鍵字。在定義 Function函數(shù)過程和Sub過程時,如果在某個參數(shù)前加上關(guān)鍵字Optional,那么表明該參數(shù)為可選參數(shù)。但在某些特殊情況下,我們可以使用不同數(shù)量的實參調(diào)用同一個函數(shù)或過程。 54 過程、變量的作用域 ? 在實際應(yīng)用中,一個 VB的應(yīng)用程序通常由多個過程組成,這些過程一般保存在窗體文件( .frm)或標(biāo)準(zhǔn)模塊文件( .bas)中,而在過程中變量往往是不可缺少的。過程、變量可被訪問的范圍我們稱之為過程、變量的作用域。 55 過程的作用域 過程的作用域分為:窗體(或模塊)級和全局級兩種。值得注意的是,這種過程只能被本窗體或本標(biāo)準(zhǔn)模塊中的過程調(diào)用。系統(tǒng)默認(rèn)情況下定義的過程即為全局級。變量按作用域可劃分為:局部變量、窗體(或模塊)級變量和全局變量三類。這類變量只能在聲明它的過程中使用,其它過程無法訪問它。不同的過程中可以有相同的變量名,它們彼此互不相干,但在同一過程中不能有相同的變量名。這類變量可被本窗體(或模塊)的任何過程訪問。該類變量可被應(yīng)用程序的任何過程訪問。全局變量的值在整個應(yīng)用程序中始終不會消失和重新初始化,只有當(dāng)整個應(yīng)用程序執(zhí)行結(jié)束時,它才會消失。根據(jù)變量的生存期,可將變量分為動態(tài)變量和靜態(tài)變量。 62 過程的嵌套調(diào)用和遞歸調(diào)用 ? 過程的嵌套調(diào)用 在一個過程執(zhí)行期間又調(diào)用另一個過程,稱為過程的嵌套調(diào)用。 63 ? 過程的遞歸調(diào)用 過程的嵌套調(diào)用指的是一個過程調(diào)用另一個不同的過程。有些問題具有遞歸特性,用遞歸調(diào)用解決這樣的問題顯得非常方便。本書只講求階乘問題。 64 過程應(yīng)用實例 ? 例 編寫一個函數(shù),實現(xiàn)將一個十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)的功能。程序代碼如下: 65 Private Sub Command1_Click() Dim mm As Integer, nn As Integer mm = InputBox(請輸入一個十進(jìn)制整數(shù): ) nn = InputBox(輸入將要轉(zhuǎn)換成什么進(jìn)制的數(shù): ) Print 十進(jìn)制整數(shù) amp。 轉(zhuǎn)換成 amp。 進(jìn)制 ,結(jié)果為: amp。 str m = m \ n Loop dectran = CDbl(str) End Function 66 例 利用遞歸求斐波那契序列的前 m項。由此可見,已知序列的前兩項,即可求得其后的一項。 m1 amp。 ,。菜單不僅可以提供人機(jī)對話界面,方便用戶選擇 ? 應(yīng)用程序的各種操作,而且還可以用來管理應(yīng)用程序,控制 ? 各個功能模塊的運(yùn)行。 ? 菜單可以看成是一個控件,但菜單控件不在 VB的工具箱 ? 中。 ? 菜單控件只能響應(yīng) Click事件。菜單編輯器的打開可以 ? 采用下列方法之一: ? ? ? ? 菜單編輯器只能在當(dāng)前活動窗體上打開,而不能在代碼 ? 窗口中打開。 72 圖 92 菜單編輯器 屬性區(qū) 編輯區(qū) 菜單列表框 73 ? ? 屬性區(qū)用來輸入或修改菜單項,設(shè)置菜單項的屬性。標(biāo)題( Caption屬性):用于輸入菜單名或命令名,這 ? 些名字出現(xiàn)在菜單欄或菜單項中。如果要通過熱 ? 鍵訪問菜單項,可在一個字母前插入 amp。在運(yùn)行時,該 ? 字母帶有下劃線( amp。 74 ? 索引( Index屬性):用于確定菜單控件在控件數(shù)組中 ? 的位置(注:當(dāng)若干個菜單控件定義成一個控件數(shù)組時,該 ? 屬性值有效) ? 幫助上下文 ID( HelpContextID屬性):用于為 context ? ID 指定唯一數(shù)值。協(xié)調(diào)位置( NegotiatePosition屬性):用于決定是否及 ? 如何在容器窗體中顯示菜單 75 ? 該屬性取值是 True ? 或 False,缺省值為 False ? 該屬性取值是 True或 False,缺省值為 True,當(dāng)該屬 ? 性值為 False時,相應(yīng)的菜單項變成灰色 ? 該屬 ? 性取值是 True或 False,缺省值為 True,當(dāng)該屬性值為 False時, ? 相應(yīng)的菜單項在菜單中不顯示 ? 76 ? ? 編輯區(qū)有 7個按鈕,用于編輯定義的菜單項。 按鈕:單擊時把在菜單列表框中選定的菜單項向右移 ? 一個等級,同時在菜單名前顯示一個內(nèi)縮符號( … )。 按鈕:單擊時把在菜單列表框中選定的菜單項向左移 ? 一個等級,同時刪除菜單名前內(nèi)縮符號( … ) ? 按鈕:單擊時把在菜單列表框中選定的菜單項在同級 ? 菜單內(nèi)向上移動一個位置 77 ? “插入”按鈕:單擊時在菜單列表框中選定的菜單項前插 ? 入一個新的同級空白菜單項 ? 將子菜單項以縮進(jìn)方 ? 式指出它們的分級位置或等級。 ? 例 91 設(shè)計一個 “下拉式菜單設(shè)計示例”窗體,窗體上有 ? 一個文本框控件和一個下拉菜單,窗體及各菜單項結(jié)構(gòu)如圖 ? 93所示,通過菜單操作來設(shè)置文本框的字體、字號、文字顏 ? 色和特殊效果,其中,“特殊效果”菜單中的各菜單項具有復(fù) ? 選功能。 79 圖 93 主菜單及各子菜單結(jié)構(gòu) Text1 80 ? ? ( 1)在當(dāng)前工程中添加一個窗體 ? ( 2)單擊工具欄上的“菜單編輯器”按鈕,打開菜單編輯 ? 器對話框 ? ( 3)在“標(biāo)題”欄輸入“字體 (amp。 ? ( 5)在“標(biāo)題”欄輸入“宋體”,此時在菜單列表框出現(xiàn)輸入 ? 的內(nèi)容,然后在“名稱”框內(nèi)輸入 Font1,在“索引”框內(nèi)輸入 ? 1,在“快捷鍵”下拉框內(nèi)選擇“ Ctrl+S”。F)”的下一級子菜單。 表 91 各菜單項的屬性設(shè)置 標(biāo)題 名稱 索引 快捷鍵 說明 字體 (amp。S) MFontSize 定義熱鍵 Alt+S … 10 Size1 1 定義成控件數(shù)組 Size1 … 15 2 … 20 3 顏色 (amp。R) Color1 定義熱鍵 R … 黃色 (amp。B) Color3 定義熱鍵 B 特殊效果 (amp。 ? 用鼠標(biāo)單擊窗體上的各下拉菜單項,或在代碼窗口的對 ? 象下拉列表框中選擇菜單項,都可以打開相應(yīng)的菜單項的 ? Click事件過程,在其中編寫代碼。各事件過程如下: ? Private Sub Effect1_Click() 39。設(shè)置文本框中文字是否粗體 ? If = True Then ? = False ? = False ? Else ? = True ? = True ? End If ? End Sub 88 ? Private Sub Effect4_Click() 39。設(shè)置文本框中文字是否有刪除線 ? If = True Then ? = False ? = False ? Else ? = True ? = True ? End If ? End Sub 90 設(shè)計彈出式菜單 ? 彈出式菜單是獨立于菜單欄的浮動菜單,通過單擊鼠標(biāo) ? 右鍵來激活,又稱為“快捷菜單”。彈出式菜單上顯示的菜單項內(nèi)容取決于按下鼠標(biāo)右鍵 ? 時指針?biāo)幍奈恢?。在設(shè)計 ? 菜單時,將菜單的“可見”屬性設(shè)置為False,這樣在程序運(yùn)行 ? 時菜單欄中不會顯示該菜單,要顯示彈出式菜單通過使用 ? PopupMenu方法。若省 ? 略,則在當(dāng)前窗體打開。 ? flags:是一個數(shù)值或常數(shù),用于指定彈出式菜單的位置 ? 和行為。 表 92 彈出式菜單的標(biāo)志設(shè)置值 常數(shù) 性質(zhì) 值 描述 vbPopupMenuLeftAlign 位置 0 缺
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1