程式語言Visual Basic 變數的可視範圍

Slides:



Advertisements
Similar presentations
1 程式語言 Visual Basic 循序結構、選擇結構 黃瀧輝 老師 Long Hwai,Huang.
Advertisements

Visual Basic 程序设计 第四讲.
第2章 Visual Basic 6.0编程基础 (第一部分)
題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A 姓名:黃冠嘉 教師:謝慶存
第 1 章 公共基础知识 第 2 章 Visual Basic程序开发环境 第 3 章 对象及其操作 第 4 章 数据类型及其运算
計算機程式及實習 期末報告 題目:超級猜一猜
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
第10章 处理图形 Visual Basic 程序设计教程.
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
課程名稱:程式設計 授課老師:________
第四章 控制结构.
赋值语句与输入、输出语句.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
南台科技大學 機械工程系 車輛一甲 學號:4A 學生:黃信成 老師:謝慶存
客户端用Net-Library和SQL SERVER连接
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
高等医药院校药学类第三轮规划教材——大学计算机基础
Visual Basic 期中報告 組長:沈亞臻 組員:蔣佳育 張庭茹
第五章 数组.
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
Visual Basic程序设计.
ASP VBScript 基础知识.
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
第二章 Visual Basic语言基础.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
数组 第 6 章.
第5章 数组 Visual Basic程序设计.
Visual Basic程序设计 第七章 数组
Visual Basic 程式設計基礎(一)
程式語言 -Visual Basic 變數、常數與資料型態.
副程式 將可以重複使用的程式區塊獨立而成 寫在Private Sub 函數名稱() 副程式碼 End Sub 呼叫副程式
Visual Basic程序设计 第八章 过程 -子程序和函数
过程 第 7 章.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
初识Visual Basic.
Visual Basic程序设计基础 计算机科学学院.
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
流程控制、陣列 台南市聖功女子高級中學 毛全良.
Visual Basic 程序设计 教师:王 杨 电话:
程式語言Visual Basic 傳址與傳值
第12章 VBA模块设计.
RWM600 (13.56MHz) Reader Antenna.
RWM600 (13.56MHz) Reader Antenna.
新觀念的 VB6 教本 第 6 章 資料型別.
PCR300 (13.56MHz) Reader RS232/USB.
Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾.
第 8 章 过程.
Visual Basic程序设计.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿.
VB程序设计语言 主讲教师:王 杨.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
金融資訊管理 撰寫VBA的基本事項.
VB语言程序设计教程.
第2章 VB语言基础 本章要点: 数据类型 常量和变量 运算符表达式 函数.
小结 郭清溥.
程序基础 2019/4/25.
第二章、第三章错题分析.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年10月18日.
1位选手参加了歌唱比赛,评委们的评分如下:
Print方法和函数 2019/5/19.
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
VB语言基础 一、 常量 1 定义:在程序运行过程中不能发生改变的量 2 分类 整型常量: 整数 不带小数点的数 数值常量
程序调试与错误处理.
Presentation transcript:

程式語言Visual Basic 變數的可視範圍 黃瀧輝 老師 Long Hwai,Huang

壹.1 資料的種類 在VB中所使用到的資料包括兩種: 一、常數:不會因程式執行過程而 改變數值。 二、變數:數值可能隨時改變。 程式在運作的過程中,變數都會佔用某一塊記憶體。 掌握變數在程式中的變化卻是程式能不能寫好的關鍵。

壹.2 變數的使用方式  未經宣告即使用的變數 Ex:Dim x as integer ‘宣告變數x y = x + 2 ‘ y未經宣告變數  強制變數宣告 Option Explicit Ex:如上例會出 現如右錯誤訊息

壹.3 變數的使用方式探討 Ⅰ A B FunctionNumber = InputBox("請輸入一個數字", "輸入視窗") 壹.3 變數的使用方式探討 Ⅰ FunctionNumber = InputBox("請輸入一個數字", "輸入視窗") If FunctionNumber < 10 Then MsgBox FunctionNumber & " < 10 " ElseIf Functionmumber > 10 Then MsgBox FunctionNumber & " > 10 " ElseIf FunctionNumber = 10 Then MsgBox FucntionNumber & " = 10 " End If A FunctionNumber = InputBox("請輸入一個數字", "輸入視窗") If FunctionNumber < 10 Then MsgBox FunctionNumber & " < 10 " ElseIf FunctionNumber > 10 Then MsgBox FunctionNumber & " > 10 " ElseIf FunctionNumber = 10 Then MsgBox FunctionNumber & " = 10 " End If B

壹.4 變數的使用方式探討 Ⅱ 末經宣告即使用的變數,程式寫作的方便性較佳,但往往因為誤打或某些原因造成程式在偵錯上較為困難。 壹.4 變數的使用方式探討 Ⅱ 末經宣告即使用的變數,程式寫作的方便性較佳,但往往因為誤打或某些原因造成程式在偵錯上較為困難。 同時在程式的可讀性上也會較差。也較難判別變數在程式執行過程中的「值」變化。

壹.5 變數的生命週期 在程式執行的過程中,變數會佔用某一塊記憶體空間。 變數在程式的執行中,佔有一定的存活期。 變數在程式的執行中,擁有一定的使用範圍(可視範圍)。

貳.1 變數的種類 依照變數可使用的範圍及記錄資料的內容,可將變數歸納為: 全域變數(Global Variable) 區域變數(Local Variable) 靜態變數(Static Variable)

貳.2 全域變數(Global Variable) Ⅰ 基本定義 在該表單程式(或模組程式)的全部區域都可以使用,不受限「副程序」範圍限制。 凡撰寫在副程序之前的變數均是。 生命週期 起:程式執行到變數宣告處。 結:表單程式(或模組程式)結束時。

貳.3 全域變數(Global Variable) Ⅱ 例子 某一個Form的程式碼如下: Dim x As Integer ‘x為全域變數 Sub SubX() End Sub Function FunX() as Integer End Function

貳.4 全域變數(Global Variable) Ⅲ 優/缺點 全域變數可供該表單程式(或模組程式)中的全部副程序來使用,則若某一副程序更改變數值的話,其他使用這個變數值的副程序也會受到影響。 這在程式的偵錯上會較為困難。

例子 x y 0 0 2 0 2 1 Dim x, y As Integer Sub subx() x = x + y + 2 Print x End Sub Sub suby() y = x - 1 Print y Sub Form_Load() x = 0 y = 0 subx suby x y 0 0 2 0 2 1

參.1 區域變數(Local Variable) Ⅰ 基本定義 在副程序中宣告使用的變數。 僅限於宣告區域副程序使用。 生命週期 起:程式執行到副程序中的變數宣告處。 結:該副程序結束(執行到End Sub 或End Function)時。

參.2 區域變數(Local Variable) Ⅱ 例子 某一個Form的程式碼如下: Sub SubX() Dim x as integer ‘x為區域變數 End Sub Function FunX() as Integer Dim y as integer ‘y為區域變數 End Function

參.3 區域變數(Local Variable) Ⅲ 優/缺點 使用區域變數,則變數的使用範圍較單純,在程式的偵錯上較方便。 不過若單純的區域變數將無法記錄上次在這個區域中的執行結果。

例子 subx.x suby.x × × 0 × 2 × × 0 × 5 × × Sub subx() Dim x As Integer Print x End Sub Sub suby() x = x + 5 Sub Form_Load() subx suby { subx } subx.x suby.x × × 0 × 2 × × 0 × 5 × ×

肆.1 靜態變數(Static Variable) Ⅰ 基本定義 在VB中利用Static保留字來宣告的區域變數。 會保留該變數上次執行的內容值。 生命週期 起:程式第一次執行到副程序中的變數宣告處。 結:表單程式(或模組程式)結束時。

肆.2 靜態變數(Static Variable) Ⅱ 例子 某一個Form的程式碼如下: Sub SubX() Static x as integer ‘x為靜態變數 End Sub Function FunX() as Integer Dim y as integer ‘y為區域變數 End Function

肆.3 靜態變數(Static Variable) Ⅲ 優/缺點 使用靜態變數保有區域變數,使用範圍較單純的優點,在程式的偵錯上較方便。 改正區域變數無法記錄上次在這個區域中執行結果的問題。

例子 x y × × 0 × 0 0 2 0 2 1 {2} × 2 0 4 0 4 1 {4} × Sub subx() Static x As Integer Dim y As Integer x = x + 2 y = y + 1 Print "x = " & x; " y =" & y End Sub Sub Form_Load() subx x y × × 0 × 0 0 2 0 2 1 {2} × 2 0 4 0 4 1 {4} ×

伍.1 靜態變數(Static Variable) Ⅳ 若整個副函式區域中的變數都要宣告成靜態變數的話,則: Static Sub SubName() Dim x as integer ‘x為靜態變數 Dim y as integer ‘y為靜態變數 ……. End Sub

陸.1 Public / Private 的影響 Ⅰ Public / Private 為VB中的保留字,會影響變數的使用範圍。 當有兩個以上的Form或是模組時,可用來控制變數的使用範圍。 主要用來修飾表單或是模組的變數、常數、副程式等…。

陸.2 Private & Public 在表單模組中冠上Private保留字表示封閉的,其他模組的程式不能使用。 《表單模組A》 private varA as integer …….. 《表單模組B》 varA = 4 ‘Error!!不能使用其他模組的私有變數。 ……..

陸.3 Private & Public 在表單模組中冠上Public保留字允許其他的表單模組使用,不過需冠上表單名稱。 《FormA》 public varA as integer …….. 《FormB》 FormA.varA = 4 ‘必須要冠上表單名稱才能使用。 ……..

陸.4 未冠上Private/Public的情形 例子 相當於 變數 Dim X 常數 Const C = 123 程序 Sub SubX() 自訂資 Type NewType 料型別 I as Integer S as String End Type Private X Private Const C=123 Public Sub SubX() Public Type NewType I as Integer S as String End Type

陸.5 Private/Public的抉擇 變數的使用範圍廣,則偵錯的難度愈高。 因此,使用Public要較Private更難進行程式的偵錯,雖然Public在程式寫作上的方便性較佳,不過建議儘量少使用,尤其是變數部分。

陸.6 Public / Private 的影響 Ⅱ Form1 Form2 Private B1 Private A1 Dim A2 public A3 Sub SubX1() Dim A4 End Sub Sub SubX2() Dim A5 Form2 Private B1 Public B3 Sub SubY1() Dim B4 End Sub Sub SubY2() Dim B5

陸.7 Public / Private 的影響 Ⅲ 使用Public會讓變數的使用範圍增廣,同樣的將會增加偵錯的難度。 Public Function GetData() as Integer GetData = 欲取出的資料 End Function

陸.8 Public / Private 的影響 Ⅳ Form1 Form2 Private B1 Public B3 Private A1 Dim A2 public A3 Public Function GetA1() as integer GetA1 = A1 End Sub Public Sub SetA1(Byval pam) A1 = pam Form2 Private B1 Public B3 Sub SubY1() B1 = Form1.GetA1 End Sub Sub SubY2() Form1.SetA1(10)

柒.1 變數宣告的原則 儘量將變數宣告為區域變數。 若要提供給多個程序共用,才宣告成全域變數。 若要記錄程式執行的狀態,則宣告為靜態變數。

柒.2 練習看看 這些部分的x,y,z變數值各為何? Dim x as Integer Sub SubX() Static y as Integer Dim z as Integer x = y + z + 1 y = x + z + 2 z = x + y + 3 End Sub Private Sub Form_Load() SubX 這些部分的x,y,z變數值各為何?