1 / 86

程式設計 Visual Basic 6.0

程式設計 Visual Basic 6.0. 許翠婷 E-mail : tsuiting@scu.edu.tw. 圖片盒 v.s. 影像工具. Pic v.s. img 座標- 原點 ( 0,0 ) X 軸- left +:向右 -:向左 Y 軸- top +:向下 -:向上 計量單位-( twip 、 dot 、 pixel 、 inch 、 mm 、 cm ) 1440 twips = 1 inch 567 twips = 1 cm. 圖檔格式.

anoush
Télécharger la présentation

程式設計 Visual Basic 6.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 程式設計 Visual Basic 6.0 許翠婷 E-mail : tsuiting@scu.edu.tw

  2. 圖片盒 v.s. 影像工具 • Pic v.s. img • 座標- • 原點 (0,0) • X 軸- left +:向右 -:向左 • Y 軸- top +:向下 -:向上 • 計量單位-(twip、dot、pixel、inch、mm、cm) • 1440 twips = 1 inch • 567 twips = 1 cm

  3. 圖檔格式 • .bmp(Windows Bitmap)-BMP圖檔格式是以Bit-Mapped方式所組成的圖形檔案 ,未壓縮。 • .gif(Graphics Interchange Format)-非破壞性壓縮(lossless)、失彩度。工程設計圖、素描圖 • .jpeg(Joint Photographic Experts Group )-破壞性壓縮(lossful)、失解析度。風景圖 • .wmf(Windows Meta File)-繪圖指令。 • .ico • .dib \Program Files\Microsoft Visual Studio\Common

  4. 圖片盒 (Picture Box)v.s. 影像工具(Image) • pic v.s. img • PictureBox功能強,就好像被布置表單上的[表單],可使用Line、Cirlce等表單的繪圖方法,這些繪圖方法除了可以在表單上面繪圖之外,也可以使用於 PictureBox,在 PictureBox 之中繪圖,但 Image 卻不具備繪圖的功能。 • 相對的,PictureBox 很浪費系統資源,如果只是為了顯示圖片,使用Image 比較好,若需要額外繪圖,則使用 PictureBox • 屬性 • top、left • width、height • Visible。

  5. 物件的垂直順序 • 先建的物件,置於較下層(ob1) • 後件的物件,置於較上層(ob2) • 當物件重疊放置,visible 屬性均為true時,僅顯示最上層物件(ob2) • 若欲看見下層之物件,需將其上層物件(ob2) visible 屬性設為 false

  6. 敘述、識別項 • 何謂敘述(Statement)? • 最小可執行單元 • 組成:識別項、保留字、特殊符號、運算式、常值 • 識別項(identifier)的命名規則 • 第一個字為字母(A-Z或中文)、第二個字以後可為字母、數字或底線_ • <=255 個字元 • 不可為保留字 • 大小寫視為相同 e.g. 正確:y5、x、st_2、名次 錯誤:5y、x.0、st-2、sub

  7. 保留字 • 保留字(reserve word)、關鍵字(keyword) • if、print、for等 • 特徵 • 自動以藍色顯示 • 自動首字母由小寫轉大寫 • 例外:sum、avg

  8. 註解、敘述分隔符號、敘述連接符號 • 註解 • ‘-接於敘述之後 • REM-獨立一行 • 敘述(statement)分隔符號 • : • 敘述(statement)連接符號 • Space + underline  _

  9. Timer • 事件驅動 v.s. 時間驅動 • 時間驅動:(固定每隔多少時間執行一次物件上所定義之事件程序) • 事件驅動 :(當發生某個事件時,執行一次物件上所定義之事件程序) • tmr • 屬性 • Interval • 0  關閉 timer • 1000  一秒

  10. 作業三 • 設計一個每秒鐘上下跳動的物件,上置開始與停止按鈕。

  11. 運算式 • 一般運算式 變數名稱 = 運算元運算子 運算元 【運算子 運算元】 Y= 2+3*(5-2) • 比較運算式 變數名稱 比較運算子 變數或值或運算式 Y>x y>1 y>(1+2)

  12. 運算式 • 邏輯運算式 比較運算式 邏輯運算子 比較運算式 y>1 or y<(1+2)

  13. 運算元(operand) • 數字系統 • 十進位 10 • 八進位 &O &O12 • 十六進位 &H &HA • Operand Operator Operand • 5 + 3

  14. 資料的表示法 • 數值資料 —整數、實數、科學記號 • 字串資料 • 日期、時間資料 • 布林資料

  15. 整數 • 十進位的表示法:逗號是不能使用的,如10,000。 • 十六進位數的表示法:前面加上&H • 八進位數的表示法:前面加上& 或&O(字母O) 100 100的十進位表示法&H64 100的十六進位表示法&144 100的八進位表示法&O144 也是100的八進位表示法 十六進位是 64((64)16=6×161+4×160=100 八進位是 144((144)8 =1×82+4×81+4×80=100

  16. Hex 及 Oct 函數 • 開啟即時運算視窗 • Print 指令 • 範例 Print Hex(100)64Print Oct(100)144 返回

  17. 實數 • 小數方面,VB的表示法也跟數學完全相同,如3.14159、0.0016、-8000.5等均為正確的寫法。 • VB並沒有分數的表示法,不過我們可以用除號 ‘/’把分數的意義表達出來,例如把 寫成1/3 返回

  18. 實數 -- 浮點數表示法 科學記號中的「有效數字」及「指數」 例如:

  19. 實數 -- 科學記號 • 一般科學記號表示法 • 說明9750000000 =9.75×109將小數點左移9位,得到 9.75,再乘以1090.00000056 =5.6×10-7將小數點右移7位,得到 5.6,再乘以10-7 • VB 使用算術運算符號表達,例如:9.75×109表達成 9.75*10^95.6×10-7表達成 5.6*10^-7 * 代表乘號, ^ 代表次方符號。 返回

  20. 字串資料 • 以 “” 括起來的文數字都算是字串,如: "RUN!PC""Address #83""1998""12+75=?""資訊月刊" Print "RUNRUN!PC" ' 放到記憶體時, 兩邊的雙引號會被去掉, RUNRUN!PC ' 所以輸出時也就沒有雙引號了。 返回

  21. 日期時間資料 • 必須用 ## 括起來 • #9:30# 表示上午9點30分 • #1997/12/31# 表示1997年12月31日 • 輸出時,VB一律使用「系統的日期格式」,並且去掉 ## 再輸出,例如: • Print #28 Feb 1998# 1998/2/28

  22. 標準的日期表示法 • 標準的日期表示法是 #西元年/月/日#,例如: #1997/7/1# 表示 西元 1997 年 7 月 1 日#2005/12/31# 表示 西元 2005 年 12 月 31 日 • 西元年從1930到2029可以簡寫成30到99及00到29: #89/7/1# 等於 #1989/7/1#

  23. 非標準的日期表示法 • 如果不是標準日期表示法,VB 也會做智慧的判斷,例如以下的寫法都表示 #1997/2/28#(1997年2月28日): #2 28 97##97 2 28##28 Feb 1997##February 28, 1997#

  24. 系統的日期格式(1) • 同樣是 #1998/2/28#,可能有些人的機器輸出了「1998/2/28」,但也可能有些人的機器輸出了「2/28/1998」,這是因為VB 採用系統的日期格式來輸出資料,而系統的日期格式又可以使用以下方法來進行設定:

  25. 系統的日期格式(2) 以上圖為例,所設定的日期格式為 "MM/dd/yyyy", 所以 #1998/2/28# 將會被輸出成「02/28/1998」。

  26. 錯誤的日期表示法 • 不存在的日期及中文日期,VB 是不接受的,所以: • #1997/13/29# 錯誤, 月份 13 超過範圍#1997/2/29# 錯誤, 1997年不是閏年,2月只有 28天#1997 年 7 月 1 日# 錯誤,中文日期 返回

  27. 標準的時間表示法 • 標準的時間表示法是 #時:分:秒AM# 及 #時:分:秒PM#, 其中 AM 表示上午,PM 表示下午 • #9:30:00 AM# 表示 上午 9 點 30 分#7:55:30 PM# 表示 下午 7 點 55 分30 秒

  28. 非標準的時間表示法 • 如果不是上述的標準時間表示法,VB 也會做智慧的判斷,例如: • #9 A# 等於 #9:00:00 AM##17:3# 等於 #5:03:00 PM#

  29. 錯誤的時間表示法 • 輸入時間時,有效的時分秒分別是:時:0~23、分秒:0~59,所以下面的表示法是錯誤的: • #24:00:00# 錯誤, '時' 超過 23#17:60:00# 錯誤, '分' 超過 59#12:00:-1# 錯誤, '秒' 是負數

  30. VB 如何輸出時間? • 輸出時間時,VB 也一律採用系統的時間格式來輸出,同樣會去掉 ##,例如: Print #17:30:50#PM 05:30:50 時間的輸出也一律使用系統的時間格式,並且去掉##

  31. 系統的時間格式(1) 同樣是 #17:50:30#,可能有些人的機器輸出了「17:50:30」,但也可能有些人的機器輸出了「PM 05:50:30」,這是因為 VB 採用系統的時間格式來輸出資料,而系統的時間格式又可以使用以下方法來進行設定:

  32. 系統的時間格式(2) 以上圖為例,所設定的時間格式為 “tt hh:mm:ss”,所以 #17:50:30# 將會被輸出成「PM 05:50:30」。 (註:時間格式中的 “tt”表示以 AM 來表示上午、以 PM 來表示下午)

  33. 時間的注意事項 • ‘0 時’VB 將它表示成 #12:00:00 AM#,而 ‘12 時’ 則是 #12:00:00 PM#,所以: Print #0:30:0#AM 12:30:00 Print #12:00:00#PM 12:00:00 • 時間的表示法中也可以把日期涵蓋進來,例如 #1997/2/28 5:03:00 PM# 即表示1997年2月28日, 下午5點零3分。 返回

  34. 布林資料 • 布林資料指的是「真」與「假」的集合,又稱「真假資料」。 • 「真」以 True 表示,「假」以 False 表示。 • 布林資料常用來代表一個條件式的成立與否,例如: ? 2 > 1 ' 利用即時運算視窗詢問 VB:「2 > 1嗎?」True ' VB 回答:「真的」? 2 < 1 ' 再問:「2 < 1 嗎?」False ' VB 回答:「假的」 返回

  35. 運算子(Operator) • 算術運算子 • ()、^、-、* /、\、Mod、+ - • 連結運算子 • & • 比較運算子 • =、<>、<、>、<=、>= • 邏輯運算子 • And Or Not Xor

  36. 字串與字串的串接 • 字串與字串的串接就是把兩個字串連接成為一個新的字串,其運算符號是加號 ‘+’。例如: First = "Peter"Last = "Wang"Print First + " " + LastPeter Wang

  37. 串接運算的注意事項 • ‘+’號用在字串與字串之間叫做「串接運算」,用在數值與數值之間叫做「算術運算」,例如: ? 50 + 20 ' 算術運算70? "50" + "20" ' 串接運算5020

  38. 各種類型資料的串接 • ‘&’是串接用的運算符號,在 ‘各種類型資料’ 的串接 • S1 = "Today is "D = #8/24/97#S2 = S1 & D ' 字串與日期的串接Print S2Today is 1997/8/24 • Print “12345.” & 678 ‘字串與數值串接後,直接印出12345.678 • Print 678 & 0.12345 ‘數值與數值的串接6780.12345 • X = "VB" + 4.0 ' 錯誤!'+' 號只能用來串接字串與字串 返回

  39. 比較運算 比較 ‘運算符號’ 兩邊的數值後,傳回 True 或 False

  40. 比較運算 –例子 • Print 1 > 2False • B = 1 <> 2Print BTrue

  41. 日期時間的比較(1) • 時間的比較,後面的時間大於前面的時間:#9:30# 大於 #8:30# • 但 #12:00:00 AM# 被視為 ‘0 時’,而 #12:00:00 PM# 被視為一天的中午 12 時,所以:#12:30:00 PM# 小於 #1:00:00 PM# • 日期的比較中,後面的日期大於前面的日期:#1997/7/1# 大於 #1997/1/1# • 00~99年表示2000~2029及1930~1999年,所以:#97/1/1# 大於 #1899/12/31#。

  42. 日期時間的比較(2) • 同時涵蓋日期及時間的比較中,先比較日期再比較時間,例如: #97/1/1 0:00:00# 大於 #96/12/31 23:59:59##97/1/1 3:00:00# 大於 #97/1/1 0:00:00# • 如果一方有日期,一方沒有日期,則將沒有日期那一方的日期視為 #1899/12/30#,例如 #0:00:00# 相當於 #1899/12/30 0:00:00#,所以: #0:00:00# 大於 #1899/12/29 23:59:59# • 如果一方有時間,一方沒有時間,則將沒有時間那一方的時間視為 #0:00:00#,所以: #97/1/1# 小於 #97/1/1 0:0:1#

  43. 字串的比較 • 比較的依據是字元的字元碼 。 • 比較方式是從每個字串的第一個字元開始依次比較其字元碼,直到比較出大小為止。 • 如果未比較出大小,而某一個字串已先達到最後一個字元,則長度較小的字串小於長度較大的字串。

  44. 知道字元碼的方法 • 英文範圍(0~127)內的字元:利用即時運算視窗執行 ? ASC("字元")。 • 中文字(包含兩個 byte):利用即時運算視窗執行 ? ASC(“中文字”) + 65536。 • 例如: ? ASC("A") 65 ' 字元 A 的字元碼等於 65? ASC("B") 66 ' 字元 B 的字元碼大於 A? ASC("程") + 65536 46459 ' 中文字 '程' 的字元碼等於46459

  45. 判斷出字元的大小的規則 • 英文字母順序在前者,其字元碼較小,例:"a" < b"。 • 小寫字母 "大於" 大寫英文字母,例:"a" > "A"。 • 數字 "小於" 英文字母,例:"2" < "A"。 • 中文字 "大於" 英文字母,例:"程" > "a"。 數字字元<英文大寫字母<英文小寫字母<中文字 返回

  46. 邏輯運算

  47. 運算子(Operator) • 邏輯運算子 • NOT-相反 • AND-二者為真,才為真 • OR-其一為真,就為真 • XOR-二者相反,才為真

  48. 邏輯運算子 真值表(True Table) • NOT-相反

  49. 邏輯運算子 真值表(True Table) • AND-二者為真,才為真

More Related