《什麽是变数》PPT课件.ppt

上传人:牧羊曲112 文档编号:5578146 上传时间:2023-07-30 格式:PPT 页数:39 大小:273.99KB
返回 下载 相关 举报
《什麽是变数》PPT课件.ppt_第1页
第1页 / 共39页
《什麽是变数》PPT课件.ppt_第2页
第2页 / 共39页
《什麽是变数》PPT课件.ppt_第3页
第3页 / 共39页
《什麽是变数》PPT课件.ppt_第4页
第4页 / 共39页
《什麽是变数》PPT课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《《什麽是变数》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《什麽是变数》PPT课件.ppt(39页珍藏版)》请在三一办公上搜索。

1、什麼是變數?,我們在VB裡用程式碼做資料運算時,因為CPU沒有記憶的功能,因此剛做完處理的資料馬上便消失,為了能取出剛才的運算結果,所以電腦語言會有變數與常數這兩種東西在VB裡,為了方便及其它的原因,我們把資料存到記憶體裡並不是用位址來指定存在記憶體裡,它是用文字來代表一個記憶體位址,這就是變數這個記憶體的位址是由電腦自己指定,也就是說我們不能指定資料要放在記憶體的某某位址上,程式每次使用文字內所對應的記憶體位址不一定相同,如何使用變數儲存資料至記憶體?,使用方式:變數=資料X=X+1 在這裡的=並不是指等於這裡的=是說指定複製給的意思,VB變數命名,變數的命名是有一定的規則 每一個變數第一個

2、字一定要以英文字母命名(=255字元)每一個變數從第二個字開始可以都以英文字母命名 每一個變數從第二個字母開始可以用數字來命名 每一個變數不可用空白來命名,但可以用底線命名 每一個變數均不可以中文字、全型字命名(VB中文版可以使用中文字來做為變數的命名)命名時,字母大小寫皆可 變數名稱不可使用VB的保留字變數的命名最好具有意義,以提高可讀性且易記若變數未設定初值時,數值變數預設值為0,字串變數預設值為空字串,VB基本資料型態,變數,數值變數,字串變數,布林變數日期變數物件變數自由型態變數,位元組變數整數變數長整數變數單精確度變數倍精確度變數貨幣變數,固定長度字串變數變動長度字串變數,數值變數,

3、布林數(Boolean)、位元組(Byte)、整數(Integer)、長整數(Long)、單精度浮點數(Single)及雙精度浮點數(Double)布林數:能儲存0(False)及-1(True)兩種整數的變數,也就是一個bit大小的記憶體空間所能表示的資料(但事實上它還是佔用1Byte的記憶體空間)。位元組:能儲存8組以0、1表示數值的變數,也就是用了1Byte的記憶體空間,值的範圍為0 255。整數%:能存16組以0、1表示數值的變數,用了記憶體2Byte的大小,值的範圍為-32768 32767。,數值變數,長整數&:能存32以0、1表示數值的組變數,佔記憶體4Byte的空間,值的範圍為

4、-2,147,483,648 2,147,483,647。單精度浮點數!:使用32位元(4Byte=32bit)來表示可包含小數數值的變數,值的範圍為,負數-3.402823E38-1.401298E-45,正數1.401298E-45 3.402823E38。雙精度浮點數#:使用64位元(8Byte)來表示可包含小數數值的變數,值的範圍為,負數-1.79769313486231E308-4.94065645841247E-324,正數4.94065645841247E-324 1.79769313486231E308。Currency:使用64位元來表示可包含小數數值的變數,15位數整及4位

5、小數,值的範圍為-922,337,203,685,477.5808 922,337,203,685,477.5807。,數值變數,字串變數$,不固定長度與固定長度兩種不固定長度:沒有限定字串長度的字串變數,一般宣告就是沒有限定長度。固定長度:限定字串長度的字串變數,無論文字資料的長短,儲存的資料長度不變。,變數宣告,宣告法:於程式裡使用Dim敘述宣告 Private Sub Form_Load()Dim A As Integer Dim B As Date Dim C As Single Dim D As Object End Sub 動態宣告:動態宣告變數也就是執行該程式時,電腦會隨機分配記

6、憶體位置給變數存放資料,而當程式執行結束而程式碼被移出記憶體時,變數也隨之移出記憶體,VB允許不宣告變數就可以使用,較彈性但是不嚴謹,變數宣告,靜態宣告:靜態宣告變數也就是執行該程式時,電腦會分配固定記憶體位置給變數存放資料,當程式執行結束而程式碼被移出記憶體時,該記憶體位置保留,再執行該程式時,電腦又分配相同記憶體位置給變數存放資料,使用相同名稱來當變數而每次執行所分配到的記憶體位置相同,因此該程式可以享有相同的資訊。宣告法,於程式裡使用Static敘述宣告:Private Sub.Static A As Integer Static B As Date Static C As Single

7、 End Sub,變數宣告,全域宣告:全域宣告變數也就是執行不同的副程式使用相同名稱的變數時,電腦會分配固定記憶體位置給變數存放資料,當各副程式執行結束而程式碼被移出記憶體時,該記憶體位置保留,再執行任一個副程式時,電腦又分配相同記憶體位置給變數存放資料,使用相同名稱來當變數而每次執行所分配到的記憶體位置相同,因此各副程式可以享有相同的資訊。宣告法:於Form的(一般區域)宣告,所謂的一般區域位於表單裡所有的Sub.End Sub及Function.End Function的最頂端區域,如下圖所示,變數宣告,VB6不支援宣告變數型態就直接設定資料 Private Sub Command1_Cl

8、ick()Dim MyVal As Long=123 End Sub Private Sub Command1_Click()Dim MyVal As Long MyVal=123 End Sub宣告變數直接給值的功能要等到VB.Net版本起才開始支援!,變數的生命週期,在一個Sub或Function裡所宣告的變數,它所佔用的記憶體的時間是較短暫的,在這些副程式裡所使用的變數會使到到副程式執行完畢後就會把記憶體空間再釋放了,下一次在執行這一個副程式時,雖然變數名稱一樣,但它已經是另一個新開啟的變數,所以結果為空白或0解決法,把他設為全域的變數,表單全域的變數,Dim A As Long Pri

9、vate Sub Command1_Click()A=1234567 End SubPrivate Sub Command2_Click()MsgBox A End Sub,表單全域的變數,Dim A As Long Private Sub Command1_Click()Dim A As Long A=1234567 End Sub Private Sub Command2_Click()MsgBox A End Sub,結果?,常數,文數字常數,符號常數,由一連串字元組合而成,前後需使用雙引號。如:“Trust me“3+5=?“3-6-1999“,程式設計時,常數或文字需要重覆出現,應用

10、之。如:Const Pi=3.14159 Print Pi r=10 Print Pi*Pi*r優點:增加程式可讀性 修改容易,常數,常數就是固定的資料,我們使用Const來宣告Const PI=3.1415926535Const PI=3.1415926535 Const HlfD=圓的面積等於半徑的平方乘上園周率Private Sub Command1_Click()Print HlfD;10 2*PI 這個程式碼會在表單上印出半徑為10的圓面積 End Sub,練習一,由ToolBox拖曳TextBox(文字方塊)及Command(命令按鈕)至表單設定Command1的Caption屬性

11、為“中華民國國父”滑鼠游標移到Command1上雙擊兩下加入以下程式碼 Private Sub Command1_Click()NFather=“孫中山”Text1.Text=Nfather End Sub 執行程式,VB數值運算,運算子,做運算:VB做運算時格式為變數=運算式,關係運算子,邏輯運算子,AND:且OR:或NOT:否,VB數值運算-攝氏溫度與華氏溫度變換,由ToolBox拖曳2個命令按鈕(Command)物件及2個文字方塊(TextBox)物件。至屬性對話框修改屬性:Command1.Caption=轉華氏 Command2.Caption=轉設氏 Text1.Text=”Tex

12、t2.Text=“”在Command1及Command2上雙擊,加入程式碼:Private Sub Command1_Click()Text2.Text=Val(Text1.Text)*9/5+32 End Sub Private Sub Command2_Click()Text1.Text=(Val(Text2.Text)-32)/9*5 End Sub執行程式,物件事件,Change Change最常見於TextBox或RichTextBox等文字方塊,當文字內容被修改(Text屬性改變)時,VB變會執行Change事件內的副程式。Click Click最常見於各可視物件裡,當物件被滑鼠點

13、一下時,VB變會執行Click事件內的副程式。DBClick DBClick最常見於各可視物件裡,當物件被滑鼠雙擊時,VB變會執行DBClick事件內的副程式。DragDrop DragDrop最常見於各可視物件裡,當另一物件被拖曳至物件裡並放開滑鼠按鍵時,VB變會執行DragDrop事件內的副程式。此事件會傳回數值Source、X及Y,Source是指那個物件被拖曳,X是滑鼠在物件放開時的X座標,Y是滑鼠在物件放開時的Y座標,物件事件,DragOver DragOver最常見於各可視物件裡,當另一物件被拖曳至物件裡時,VB變會執行DragOver事件內的副程式。此事件會傳回數值Source、

14、X、Y及State,Source是指那個物件被拖曳,X是滑鼠在物件放開時的X座標,Y是滑鼠在物件放開時的Y座標,State是指被拖曳物件的移動狀態,當State=0示移入,當State=1示移出,當State=2示移動中GotFocus GotFocus幾乎是各物件都有,當物件得到Focus(焦點、焦點)的一瞬間之前,VB變會執行GotFocus事件內的副程式。KeyDown KeyDown最常見於各可視物件裡,當得到焦點的物件正按下鍵盤按鈕時,VB變會執行KeyDown事件內的副程式。此事件會傳回數值KeyAsciit,KeyAscii會傳輸入文字的AscII碼的代號,物件事件,KeyPre

15、ss KeyPress最常見於各可視物件裡,當得到焦點的物件正按了鍵盤按鈕時,VB變會執行KeyPress事件內的副程式。此事件會傳回數值KeyCode、Shift,KeyCode會傳回VbKey值,表示正按下那一按鍵KeyUp KeyUp最常見於各可視物件裡,當得到焦點的物件正方開鍵盤按鈕時,VB變會執行KeyUp事件內的副程式。此事件會傳回數值KeyCode、Shift,KeyCode會傳回VbKey值,表示正按下那一按鍵,Shift傳回值表示是否按下Alt、Ctrl及Shift等鍵LostFocus LostFocus幾乎是各物件都有,LostFocus與GotFocus相反,當物件轉移

16、Focus(焦點、焦點)給其它物件的一瞬間之前,VB變會執行LostFocus事件內的副程式。,物件事件,MouseDown MouseDown最常見於各可視物件裡,當滑鼠在物件上按下任一按鍵時,VB變會執行MouseDown事件內的副程式。此事件會傳回數值Button、Shift、X及Y值,Button會傳回被按下的滑鼠按鍵代碼,Shift傳回值表示是否按下鍵盤的Alt、Ctrl及Shift等鍵,X是滑鼠在物件按下時的X座標,Y是滑鼠在物件按下時的Y座標MouseMove MouseMove最常見於各可視物件裡,當滑鼠在物件上移動時,VB變會執行MouseMove事件內的副程式。此事件會傳回

17、數值Button、Shift、X及Y值,Button會傳回被按下的滑鼠按鍵代碼,Shift傳回值表示是否按下鍵盤的Alt、Ctrl及Shift等鍵,X是滑鼠在物件的X座標,Y是滑鼠在物件的Y座標,物件事件,MouseUp MouseUp最常見於各可視物件裡,當滑鼠在物件上放開任一按鍵時,VB變會執行MouseUp事件內的副程式。此事件會傳回數值Button、Shift、X及Y值,Button會傳回被放開的滑鼠按鍵代碼,Shift傳回值表示是否按下鍵盤的Alt、Ctrl及Shift等鍵,X是滑鼠在物件放開時的X座標,Y是滑鼠在物件放開時的Y座標,基本語法 IF,IF敘述讓你能夠做邏輯的判別。IF

18、判別的兩種邏輯,True為真,其數值不為零;False為錯、失效,其數值為零。9 3 為 True(真)4-4 且 X 12 時,會把他寫成-4 X 12,然而這種邏輯式在VB裡是錯誤的因此我們要把他改寫成-4 X AND X 12 才正確。,基本語法 IF,IF的用法(1)當邏輯運算為真,執行Then後的敘述 IF 邏輯運算式 Then 你的演算法 Ex:Private Sub Command1_Click()A=10 B=5 IF A B Then Me.Caption=A B End Sub Private Sub Command1_Click()Tmp=小瓜瓜 TmB=小呆呆 IF T

19、mp=TmB Then Me.Caption=兩字串相等 End Sub,基本語法 IF,IF的用法(2)當邏輯運算為真,執行Then後的敘述,若邏輯運算為錯,執行Else後的敘述 IF 邏輯運算式 Then 你的演算法 Else 你的演算法 Ex:Private Sub Command1_Click()A=10 B=5 IF A B Then Me.Caption=A B Else Me.Caption=A=B End Sub Private Sub Command1_Click()Tmp=小瓜瓜 TmB=小呆呆 IF Tmp=TmB Then Me.Caption=兩字串相等 Else M

20、e.Caption=兩字串不相同 End Sub,基本語法 IF,IF的用法(3)與(2)相同功能 IF 邏輯運算式 Then 你的演算法1 你的演算法2 為真時的程式碼區域.你的演算法NElse 你的演算法1 你的演算法2 為錯時的程式碼區域.你的演算法N End IF,基本語法 Select,Select與IF兩個雖然都是提供你條件選擇的功用但兩者仍然不一樣IF提供的是邏輯上的運算選擇,而Select提供的則是條件邏輯上的選擇。Select的用法:Select Case 變數名稱 Case 條件1 你的演算法1Case 條件2,條件3 你的演算法2Case 條件4 To 條件5 你的演算法

21、3.Case Else 你的演算法N End Select,基本語法 Select,Private Sub Command1_Click()A=10 Select Case A Case 0,1,2,3,4 Me.Caption=A 小於 5Case 5 Me.Caption=A 等於 5Case 6 Me.Caption=A 等於 6Case Else Me.Caption=A 大於 6End Select End Sub,結果?,基本語法 For,大量的有規則性的資料要做處理時,我們要把程式碼逐一的打出十分的不符合經濟效益,因此程式語言中會有重覆式的架構敘述來讓使用者簡化程式設計For.N

22、ext 便是VB重覆式架構中的敘述之一,用法是:For 變數=起始值 To 最終值 Step 間隔值 你的程式碼 Next 變數Next 變數這一行變數表示變數可以寫出或省略,基本語法 For,若想要計算1+2+3,使用For Next該怎麼寫?Private Sub Command1_Click()For N=1 To 3 MyVal=MyVal+N Next MsgBox MyVal End Sub,Private Sub Command1_Click()MyVal=MyVal+1 MyVal=MyVal+2 MyVal=MyVal+3 MsgBox MyVal End Sub,蜂巢式迴圈

23、,Private Sub Command1_Click()For N=1 To 2 第一層 MyVal=MyVal+N For M=1 To 3 第二層 MyVal=MyVal+M Next 第二層 Next 第一層 MsgBox MyVal End Sub,Exit For敘述,在For.Next迴圈裡加入Exit For敘述便會跳出一層For.Next迴圈,Do Loop,Do.Loop是個無限迴圈的敘述,因此會不斷的重覆執行,所以我們要加入判斷敘述以終止這個無窮無盡的迴圈。用法是:Do(開啟位置)你的程式碼 Loop(結束位置,再跳回到Do)若想要計算1+2+3,使用Do.Loop該怎麼

24、寫?Do N=N+1 T=T+N If N=3 Then Exit Do Loop Print T,Do Loop,上面的範例是以If且配合Exit Do的方式來結束Do.Loop的執行,跳出Do.Loop迴圈,但Do.Loop本身也有判斷敘述,也就是Until或While,分成前測試與後測試兩種。Until是指符合條件時則離開Do.Loop,While是指不符合條件時則離開Do.Loop 前測試:Do Until 判斷式.Loop Do While 判斷式.Loop 後測試:Do Loop Until 判斷式 Do Loop While 判斷式,有可能不執行程式碼,至少執行一次程式碼,Do Loop,前測試是在執行一次迴圈敘述前先判斷是否符合條件,若符合條件時則離開Do.Loop迴圈後測試是在執行完一次迴圈敘述後再判斷是否符合條件,若符合條件時則離開Do.Loop迴圈前測試:Do Until N=5(或Do While N 5)Debug.Print N N=N+1 Loop 結果?後測試:Do Debug.Print N N=N+1 Loop Until N=5(或Loop While N 5)結果?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号