06.08.2013 Views

林欣怡

林欣怡

林欣怡

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Visual Basic2008<br />

學習檔案<br />

班級:資二 1<br />

指導老師:張銘棋<br />

學生:<strong>林欣怡</strong><br />

座號:17


第四章 表單的程式設計<br />

目錄<br />

1.將攝氏溫度轉換為華氏溫度………………………….…..Page4<br />

2.選擇國旗的程式……………………………………….…..Page4<br />

3.攝氏溫度轉華氏溫度………………………………….…..Page5<br />

4.邊框變化……………………………………………….…. Page6<br />

5.按鈕的移動與縮放……………. ……………………….…Page6<br />

6.變換表單背景圖片……………………………………….. Page7<br />

第五章 使用資料<br />

1.計算機……………………………………………………...Page7<br />

2.顯示按鈕時間…………………………………………….. Page9<br />

3.顯示編號………………………………………………….. Page9<br />

第六章 流程控制-選擇性執行程式<br />

1.找出最大值………………………………………….……. Page10<br />

2.點餐計價……………………………………….…………. Page11<br />

3.折扣計算……………………………………………….…. Page12<br />

4.猜數字遊戲……………………………………………….. Page13<br />

5.選擇字體與大小…………………………………….……. Page13<br />

第七章 流程控制-重複執行同一段程式<br />

1.分數統計……………………………………………….…. Page15<br />

2.數字金字塔……………………………………………….. Page15<br />

3.倒數字金字塔………………………………………….…. Page16<br />

4.蟑螂大逃竄……………………………………………….. Page17<br />

5.電子時鐘……………………………………………….…. Page17<br />

第八章 陣列<br />

1. 歌唱成績計算排名…………………………………….…Page18<br />

2. 上下移動按鈕………………………………………….…Page19<br />

3. 餐廳排隊給號系統………………………………….……Page20<br />

4. 成績資料………………………………………………….Page21<br />

5. 主控台輸入資料…………………………………….……Page21<br />

6. 主控台輸入數值資料……………………………….……Page22<br />

7. 成績查詢程式………………………………………….…Page22<br />

8. 綜合所的淨額……………………………………….……Page23<br />

9. 字型設定程式………………………………………….…Page24<br />

Page1


10. 調換程式……………………………………………….. Page24<br />

11. 字型設計……………………………………………….. Page25<br />

第九章 程式與函式<br />

1.比大小……………………………………………….……. Page26<br />

2.重力加速度………………………………………….……. Page27<br />

3.計算階乘………………………………………….………. Page27<br />

4.計算速度……………………………………….…………. Page27<br />

5.整數陣列…………………………………….……………..Page28<br />

6.開獎號碼………………………………….………………..Page28<br />

7.遞回…………………………………….…………………..Page29<br />

8.圓盤張數…………………………….……………………. Page30<br />

第十章 事件驅動程式設計<br />

1.英文字母大寫、千分位符號、滑鼠移入變白色……….. Page30<br />

第十一章 繪圖與多媒體<br />

1.畫圖……………………………………………………..…. Page31<br />

2.播放音樂 …………………………………………………. Page32<br />

3.繪圖…………………………………………………………Page33<br />

4.預設筆刷…………………………………………..………. Page34<br />

5.圖片旋轉……………………………………………...…….Page35<br />

第十二章 視窗介面進階<br />

1.長度、重量轉換………………………………………….... Page35<br />

2.控制字型樣式、大小……………………………………….Page37<br />

第十三章 檔案存取<br />

1. 平均分數程式……………………………………………... Page39<br />

2. 開檔、存檔功能……………………………………………Page41<br />

3. 文字編輯程式………………………………………………Page43<br />

4. 點菜程式……………………………………………………Page44<br />

第十三之一章 檔案存取<br />

1. 顯示資料夾與檔案清單……………………………………Page46<br />

Page2


第十四之一章 設計資料庫程式<br />

考試<br />

Exam1<br />

Exam2<br />

Exam3<br />

Exam4<br />

Exam<br />

Exam6<br />

1.書籍資料庫-1…………………………………………………Page49<br />

2.成衣資料庫…………………………………………………...Page49<br />

3.書籍資料庫-2…………………………………………………Page50<br />

4.書籍資料庫-3…………………………………………………Page50<br />

5.書籍資料庫-4…………………………………………………Page51<br />

6.成衣資料庫.…………………………………………………..Page52<br />

7.查閱欄位……………………………………………………...Page52<br />

1.加減乘除……………………………………………………...Page53<br />

2.購買清單……………………………………………………...Page54<br />

3.計算 BMI 值、三角形面積………………………………….Page55<br />

1.單數值之和…………………………………………………...Page56<br />

2.電費計算……………………………………………………...Page56<br />

1.費氏數列…………………………………………………….. Page57<br />

2.擲骰子比大小……………………………………………….. Page57<br />

1.英文字母大寫變小寫………………………………………...Page58<br />

2.白底黑邊的圓形……………………………………………...Page58<br />

3.MP3 播放器…………………………………………………...Page59<br />

1.螢幕保護程式…………………………………………………Page60<br />

2.顯示資料夾內的子資料夾……………………………………Page62<br />

3.便利貼…………………………………………………………Page64<br />

1. 互質的數、直角三角形、數字相加、身分證號碼………..Page65<br />

Page3


程式碼---17/CH4/EX1<br />

將攝氏溫度互轉為華氏溫度<br />

Public Class EX1<br />

Private Sub EX1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox1.TextChanged<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a, b As Integer<br />

a = TextBox1.Text<br />

b = a * 9 / 5 + 32<br />

Label2.Text = "攝氏 " & a & " 度 = 華氏 " & b & " 度。"<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim b As Integer<br />

Dim a As Single<br />

b = TextBox1.Text<br />

a = Math.Round((b - 32) * 5 / 9, 2)<br />

Label2.Text = "華氏 " & b & " 度 = 攝氏 " & a & " 度。"<br />

End Sub<br />

End Class<br />

程式碼---17/CH4/EX2<br />

選擇國旗的程式<br />

Public Class EX2<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

PictureBox1.Image = New Bitmap("..\..\fUSA2.gif")<br />

End Sub<br />

Page4


Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

PictureBox1.Image = New Bitmap("..\..\fCanada2.gif")<br />

End Sub<br />

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click<br />

PictureBox1.Image = New Bitmap("..\..\fFrance2.gif")<br />

End Sub<br />

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click<br />

PictureBox1.Image = New Bitmap("..\..\fJapan2.gif")<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Me.BackgroundImage = New Bitmap("..\..\fBg1.gif")<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Me.BackgroundImage = New Bitmap("..\..\fBg2.gif")<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

Me.BackgroundImage = New Bitmap("..\..\fBg3.gif")<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

PictureBox1.Size = New Size(PictureBox1.Size.Width - 10, PictureBox1.Size.Height - 10)<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

PictureBox1.Size = New Size(PictureBox1.Size.Width + 10, PictureBox1.Size.Height + 10)<br />

End Sub<br />

End Class<br />

程式碼---17/CH4/Form1<br />

攝氏溫度轉華氏溫度<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim c, f, r As Integer<br />

c = Val(InputBox("請輸入攝氏溫度", "溫度結果"))<br />

f = c * 9 / 5 + 32<br />

r = MsgBox("攝氏 " & c & " 度 = 華氏 " & f & " 度。 ", 3 + 32, "溫度轉換")<br />

'MsgBox(r)<br />

If r = 2 Then<br />

MsgBox("程式完畢")<br />

Else<br />

MsgBox("程式完畢")<br />

End If<br />

End Sub<br />

End Class<br />

Page5


程式碼---17/CH4/Form2<br />

邊框變化<br />

Public Class Form2<br />

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Label1.BorderStyle = BorderStyle.Fixed3D<br />

Label1.Text = "立體邊框"<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Label1.BorderStyle = BorderStyle.Fixed3D<br />

Label1.Text = "單線邊框"<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Label1.BorderStyle = BorderStyle.Fixed3D<br />

Label1.Text = "無邊框"<br />

End Sub<br />

End Class<br />

按鈕的移動與縮放<br />

程式碼---17/CH4/Form3<br />

Public Class Form3<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Label1.Location = New Point(Label1.Location.X - 20, Label1.Location.Y)<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Label1.Location = New Point(Label1.Location.X + 20, Label1.Location.Y)<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Label1.Size = New Size(Label1.Size.Width + 10, Label1.Size.Height + 10)<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Label1.Size = New Size(Label1.Size.Width - 10, Label1.Size.Height - 10)<br />

End Sub<br />

Page6


Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

Label1.BackColor = Color.Purple<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

Label1.BackColor = Color.Blue<br />

End Sub<br />

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

Label1.BackColor = Color.Brown<br />

End Sub<br />

End Class<br />

程式碼---17/CH4/Form4<br />

變換表單背景<br />

Public Class Form4<br />

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

PictureBox1.Click<br />

PictureBox1.Image = New Bitmap("..\..\house.gif")<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Me.BackgroundImage = New Bitmap("..\..\闔家平安.gif")<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Me.BackgroundImage = New Bitmap("..\..\考試順利.gif")<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Me.BackgroundImage = New Bitmap("..\..\工作順利.gif")<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Me.BackgroundImage = Nothing<br />

End Sub<br />

End Class<br />

計算機<br />

Page7


程式碼---17/CH5/EX1<br />

Public Class Ex1<br />

Dim a, b$<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a = 1<br />

TextBox1.Text = TextBox1.Text & "1"<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim a = 2<br />

TextBox1.Text = TextBox1.Text & "2"<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Dim a = 3<br />

TextBox1.Text = TextBox1.Text & "3"<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Dim a = 4<br />

TextBox1.Text = TextBox1.Text & "4"<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

Dim a = 5<br />

TextBox1.Text = TextBox1.Text & "5"<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

Dim a = 6<br />

TextBox1.Text = TextBox1.Text & "6"<br />

End Sub<br />

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

Dim a = 7<br />

TextBox1.Text = TextBox1.Text & "7"<br />

End Sub<br />

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click<br />

Dim a = 8<br />

TextBox1.Text = TextBox1.Text & "8"<br />

End Sub<br />

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click<br />

Dim a = 9<br />

TextBox1.Text = TextBox1.Text & "9"<br />

End Sub<br />

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button10.Click<br />

Dim a = 0<br />

TextBox1.Text = TextBox1.Text & "0"<br />

End Sub<br />

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button11.Click<br />

TextBox1.Text = TextBox1.Text & "."<br />

End Sub<br />

Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button12.Click<br />

Select Case b<br />

Case "+"<br />

TextBox1.Text = Val(a) + Val(TextBox1.Text)<br />

Case "-"<br />

TextBox1.Text = Val(a) - Val(TextBox1.Text)<br />

Case "*"<br />

TextBox1.Text = Val(a) * Val(TextBox1.Text)<br />

Case "/"<br />

Page8


TextBox1.Text = Val(a) / Val(TextBox1.Text)<br />

End Select<br />

End Sub<br />

Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button13.Click<br />

a = TextBox1.Text<br />

b = "+"<br />

TextBox1.Text = ""<br />

End Sub<br />

Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button14.Click<br />

a = TextBox1.Text<br />

b = "-"<br />

TextBox1.Text = ""<br />

End Sub<br />

Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button15.Click<br />

a = TextBox1.Text<br />

b = "*"<br />

TextBox1.Text = ""<br />

End Sub<br />

Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button16.Click<br />

a = TextBox1.Text<br />

b = "/"<br />

TextBox1.Text = ""<br />

End Sub<br />

Private Sub Ex1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

End Class<br />

程式碼---17/CH5/Form1<br />

顯示按鈕時間<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Label1.Text = "按鈕時間為" & vbCrLf & Now<br />

End Sub<br />

End Class<br />

顯示編號<br />

Page9


程式碼---17/CH5/Form2<br />

Public Class Form2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a$<br />

a = AscW(TextBox1.Text & Chr(0))<br />

Label1.Text = "Unicode : " & a & " (十六進位 : " & Hex(a) & " ) "<br />

End Sub<br />

End Class<br />

程式碼---17/CH6/EX1<br />

Public Class EX1<br />

Dim a, b, c As Integer<br />

找出最大值<br />

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox1.TextChanged<br />

End Sub<br />

a = Val(TextBox1.Text)<br />

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox2.TextChanged<br />

End Sub<br />

b = Val(TextBox2.Text)<br />

Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox3.TextChanged<br />

End Sub<br />

c = Val(TextBox3.Text)<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If a > b Then<br />

Else<br />

End Sub<br />

End Class<br />

End If<br />

If a > c Then<br />

Else<br />

End If<br />

Label1.Text = "最大值" & a<br />

Label1.Text = "最大值" & c<br />

If b > c Then<br />

Else<br />

End If<br />

Label1.Text = "最大值" & b<br />

Label1.Text = "最大值" & c<br />

Page10


程式碼---17/CH6/EX2<br />

點餐計價<br />

Public Class EX2<br />

Dim a, b, c, d, t As Integer<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim f As String<br />

a = Val(TextBox1.Text)<br />

b = Val(TextBox2.Text)<br />

c = Val(TextBox3.Text)<br />

d = Val(TextBox4.Text)<br />

t = 30 * a + 70 * b + 65 * c + 99 * d<br />

f = "= 總價" & t & "元"<br />

If CheckBox1.Checked Then<br />

t *= 0.9<br />

f = f & "+折扣券8折"<br />

End If<br />

If CheckBox2.Checked Then<br />

t *= 0.8<br />

f = f & "+折扣券8折"<br />

End If<br />

If RadioButton2.Checked Then<br />

If t < 300 Then<br />

t += 30<br />

f = f & "+運費30元"<br />

End If<br />

End If<br />

TextBox5.Text = t<br />

Label6.Text = f<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

TextBox1.Text = ""<br />

TextBox2.Text = ""<br />

TextBox3.Text = ""<br />

TextBox4.Text = ""<br />

TextBox5.Text = ""<br />

Label6.Text = ""<br />

CheckBox1.Checked = False<br />

CheckBox2.Checked = False<br />

End Sub<br />

End Class<br />

Page11


程式碼---17/CH6/Form1<br />

Public Class Form1<br />

折扣計算<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim buy As Integer, pay As Integer<br />

Dim msg As String<br />

buy = Val(TextBox1.Text)<br />

If buy > 1000 Then<br />

Else<br />

End Sub<br />

End Class<br />

End If<br />

pay = buy * 0.8<br />

If buy > 2000 Then<br />

Else<br />

End If<br />

msg = "超過2000元, 先打8折在減100元。"<br />

pay = pay - 100<br />

msg = "超過1000元, 先打8折在減50元。"<br />

pay = pay - 50<br />

If buy > 500 Then<br />

Else<br />

End If<br />

msg = "金額超過500元打9折。"<br />

pay = buy * 0.9<br />

msg = "金額未超過500元打95折。"<br />

pay = buy * 0.95<br />

TextBox2.Text = pay<br />

Label3.Text = msg<br />

TextBox1.Focus()<br />

TextBox1.SelectAll()<br />

Page12


程式碼---17/CH6/Form2<br />

Public Class Form2<br />

猜數字遊戲<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

Randomize()<br />

vAns.Text = CInt(Int((100 * Rnd()) + 1))<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim V As Integer, ans As Integer<br />

ans = Val(vAns.Text)<br />

V = Val(TextBox1.Text)<br />

vCnt.Text = Val(vCnt.Text) + 1<br />

If V = ans Then<br />

Else<br />

End Sub<br />

End Class<br />

End If<br />

MsgBox("答對了, 你共猜了 " & vCnt.Text & "次。")<br />

End '結束程式<br />

If V < ans Then<br />

Else<br />

End If<br />

vMin.Text = V<br />

vMax.Text = V<br />

TextBox1.Focus()<br />

TextBox1.SelectAll()<br />

選擇字體與大小<br />

Page13


程式碼---17/CH6/Form3<br />

Public Class Form3<br />

Dim fN As String, fS As Integer, fSy As FontStyle<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click,<br />

fn_kai.Click, fn_new.Click, _<br />

fs_9.Click, fs_10.Click, fs_11.Click, fs_12.Click, _<br />

fst_b.Click, fst_i.Click, fst_del.Click, fst_und.Click<br />

fN = If(fn_new.Checked, "新細明體", "標楷體")<br />

If fs_9.Checked Then<br />

fS = 9<br />

ElseIf fs_10.Checked Then<br />

fS = 10<br />

ElseIf fs_11.Checked Then<br />

Else<br />

End If<br />

fS = 11<br />

fS = 12<br />

If sender.Equals(Button1) Then<br />

Else<br />

fst_b.Checked = False<br />

fst_i.Checked = False<br />

fst_del.Checked = False<br />

fst_und.Checked = False<br />

fSy = FontStyle.Regular<br />

fSy = If(fst_b.Checked, FontStyle.Bold, 0) Or If(fst_i.Checked, FontStyle.Italic, 0) Or<br />

If(fst_del.Checked, FontStyle.Strikeout, 0) Or If(fst_und.Checked, FontStyle.Underline, 0)<br />

End Sub<br />

End Class<br />

End If<br />

If sender.Equals(Button1) Then<br />

End If<br />

fS = 12<br />

fs_12.Checked = True<br />

If sender.Equals(Button1) Then<br />

End If<br />

fN = fn_new.Checked<br />

fn_new.Checked = True<br />

Label1.Font = New Font(fN, fS, fSy)<br />

Page14


程式碼---17/CH7/ EX1<br />

Public Class EX1<br />

Dim a, b, c, d As Integer<br />

分數統計<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If Val(TextBox1.Text) > 100 Or Val(TextBox1.Text) < -2 Then<br />

Else<br />

MsgBox("請輸入0~100之間的分數,未輸入表示0分、輸入-1表示結束。")<br />

TextBox1.Text = ""<br />

分。", 0 + 64, "結果")<br />

End Sub<br />

End Class<br />

End If<br />

If Val(TextBox1.Text) = -1 Then<br />

Else<br />

MsgBox("共" & a & "人," & b & "人及格," & c & "人不及格,平均" & Format(d / a, "#.#") & "<br />

End<br />

End If<br />

If Val(TextBox1.Text) < 60 Then<br />

Else<br />

End If<br />

c += 1<br />

b += 1<br />

d = d + Val(TextBox1.Text)<br />

a = a + 1<br />

TextBox1.Text = ""<br />

Label3.Text = a + 1<br />

TextBox1.Focus()<br />

數字金字塔<br />

Page15


程式碼---17/CH7/ EX2<br />

Public Class EX2<br />

Private Sub EX2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

For a = 1 To 15<br />

For b = 1 To a<br />

If b >= 10 Then<br />

Label1.Text = Label1.Text & b - 10<br />

Else<br />

Label1.Text = Label1.Text & b<br />

End If<br />

Next<br />

For c = a - 1 To 1 Step -1<br />

If c >= 10 Then<br />

Label1.Text = Label1.Text & c - 10<br />

Else<br />

Label1.Text = Label1.Text & c<br />

End If<br />

Next<br />

Label1.Text = Label1.Text & vbCrLf<br />

Next<br />

End Sub<br />

End Class<br />

程式碼---17/CH7/ Form1<br />

Public Class Form1<br />

倒數字金字塔<br />

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Dim i As Integer<br />

For i = 25 To 1 Step -4<br />

Next<br />

Label1.Text = Label1.Text & vbCrLf & StrDup(i, CStr(i \ 4 + 1))<br />

For i = 5 To 25 Step 4<br />

Next<br />

End Sub<br />

End Class<br />

Label1.Text = Label1.Text & vbCrLf & StrDup(i, CStr(i \ 4 + 1))<br />

Page16


程式碼---17/CH7/ Form2<br />

蟑螂大逃竄<br />

Public Class Form2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Button1.Visible = False<br />

PictureBox1.Left = 0 - PictureBox1.Size.Width<br />

PictureBox1.Visible = True<br />

Do<br />

PictureBox1.Left = PictureBox1.Left + 1<br />

If PictureBox1.Left Mod 10 = 0 Then '每隔10點上下晃動一次<br />

PictureBox1.Top = PictureBox1.Top + Int(7 * Rnd()) - 3 '上下移動3點<br />

End If<br />

System.Threading.Thread.Sleep(1) '暫停1/1000秒<br />

Application.DoEvents()<br />

Loop Until (PictureBox1.Left > Me.ClientSize.Width)<br />

Button1.Visible = True<br />

PictureBox1.Visible = False<br />

End Sub<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Randomize()<br />

End Sub<br />

End Class<br />

程式碼---17/CH7/ Form3<br />

電子時鐘<br />

Public Class Form3<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Label1.Text = Format(Now(), "HH:mm:ss")<br />

Label2.Text = Format(Now(), _<br />

If(CheckBox1.Checked, "yyyy/mm/dd", "yyyy/MM/dd"))<br />

End Sub<br />

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick<br />

Label1.Text = Format(Now(), _<br />

If(CheckBox1.Checked, "hh:mm:ss", "HH:mm:ss"))<br />

End Sub<br />

Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

CheckBox2.CheckedChanged<br />

Timer1.Enabled = Not CheckBox2.Checked<br />

End Sub<br />

End Class<br />

Page17


程式碼---17/CH8/ EX1<br />

Public Class EX1<br />

歌唱成績計分排名<br />

Private Sub EX1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Dim 姓名() = {"吳國民", "李得勝", "蔡可申", "陳夢嬌", "方十全"}<br />

Dim 評分(,) = {{77, 78, 78, 84, 84, 79, 77, 76, 76, 81}, _<br />

Dim sum(4) As Short<br />

Dim min, max As Short<br />

For i = 0 To 4<br />

Next<br />

min = 評分(i, 0)<br />

max = 評分(i, 0)<br />

sum(i) = 評分(i, 0)<br />

For j = 1 To 9<br />

Next<br />

{89, 89, 92, 88, 91, 87, 86, 90, 85, 89}, _<br />

{89, 82, 87, 83, 82, 89, 86, 86, 84, 80}, _<br />

{86, 86, 90, 89, 81, 86, 90, 85, 87, 86}, _<br />

{89, 88, 87, 88, 86, 84, 86, 93, 84, 87}}<br />

If 評分(i, j) < min Then<br />

End If<br />

min = 評分(i, j)<br />

If 評分(i, j) > max Then<br />

End If<br />

max = 評分(i, j)<br />

sum(i) = sum(i) + 評分(i, j)<br />

sum(i) = sum(i) - min - max<br />

Array.Sort(sum, 姓名)<br />

For i = 4 To 0 Step -1<br />

Next<br />

End Sub<br />

End Class<br />

Label1.Text = Label1.Text & 姓名(i) & " " & sum(i) / 8 & vbCrLf<br />

Page18


程式碼---17/CH8/ EX2<br />

上下移動按鈕<br />

Public Class EX2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim i%<br />

If ListBox1.SelectedIndex = 0 Then '已經移到最上面了(第0筆)<br />

ListBox1.Items.Insert(ListBox1.Items.Count, ListBox1.Items(0)) '新增在最後一筆<br />

ListBox1.Items.RemoveAt(0) '刪掉第一筆<br />

ListBox1.SelectedIndex = ListBox1.Items.Count - 1<br />

Else<br />

i = ListBox1.SelectedIndex<br />

If i = -1 Then<br />

MsgBox("尚未選取資料項目!", , "注意")<br />

Else<br />

ListBox1.Items.Insert(i - 1, ListBox1.SelectedItem)<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex())<br />

ListBox1.SelectedIndex = i - 1<br />

End If<br />

End If<br />

ListBox1.Text = ListBox1.SelectedIndex<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim i%<br />

If ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then '已經移到最下面了(第n-1筆)<br />

ListBox1.Items.Insert(0, ListBox1.Items(ListBox1.Items.Count - 1)) '新增在最前面<br />

ListBox1.Items.RemoveAt(ListBox1.Items.Count - 1) '刪掉最後一筆<br />

ListBox1.SelectedIndex = 0<br />

Else<br />

i = ListBox1.SelectedIndex<br />

If i = -1 Then<br />

MsgBox("尚未選取資料項目!", , "注意")<br />

Else<br />

ListBox1.Items.Insert(i + 2, ListBox1.SelectedItem)<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex())<br />

ListBox1.SelectedIndex = i + 1<br />

End If<br />

End If<br />

ListBox1.Text = ListBox1.SelectedIndex<br />

End Sub<br />

End Class<br />

Page19


程式碼---17/CH8/ EX3<br />

餐廳排隊給號系統<br />

Public Class EX3<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If TextBox1.Text "" Then<br />

ListBox1.Items.Add(Format(ListBox1.Items.Count + 1, "00#-") & TextBox1.Text)<br />

Else<br />

MsgBox("請輸入資料")<br />

End If<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

'修改項目,亦即插入一筆在指定位置之前,再刪除該指定位置之資料<br />

If ListBox1.SelectedIndex = -1 Then<br />

MsgBox("尚未選取清單方塊任何一個項目", 0 + 16, "錯誤")<br />

Else<br />

ListBox1.Items.Insert(ListBox1.SelectedIndex(), Mid(ListBox1.SelectedItem, 1, 3) & "-" &<br />

TextBox1.Text)<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex())<br />

End If<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Dim i As Integer<br />

For i = 0 To ListBox1.SelectedItems.Count - 1<br />

ListBox2.Items.Add(ListBox1.SelectedItems(i))<br />

Next<br />

For i = ListBox1.SelectedIndices.Count - 1 To 0 Step -1<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndices(i))<br />

Next<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Dim i As Integer<br />

For i = 0 To ListBox2.SelectedIndices.Count - 1<br />

ListBox1.Items.Add(ListBox2.SelectedItems(i))<br />

Next<br />

For i = ListBox2.SelectedIndices.Count - 1 To 0 Step -1<br />

ListBox2.Items.RemoveAt(ListBox2.SelectedIndices(i))<br />

Next<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

If Button5.Text "" Then<br />

ListBox2.Items.Clear()<br />

End If<br />

End Sub<br />

End Class<br />

Page20


程式碼---17/CH8/ Form1<br />

成績資料<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim 總分 As Double '可能含小數,所以用Double型別<br />

Dim 成績陣列() As String = Split(TextBox1.Text, ",")<br />

Dim 筆數 = UBound(成績陣列) + 1<br />

For Each s In 成績陣列<br />

總分 = 總分 + Val(s)<br />

Next<br />

MsgBox("成績筆數 :" & 筆數 & vbCrLf & "總成績為 :" & 總分 & vbCrLf & "平均成績 :" & Math.Round(總分 /<br />

筆數, 2))<br />

End Sub<br />

End Class<br />

程式碼---17/CH8/ Form2<br />

主控台輸入資料<br />

Module Form1<br />

Sub Main()<br />

Dim 資料, 陣列(0) As String<br />

Dim 筆數 As Integer = 0<br />

Do<br />

Console.Write("請輸入資料:")<br />

資料 = Console.ReadLine()<br />

If 資料 = "" Then Exit Do<br />

ReDim Preserve 陣列(筆數)<br />

陣列(筆數) = 資料<br />

筆數 = 筆數 + 1<br />

Loop<br />

Console.WriteLine("你一共輸入了" & 筆數 & "筆資料。")<br />

Array.Sort(陣列)<br />

For i = 1 To 筆數<br />

Console.WriteLine(陣列)<br />

Next<br />

Console.ReadLine()<br />

End Sub<br />

End Module<br />

Page21


程式碼---17/CH8/ Form3<br />

主控台輸入數值資料<br />

Module Form2<br />

Sub main()<br />

Dim X(4), i As Integer<br />

For i = 0 To 4<br />

console.write("請輸入數值資料:")<br />

x(i) = val(console.readline)<br />

Next<br />

array.sort(x)<br />

For i = 0 To 4<br />

Console.WriteLine("x(" & i & ") = " & X(i))<br />

Next<br />

Console.ReadLine()<br />

End Sub<br />

End Module<br />

程式碼---17/CH8/ Form4<br />

成績查詢程式<br />

Public Class Form3<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim 姓名() = {"陳桶一", "黃光耀", "胡生妙", "王為全", "李日正", "劉德菖", "方正一", "劉康寶", "謝掬<br />

花", "王美蘭", "徐小噹", "葉小毛"}<br />

Dim 數學() = {90, 58, 41, 100, 59, 28, 100, 0, 100, 41, 91, 0}<br />

Dim 國文() = {76, 77, 14, 97, 66, 11, 98, 0, 74, 46, 99, 10}<br />

Dim 英文() = {98, 75, 33, 87, 57, 33, 100, 10, 89, 49, 84, 0}<br />

Dim 索引值 = Array.IndexOf(姓名, TextBox1.Text)<br />

If 索引值 < 0 Then<br />

Label3.Text = "查無此人!"<br />

Page22


Label5.Text = ""<br />

Label7.Text = ""<br />

Else<br />

Label3.Text = 數學(索引值)<br />

Label5.Text = 國文(索引值)<br />

Label7.Text = 英文(索引值)<br />

End If<br />

TextBox1.Focus()<br />

Dim 索引 As Integer = Array.IndexOf(數學, 100)<br />

Dim math100$, name$<br />

While 索引 >= 0<br />

name = 姓名(索引)<br />

math100 = math100 + " " + name<br />

索引 = Array.IndexOf(數學, 100, 索引 + 1)<br />

End While<br />

MsgBox(math100, , "數學100分者")<br />

'Dim i As Integer = Array.IndexOf(數學, 100)<br />

'i = Array.IndexOf(數學, 100)<br />

'While i >= 0<br />

'姓名 = 姓名(i)<br />

'i = Array.IndexOf(數學, 100, i + 1)<br />

'End While<br />

'MsgBox(姓名(i) & ": 100")<br />

End Sub<br />

End Class<br />

程式碼---17/CH8/ Form5<br />

綜合所得淨額<br />

Public Class Form4<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim 稅率(,) As Integer = {{410000, 6, 0}, {1090000, 13, 28700}, {2180000, 21, 115900}, _<br />

{4090000, 30, 312100}, {4090001, 40, 721100}}<br />

Dim 所得淨額 As Integer = Val(TextBox1.Text)<br />

Dim i As Integer<br />

For i = 0 To UBound(稅率, 1) - 1<br />

If 所得淨額


程式碼---17/CH8/ Form6<br />

Imports System.Drawing<br />

Public Class Form5<br />

字型設定程式<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

End Sub<br />

End Class<br />

If ListBox1.SelectedIndex = -1 Then ListBox1.SelectedItem = Label1.Font.Name<br />

If ListBox2.SelectedIndex = -1 Then ListBox2.SelectedIndex = 0<br />

If ListBox3.SelectedIndex = -1 Then ListBox3.SelectedItem = "12"<br />

Dim 字型名稱 As String = ListBox1.SelectedItem<br />

Dim 字型樣式 As FontStyle<br />

Dim 字型大小 As Integer = Val(ListBox3.SelectedItem)<br />

Select Case ListBox2.SelectedItem<br />

Case "標準"<br />

字型樣式 = FontStyle.Regular<br />

Case "粗體"<br />

字型樣式 = FontStyle.Bold<br />

Case "斜體"<br />

字型樣式 = FontStyle.Italic<br />

Case "粗斜體"<br />

End Select<br />

字型樣式 = FontStyle.Bold Or FontStyle.Italic<br />

Label1.Font = New Font(字型名稱, 字型大小, 字型樣式)<br />

調換程式<br />

Page24


程式碼---17/CH8/ Form7<br />

Public Class Form6<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim i As Integer<br />

For i = 0 To ListBox1.SelectedItems.Count - 1<br />

ListBox2.Items.Add(ListBox1.SelectedItems(i))<br />

Next<br />

For i = ListBox1.SelectedIndices.Count - 1 To 0 Step -1<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndices(i))<br />

Next<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim i As Integer<br />

For i = 0 To ListBox2.SelectedItems.Count - 1<br />

ListBox1.Items.Add(ListBox2.SelectedItems(i))<br />

Next<br />

For i = ListBox2.SelectedIndices.Count - 1 To 0 Step -1<br />

ListBox2.Items.RemoveAt(ListBox2.SelectedIndices(i))<br />

Next<br />

End Sub<br />

End Class<br />

程式碼---17/CH8/ Form8<br />

字型設計<br />

Imports System.Drawing<br />

Public Class Form7<br />

Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

ComboBox2.Text = "標準"<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If ComboBox1.Text = " " Then ComboBox1.Text = Label1.Font.Name()<br />

If ComboBox2.Text = " " Then ComboBox2.SelectedIndex = 0<br />

If ComboBox3.Text = " " Then ComboBox3.Text = "12"<br />

Dim 字型名稱 As String = ComboBox1.Text<br />

Dim 字型樣式 As FontStyle<br />

Dim 字型大小 As Integer = Val(ComboBox3.Text)<br />

Select Case ComboBox2.Text<br />

Case "標準"<br />

字型樣式 = FontStyle.Regular<br />

Case "粗體"<br />

字型樣式 = FontStyle.Bold<br />

Case "斜體"<br />

字型樣式 = FontStyle.Italic<br />

Case "粗斜體"<br />

字型樣式 = FontStyle.Bold + FontStyle.Italic<br />

End Select<br />

Label1.Font = New Font(字型名稱, 字型大小, 字型樣式)<br />

End Sub<br />

End Class<br />

Page25


程式碼---17/CH9/ EX1<br />

Imports System.Drawing<br />

Public Class EX1<br />

比大小<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

End Sub<br />

End Class<br />

Randomize()<br />

Label1.Text = Int(Rnd() * 6) + 1<br />

Label2.Text = Int(Rnd() * 6) + 1<br />

Select Case Val(Label1.Text)<br />

Case 1<br />

Case 2<br />

Case 3<br />

Case 4<br />

Case 5<br />

Case 6<br />

End Select<br />

PictureBox1.Image = New Bitmap("..\..\1.jpg")<br />

PictureBox1.Image = New Bitmap("..\..\2.jpg")<br />

PictureBox1.Image = New Bitmap("..\..\3.jpg")<br />

PictureBox1.Image = New Bitmap("..\..\4.jpg")<br />

PictureBox1.Image = New Bitmap("..\..\5.jpg")<br />

PictureBox1.Image = New Bitmap("..\..\6.jpg")<br />

Select Case Val(Label2.Text)<br />

Case 1<br />

Case 2<br />

Case 3<br />

Case 4<br />

Case 5<br />

Case 6<br />

End Select<br />

PictureBox2.Image = New Bitmap("..\..\1.jpg")<br />

PictureBox2.Image = New Bitmap("..\..\2.jpg")<br />

PictureBox2.Image = New Bitmap("..\..\3.jpg")<br />

PictureBox2.Image = New Bitmap("..\..\4.jpg")<br />

PictureBox2.Image = New Bitmap("..\..\5.jpg")<br />

PictureBox2.Image = New Bitmap("..\..\6.jpg")<br />

Page26


程式碼---17/CH9/ EX2<br />

重力加速度<br />

Public Class EX2<br />

Function freefall(ByVal t) As Single<br />

Return 1 / 2 * 9.8 * t ^ 2<br />

End Function<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Label4.Text = freefall((Val(MaskedTextBox1.Text)))<br />

End Sub<br />

End Class<br />

程式碼---17/CH9/ Module1<br />

Module Module1<br />

Sub main()<br />

fact(5)<br />

End Sub<br />

Sub fact(ByVal n As Integer)<br />

Dim total As Double = 1<br />

For i = 2 To n<br />

total *= i<br />

Next<br />

Console.WriteLine(n & "! 的值為 " & total)<br />

End Sub<br />

End Module<br />

計算階乘<br />

計算速度<br />

Page27


程式碼---17/CH9/ Module2<br />

Module Module2<br />

Sub finalv(ByVal seconds As Single, Optional ByVal v0 As Single = 0, _<br />

Optional ByVal accelaration As Single = 9.8)<br />

Console.WriteLine("初速" & v0 & ", 加速度" & accelaration & ", 經" & seconds & "秒後,")<br />

Dim velocity = v0 + accelaration * seconds<br />

Console.WriteLine("速度為" & velocity)<br />

End Sub<br />

Sub main()<br />

finalv(10, 15, 3)<br />

Console.WriteLine("_ _ _ _ _ _ ")<br />

finalv(10, 20)<br />

Console.WriteLine("_ _ _ _ _ _")<br />

finalv(10)<br />

End Sub<br />

End Module<br />

程式碼---17/CH9/ Module3<br />

Module Module3<br />

Sub doublearrayvalue(ByVal b() As Integer)<br />

For i = 0 To b.Length - 1<br />

b(i) *= 2<br />

Next<br />

End Sub<br />

Sub main()<br />

Dim a() As Integer = {1, 2, 3, 4}<br />

doublearrayvalue(a)<br />

For i = 0 To a.Length - 1<br />

Console.WriteLine(a(i))<br />

Next<br />

End Sub<br />

End Module<br />

整數陣列<br />

開獎號碼<br />

Page28


程式碼---17/CH9/ Form4<br />

Public Class Form4<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim draw(4) As Integer<br />

Dim lucky As Integer<br />

Randomize()<br />

For i = 0 To 4<br />

Next<br />

End Sub<br />

End Class<br />

While draw(i) = 0<br />

lucky = CInt(Int(Rnd() * 39) + 1)<br />

If Array.IndexOf(draw, lucky) = -1 Then<br />

End If<br />

End While<br />

draw(i) = lucky<br />

Label1.Text = draw(0)<br />

Label2.Text = draw(1)<br />

Label3.Text = draw(2)<br />

Label4.Text = draw(3)<br />

Label5.Text = draw(4)<br />

Button1.Text = "再試一次"<br />

程式碼---17/CH9/ Form5<br />

Public Class Form5<br />

遞回<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

End Sub<br />

Dim a%<br />

a = Val(TextBox1.Text)<br />

Label1.Text = fac(a)<br />

Function fac(ByVal i As Integer) As Long<br />

If i


程式碼---17/CH9/ Module6<br />

圓盤張數<br />

Module Module6<br />

Dim number As Integer<br />

Sub main()<br />

Dim n As Integer = 0<br />

number = 0<br />

Console.Write("圓盤的張數 = ")<br />

n = Console.ReadLine()<br />

aa(n, "A", "B", "C")<br />

Console.ReadLine()<br />

End Sub<br />

Sub aa(ByVal n, ByVal a, ByVal b, ByVal c)<br />

If n > 0 Then<br />

' 把 n-1 張圓盤從 a 移到 b<br />

aa(n - 1, a, c, b)<br />

' 把最下面的圓盤從 a 移到 c<br />

number += 1<br />

Console.WriteLine("{0} : {1} --> {2}", number, a, c)<br />

' 把 n-1 張圓盤從 b 移到 c<br />

aa(n - 1, b, a, c)<br />

End If<br />

End Sub<br />

End Module<br />

英文字母大寫、千分位符號、滑鼠移入變白色<br />

程式碼---17/CH10/ Form1<br />

Public Class Form1<br />

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)<br />

Handles TextBox1.KeyPress<br />

Select Case e.KeyChar<br />

Case "a" To "z"<br />

TextBox1.AppendText(Chr(Asc(e.KeyChar) - 32))<br />

Page30


e.Handled = True<br />

End Select<br />

End Sub<br />

Private Sub Form1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.MouseEnter<br />

Me.BackColor = Color.White<br />

End Sub<br />

Private Sub Form1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.MouseLeave<br />

Me.BackColor = SystemColors.Control<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a, c As String<br />

Dim m As Integer<br />

a = TextBox2.Text<br />

If Len(a) > 3 Then<br />

If Len(a) Mod 3 0 Then<br />

c = Mid(a, 1, Len(a) Mod 3)<br />

For m = Len(a) Mod 3 + 1 To Len(a) Step 3<br />

c = c + "," + Mid(a, m, 3)<br />

Next<br />

Else<br />

For m = 1 To Len(a) Step 3<br />

Next<br />

End If<br />

End If<br />

TextBox2.Text = c<br />

End Sub<br />

End Class<br />

程式碼---17/CH11/ EX1<br />

畫圖<br />

Public Class EX1<br />

Private Sub EX1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim g = e.Graphics<br />

g.DrawRectangle(Pens.Black, 10, 10, 126, 126)<br />

g.FillRectangle(Brushes.White, 11, 11, 124, 124)<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim g = Me.CreateGraphics<br />

Dim a%<br />

Refresh()<br />

a = Val(TextBox1.Text) * 2<br />

g.FillEllipse(Brushes.Black, 200, 10, a, a)<br />

If RadioButton1.Checked = True Then<br />

g.FillEllipse(Brushes.Purple, 200, 10, a, a)<br />

Page31


ElseIf RadioButton2.Checked = True Then<br />

g.FillEllipse(Brushes.SkyBlue, 200, 10, a, a)<br />

ElseIf RadioButton3.Checked = True Then<br />

g.FillEllipse(Brushes.LightGreen, 200, 10, a, a)<br />

ElseIf RadioButton4.Checked = True Then<br />

g.FillEllipse(Brushes.Pink, 200, 10, a, a)<br />

End If<br />

g.Dispose()<br />

End Sub<br />

Private Sub Button1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles<br />

Button1.SizeChanged<br />

Dim a As Integer<br />

a = Val(TextBox1.Text)<br />

End Sub<br />

End Class<br />

程式碼---17/CH11/ EX2<br />

播放音樂<br />

Public Class EX2<br />

Private Sub EX2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'AxWindowsMediaPlayer1.settings.autoStart = False<br />

'AxWindowsMediaPlayer1.URL = "\CH11\music.wma"<br />

HScrollBar1.Value = Me.AxWindowsMediaPlayer1.settings.volume<br />

Me.Timer1.Enabled = True<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.play()<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.pause()<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.stop()<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.fastReverse()<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.fastForward()<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then<br />

AxWindowsMediaPlayer1.URL = OpenFileDialog1.FileName<br />

End If<br />

End Sub<br />

Page32


Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

AxWindowsMediaPlayer1.fullScreen = True<br />

End Sub<br />

Private Sub AxWindowsMediaPlayer1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

AxWindowsMediaPlayer1.Enter<br />

Select Case AxWindowsMediaPlayer1.playState<br />

Case WMPLib.WMPPlayState.wmppsPlaying<br />

Button1.Enabled = False<br />

Button2.Enabled = True<br />

Button3.Enabled = True<br />

Button4.Enabled = True<br />

Button5.Enabled = True<br />

Case WMPLib.WMPPlayState.wmppsPaused<br />

Button1.Enabled = True<br />

Button2.Enabled = False<br />

Button3.Enabled = True<br />

Button4.Enabled = True<br />

Button5.Enabled = True<br />

Case WMPLib.WMPPlayState.wmppsStopped<br />

Button1.Enabled = True<br />

Button2.Enabled = True<br />

Button3.Enabled = False<br />

Button4.Enabled = True<br />

Button5.Enabled = True<br />

'Case WMPLib.WMPPlayState.wmppsReady<br />

' Button2.Enabled = False<br />

' Button3.Enabled = False<br />

' Button4.Enabled = False<br />

'Button5.Enabled = False<br />

End Select<br />

End Sub<br />

Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As<br />

System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll<br />

Me.AxWindowsMediaPlayer1.settings.volume = HScrollBar1.Value<br />

End Sub<br />

End Class<br />

程式碼---17/CH11/ Form1<br />

繪圖<br />

Public Class Form1<br />

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim g = e.Graphics<br />

g.DrawRectangle(Pens.DarkBlue, 10, 10, 20, 50)<br />

Dim bigpen = New Pen(Color.Pink, 3)<br />

Page33


g.DrawRectangle(bigpen, 50, 10, 40, 50)<br />

Dim biggerpen = New Pen(Color.Purple, 9)<br />

g.DrawRectangle(biggerpen, 100, 10, 30, 50)<br />

g.DrawLine(bigpen, 30, 90, 90, 160)<br />

g.DrawLine(biggerpen, 100, 80, 40, 150)<br />

Dim p1 = New Point(250, 250)<br />

Dim p2 = New Point(150, 150)<br />

Dim p3 = New Point(150, 15)<br />

Dim p4 = New Point(350, 15)<br />

Dim p5 = New Point(350, 150)<br />

g.DrawLine(Pens.LightSkyBlue, p1, p2)<br />

g.DrawLine(Pens.LightSkyBlue, p2, p3)<br />

g.DrawLine(Pens.LightSkyBlue, p3, p4)<br />

g.DrawLine(Pens.LightSkyBlue, p4, p5)<br />

g.DrawLine(Pens.LightSkyBlue, p5, p1)<br />

g.DrawRectangle(Pens.Green, 25, 250, 200, 100)<br />

g.DrawRectangle(Pens.Green, 25, 250, 200, 100)<br />

g.FillEllipse(Brushes.Orange, 25, 250, 200, 100)<br />

Dim p6 = New Point(200, 50)<br />

Dim p7 = New Point(100, 100)<br />

Dim p8 = New Point(300, 100)<br />

g.DrawLine(Pens.MediumBlue, p6, p7)<br />

g.DrawLine(Pens.MediumBlue, p7, p8)<br />

g.DrawLine(Pens.MediumBlue, p8, p6)<br />

End Sub<br />

End Class<br />

程式碼---17/CH11/ Form2<br />

預設筆刷<br />

Public Class Form2<br />

Private Sub Form2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim width = Me.ClientSize.Width / 10<br />

Dim height = Me.ClientSize.Height / 10<br />

Dim mybrushes() = {Brushes.Red, Brushes.Orange, Brushes.Yellow, Brushes.Green, _<br />

Brushes.Blue, Brushes.Indigo, Brushes.Purple, Brushes.White}<br />

Randomize()<br />

For i = 0 To 9<br />

For j = 0 To 9<br />

Dim index = Fix(Rnd() * 8)<br />

Dim size = Fix(Rnd() * width)<br />

Dim rect = New Rectangle(i * width + index, j * height + index, size, size)<br />

e.Graphics.FillEllipse(mybrushes(index), rect)<br />

Next<br />

Next<br />

End Sub<br />

Private Sub Form2_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged<br />

Me.Invalidate()<br />

End Sub<br />

End Class<br />

Page34


程式碼---17/CH11/ Form3<br />

圖片旋轉<br />

Public Class Form3<br />

Dim img As Image<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Try<br />

img = Image.FromFile("..\..\sample.png")<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End Try<br />

End Sub<br />

Private Sub Form3_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles<br />

Me.MouseClick<br />

If e.Button = Windows.Forms.MouseButtons.Left Then<br />

img.RotateFlip(RotateFlipType.Rotate270FlipNone)<br />

ElseIf e.Button = Windows.Forms.MouseButtons.Right Then<br />

img.RotateFlip(RotateFlipType.Rotate90FlipNone)<br />

End If<br />

Me.Invalidate()<br />

End Sub<br />

Private Sub Form3_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

e.Graphics.DrawImage(img, 0, 0, Me.ClientSize.Width, Me.ClientSize.Height)<br />

End Sub<br />

End Class<br />

長度、重量轉換<br />

Page35


程式碼---17/CH12/ EX1<br />

Public Class EX1<br />

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton1.Click<br />

Label1.ForeColor = Color.Navy<br />

Label2.ForeColor = Color.Navy<br />

Label3.ForeColor = Color.Navy<br />

Label7.ForeColor = Color.Navy<br />

Label8.ForeColor = Color.Navy<br />

End Sub<br />

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton2.Click<br />

Label1.ForeColor = Color.Green<br />

Label2.ForeColor = Color.Green<br />

Label3.ForeColor = Color.Green<br />

Label7.ForeColor = Color.Green<br />

Label8.ForeColor = Color.Green<br />

End Sub<br />

Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton3.Click<br />

Label1.ForeColor = Color.CornflowerBlue<br />

Label2.ForeColor = Color.CornflowerBlue<br />

Label3.ForeColor = Color.CornflowerBlue<br />

Label7.ForeColor = Color.CornflowerBlue<br />

Label8.ForeColor = Color.CornflowerBlue<br />

End Sub<br />

Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem2.Click<br />

Label1.Font = New Font(Label1.Font.Name, 14, Label1.Font.Style)<br />

Label2.Font = New Font(Label1.Font.Name, 14, Label1.Font.Style)<br />

Label3.Font = New Font(Label1.Font.Name, 14, Label1.Font.Style)<br />

Label7.Font = New Font(Label1.Font.Name, 14, Label1.Font.Style)<br />

Label8.Font = New Font(Label1.Font.Name, 14, Label1.Font.Style)<br />

ToolStripStatusLabel1.Text = "字型大小=14"<br />

End Sub<br />

Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem3.Click<br />

Label1.Font = New Font(Label1.Font.Name, 16, Label1.Font.Style)<br />

Label2.Font = New Font(Label1.Font.Name, 16, Label1.Font.Style)<br />

Label3.Font = New Font(Label1.Font.Name, 16, Label1.Font.Style)<br />

Label7.Font = New Font(Label1.Font.Name, 16, Label1.Font.Style)<br />

Label8.Font = New Font(Label1.Font.Name, 16, Label1.Font.Style)<br />

ToolStripStatusLabel1.Text = "字型大小=16"<br />

End Sub<br />

Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem4.Click<br />

Label1.Font = New Font(Label1.Font.Name, 18, Label1.Font.Style)<br />

Label2.Font = New Font(Label1.Font.Name, 18, Label1.Font.Style)<br />

Label3.Font = New Font(Label1.Font.Name, 18, Label1.Font.Style)<br />

Label7.Font = New Font(Label1.Font.Name, 18, Label1.Font.Style)<br />

Label8.Font = New Font(Label1.Font.Name, 18, Label1.Font.Style)<br />

ToolStripStatusLabel1.Text = "字型大小=18"<br />

End Sub<br />

Private Sub ToolStripMenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem5.Click<br />

Label1.Font = New Font(Label1.Font.Name, 20, Label1.Font.Style)<br />

Label2.Font = New Font(Label1.Font.Name, 20, Label1.Font.Style)<br />

Label3.Font = New Font(Label1.Font.Name, 20, Label1.Font.Style)<br />

Page36


Label7.Font = New Font(Label1.Font.Name, 20, Label1.Font.Style)<br />

Label8.Font = New Font(Label1.Font.Name, 20, Label1.Font.Style)<br />

ToolStripStatusLabel1.Text = "字型大小=20"<br />

End Sub<br />

Private Sub ToolStripMenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem6.Click<br />

Label1.Font = New Font(Label1.Font.Name, 22, Label1.Font.Style)<br />

Label2.Font = New Font(Label1.Font.Name, 22, Label1.Font.Style)<br />

Label3.Font = New Font(Label1.Font.Name, 22, Label1.Font.Style)<br />

Label7.Font = New Font(Label1.Font.Name, 22, Label1.Font.Style)<br />

Label8.Font = New Font(Label1.Font.Name, 22, Label1.Font.Style)<br />

ToolStripStatusLabel1.Text = "字型大小=22"<br />

End Sub<br />

Private Sub 公尺轉英尺ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 公尺轉英呎ToolStripMenuItem.Click<br />

Label4.Text = Val(TextBox1.Text)<br />

Label6.Text = Val(TextBox1.Text) * 3.28084<br />

End Sub<br />

Private Sub 英呎轉公尺ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 英呎轉公尺ToolStripMenuItem.Click<br />

Label6.Text = Val(TextBox1.Text)<br />

Label4.Text = Val(TextBox1.Text) / 3.28084<br />

End Sub<br />

Private Sub 公斤轉英磅ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 公斤轉英磅ToolStripMenuItem.Click<br />

Label9.Text = Val(TextBox1.Text)<br />

Label11.Text = Val(TextBox1.Text) * 2.20462<br />

End Sub<br />

Private Sub 英磅轉公斤ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 英磅轉公斤ToolStripMenuItem.Click<br />

Label11.Text = Val(TextBox1.Text)<br />

Label9.Text = Val(TextBox1.Text) / 2.20462<br />

End Sub<br />

End Class<br />

程式碼---17/CH12/ Form1<br />

控制字型樣式、大小<br />

Public Class Form1<br />

Dim x%<br />

Private Sub 放大ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

放大ToolStripMenuItem.Click<br />

Me.Width *= 1.2<br />

Me.Height *= 1.2<br />

End Sub<br />

Private Sub 縮小ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Page37


縮小ToolStripMenuItem.Click<br />

Me.Width *= 0.8<br />

Me.Height *= 0.8<br />

End Sub<br />

Private Sub 還原ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

還原ToolStripMenuItem.Click<br />

Me.Width = 300<br />

Me.Height = 300<br />

End Sub<br />

Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem2.Click<br />

x = 200<br />

Me.Invalidate()<br />

ToolStripMenuItem3.Checked = False<br />

ToolStripMenuItem4.Checked = False<br />

End Sub<br />

Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem3.Click<br />

x = 300<br />

Me.Invalidate()<br />

ToolStripMenuItem2.Checked = False<br />

ToolStripMenuItem4.Checked = False<br />

End Sub<br />

Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem4.Click<br />

x = 400<br />

Me.Invalidate()<br />

ToolStripMenuItem2.Checked = False<br />

ToolStripMenuItem3.Checked = False<br />

End Sub<br />

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim g = e.Graphics<br />

g.Clear(Me.BackColor)<br />

g.FillEllipse(Brushes.Black, 10, 60, x, x)<br />

End Sub<br />

Private Sub PurpleToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles PurpleToolStripMenuItem.Click<br />

Me.BackColor = Color.Purple<br />

End Sub<br />

Private Sub BlueToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

BlueToolStripMenuItem.Click<br />

Me.BackColor = Color.SkyBlue<br />

End Sub<br />

Private Sub GreenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

GreenToolStripMenuItem.Click<br />

Me.BackColor = Color.Green<br />

End Sub<br />

Private Sub PinkToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

PinkToolStripMenuItem.Click<br />

Me.BackColor = Color.Pink<br />

End Sub<br />

Private Sub 一般ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

一般ToolStripMenuItem.Click<br />

Label1.Font = New Font(Label1.Font, FontStyle.Regular)<br />

End Sub<br />

Private Sub 粗體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

粗體ToolStripMenuItem.Click<br />

Label1.Font = New Font(Label1.Font, FontStyle.Bold)<br />

End Sub<br />

Page38


Private Sub 斜體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

斜體ToolStripMenuItem.Click<br />

Label1.Font = New Font(Label1.Font, FontStyle.Italic)<br />

End Sub<br />

Private Sub 粗斜體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 粗斜體ToolStripMenuItem.Click<br />

Label1.Font = New Font(Label1.Font, FontStyle.Bold Or FontStyle.Italic)<br />

End Sub<br />

Private Sub ToolStripMenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem6.Click<br />

Label1.Font = New Font(Label1.Font.Name, 14, Label1.Font.Style)<br />

End Sub<br />

Private Sub ToolStripMenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem7.Click<br />

Label1.Font = New Font(Label1.Font.Name, 18, Label1.Font.Style)<br />

End Sub<br />

Private Sub ToolStripMenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem8.Click<br />

Label1.Font = New Font(Label1.Font.Name, 22, Label1.Font.Style)<br />

End Sub<br />

Private Sub 標楷體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 標楷體ToolStripMenuItem.Click<br />

Label1.Font = New Font("標楷體", Label1.Font.Size, Label1.Font.Style)<br />

End Sub<br />

Private Sub 新細明體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 新細明體ToolStripMenuItem.Click<br />

Label1.Font = New Font("新細明體", Label1.Font.Size, Label1.Font.Style)<br />

End Sub<br />

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton1.Click<br />

Label1.ForeColor = Color.PaleGreen<br />

End Sub<br />

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton2.Click<br />

Label1.ForeColor = Color.LightSalmon<br />

End Sub<br />

Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton3.Click<br />

Label1.ForeColor = Color.LightCyan<br />

End Sub<br />

Private Sub ToolStripLabel1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripLabel1.Click<br />

Shell("c:\windows\notepad.exe", AppWinStyle.NormalFocus)<br />

End Sub<br />

Private Sub ToolStripLabel2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripLabel2.Click<br />

Shell("c:\windows\system32\calc.exe", AppWinStyle.NormalFocus)<br />

End Sub<br />

End Class<br />

平均分數程式<br />

Page39


程式碼---17/CH13/ EX1<br />

Public Class EX1<br />

Dim MenuFilepath = "D:\CH13\Score.csv"<br />

Dim MenuItems As New ArrayList<br />

Private Sub EX1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Try<br />

Dim MenuReader = My.Computer.FileSystem.OpenTextFieldParser(MenuFilepath, ",")<br />

While Not MenuReader.EndOfData<br />

Dim onerow() = MenuReader.ReadFields()<br />

MenuItems.Add(onerow)<br />

ListBox1.Items.Add(onerow(0) & "- " & onerow(1) & "分" & ", " & onerow(2) & "分")<br />

End While<br />

MenuReader.Close()<br />

Calc()<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End Try<br />

End Sub<br />

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles ListBox1.SelectedIndexChanged<br />

MsgBox(ListBox1.SelectedIndex)<br />

If ListBox1.SelectedIndex > -1 Then<br />

TextBox1.Text = MenuItems(ListBox1.SelectedIndex)(0)<br />

TextBox2.Text = MenuItems(ListBox1.SelectedIndex)(1)<br />

TextBox3.Text = MenuItems(ListBox1.SelectedIndex)(2)<br />

End If<br />

End Sub<br />

Sub Calc()<br />

Dim i, eng_sum, math_sum As Integer<br />

For Each item In MenuItems 'ArrayList一次就是讀一列<br />

eng_sum += item(1)<br />

math_sum += item(2)<br />

i += 1<br />

Next<br />

Label6.Text = Format(eng_sum / i, "#.##")<br />

Label7.Text = Format(math_sum / i, "#.##")<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

MenuItems.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

TextBox1.Text = ""<br />

TextBox2.Text = ""<br />

TextBox3.Text = ""<br />

Calc()<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

If TextBox2.Text "" And Val(TextBox2.Text) >= 0 And Val(TextBox3.Text) >= 0 Then<br />

Dim newitem() = {TextBox1.Text, TextBox2.Text, TextBox3.Text}<br />

MenuItems.Add(newitem)<br />

ListBox1.Items.Add(TextBox1.Text & " : 英文 " & TextBox2.Text & "分,數學 " & TextBox3.Text & "<br />

分")<br />

Calc()<br />

Else<br />

MsgBox("輸入錯誤!")<br />

End If<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

MenuItems(ListBox1.SelectedIndex)(0) = TextBox1.Text<br />

Page40


MenuItems(ListBox1.SelectedIndex)(1) = TextBox2.Text<br />

MenuItems(ListBox1.SelectedIndex)(2) = TextBox3.Text<br />

ListBox1.Items(ListBox1.SelectedIndex) = MenuItems(ListBox1.SelectedIndex)(0) & " : 英文 " &<br />

MenuItems(ListBox1.SelectedIndex)(1) & "分,數學 " & MenuItems(ListBox1.SelectedIndex)(2) & "分"<br />

Calc()<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Try<br />

Dim menuwriter = My.Computer.FileSystem.OpenTextFileWriter(MenuFilepath, False)<br />

For Each item In MenuItems<br />

menuwriter.WriteLine(item(0) & "," & item(1) & "," & item(2))<br />

Next<br />

menuwriter.Flush()<br />

menuwriter.Close()<br />

MsgBox("儲存成功")<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End Try<br />

End Sub<br />

End Class<br />

程式碼---17/CH13/ Form1<br />

開檔、存檔功能<br />

Public Class Form1<br />

Dim filechanged As Boolean = False<br />

Private Sub textbox1_textchanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles<br />

TextBox1.TextChanged<br />

If (filechanged = False) Then<br />

filechanged = True<br />

Me.Text &= "*"<br />

End If<br />

End Sub<br />

Private Sub asksave()<br />

If filechanged = True Then<br />

If MsgBox("是否要儲存檔案?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then<br />

SaveFile()<br />

End If<br />

End If<br />

End Sub<br />

Private Sub 開啟檔案ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 開啟檔案ToolStripMenuItem.Click<br />

asksave()<br />

If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then<br />

Page41


Try<br />

TextBox1.Text = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)<br />

Me.Text = OpenFileDialog1.SafeFileName<br />

filechanged = False<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End Try<br />

End If<br />

End Sub<br />

Sub SaveFile()<br />

If Big5ToolStripMenuItem.Checked Then<br />

My.Computer.FileSystem.WriteAllText(OpenFileDialog1.FileName, TextBox1.Text, False,<br />

System.Text.Encoding.GetEncoding(950))<br />

Else<br />

My.Computer.FileSystem.WriteAllText(OpenFileDialog1.FileName, TextBox1.Text, False)<br />

End If<br />

End Sub<br />

Private Sub 儲存檔案ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 儲存檔案ToolStripMenuItem.Click<br />

SaveFile()<br />

filechanged = False<br />

Me.Text = SaveFileDialog1.FileName<br />

End Sub<br />

Private Sub 另存新檔ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 另存新檔ToolStripMenuItem.Click<br />

If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

SaveFile()<br />

End If<br />

End Sub<br />

Private Sub 關閉檔案ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 關閉檔案ToolStripMenuItem.Click<br />

asksave()<br />

Me.Text = "未命名"<br />

TextBox1.Text = ""<br />

filechanged = False<br />

End Sub<br />

Private Sub 離開ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

離開ToolStripMenuItem.Click<br />

End<br />

End Sub<br />

Private Sub Big5ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Big5ToolStripMenuItem.Click<br />

UTF8ToolStripMenuItem.Checked = False<br />

UTF16ToolStripMenuItem.Checked = False<br />

End Sub<br />

Private Sub UTF8ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

UTF8ToolStripMenuItem.Click<br />

Big5ToolStripMenuItem.Checked = False<br />

UTF16ToolStripMenuItem.Checked = False<br />

End Sub<br />

Private Sub UTF16ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

UTF16ToolStripMenuItem.Click<br />

Big5ToolStripMenuItem.Checked = False<br />

UTF8ToolStripMenuItem.Checked = False<br />

End Sub<br />

End Class<br />

Page42


程式碼---17/CH13/ Form2<br />

文字編輯程式<br />

Public Class Form2<br />

Dim writer As System.IO.StreamWriter<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

Dim linenum As Integer = 1<br />

Try<br />

Dim reader = My.Computer.FileSystem.OpenTextFileReader(OpenFileDialog1.FileName)<br />

While reader.EndOfStream = False<br />

Dim singleline = reader.ReadLine()<br />

TextBox1.Text &= linenum.ToString("D3") & "" & singleline & vbAbort<br />

linenum += 1<br />

End While<br />

reader.Close()<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End Try<br />

End If<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

Try<br />

'儲存檔案<br />

My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, False)<br />

logging("儲存檔案:" & SaveFileDialog1.FileName)<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End Try<br />

End If<br />

End Sub<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Try<br />

'以附加方式開啟紀錄檔<br />

writer = My.Computer.FileSystem.OpenTextFileWriter("..\..\Logfile.log", True)<br />

logging("程式啟動")<br />

Catch ex As Exception<br />

MsgBox("無法開啟紀錄檔," & ex.Message)<br />

Me.Close()<br />

End Try<br />

End Sub<br />

Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)<br />

Handles Me.FormClosing<br />

If Not (writer Is Nothing) Then<br />

logging("程式結束")<br />

writer.Close()<br />

End If<br />

End Sub<br />

Sub logging(ByVal message As String)<br />

'在訊息前加上目前時間並寫入紀錄檔<br />

writer.WriteLine(Now & "," & message)<br />

End Sub<br />

End Class<br />

Page43


程式碼---17/CH13/ Form3<br />

點菜程式<br />

Public Class Form3<br />

Dim menufilepath = "D:\CH13\Menu.csv"<br />

Dim menuitems As New ArrayList() '儲存菜單的陣列<br />

Dim orderdetail As New ArrayList()<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Try<br />

Dim menureader = My.Computer.FileSystem.OpenTextFieldParser(menufilepath, ",")<br />

While Not menureader.EndOfData<br />

Dim onerow() = menureader.ReadFields()<br />

menuitems.Add(onerow)<br />

ListBox1.Items.Add(onerow(0) & "-" & onerow(1) & "元")<br />

End While<br />

menureader.Close()<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End Try<br />

End Sub<br />

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles ListBox1.SelectedIndexChanged<br />

Dim index = ListBox1.SelectedIndex<br />

If index >= 0 Then<br />

TextBox1.Text = menuitems(index)(0)<br />

TextBox2.Text = menuitems(index)(1)<br />

End If<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

'刪除所選項目<br />

menuitems.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

If TextBox2.Text "" And Val(TextBox2.Text) Then<br />

Dim newitem() = {TextBox1.Text, TextBox2.Text}<br />

menuitems.Add(newitem)<br />

ListBox1.Items.Add(TextBox1.Text & "-" & TextBox2.Text & "元")<br />

Else<br />

Page44


MsgBox("輸入錯誤!")<br />

End If<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Dim index = ListBox1.SelectedIndex<br />

If index >= 0 Then<br />

menuitems(index)(0) = TextBox1.Text<br />

menuitems(index)(1) = TextBox2.Text<br />

ListBox1.Items(index) = menuitems(index)(0) & "-" & menuitems(index)(1) & "元"<br />

End If<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Try<br />

Dim menuwriter = My.Computer.FileSystem.OpenTextFileWriter(menufilepath, False)<br />

For Each item In menuitems '寫入格式為「菜色名稱,價格」<br />

menuwriter.WriteLine(item(0) & "," & item(1))<br />

Next<br />

menuwriter.Close()<br />

MsgBox("儲存成功")<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End Try<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

Dim index = ListBox1.SelectedIndex<br />

If index >= 0 And Val(TextBox3.Text) > 0 Then<br />

Dim entry() = {menuitems(index)(0), TextBox3.Text, TextBox3.Text * menuitems(index)(1)}<br />

orderdetail.Add(entry)<br />

ListBox2.Items.Add(menuitems(index)(0) & "," & TextBox3.Text & "份, " & Val(TextBox3.Text) *<br />

menuitems(index)(1) & "元")<br />

Else<br />

MsgBox("需選取菜色且數量大於0")<br />

End If<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

Dim index = ListBox2.SelectedIndex<br />

If index >= 0 Then<br />

ListBox2.Items.RemoveAt(index)<br />

orderdetail.RemoveAt(index)<br />

End If<br />

End Sub<br />

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

If ListBox2.Items.Count > 0 Then<br />

Dim orderwriter = My.Computer.FileSystem.OpenTextFileWriter("D:\CH13\Orders.csv", True)<br />

Dim msg As String = "你點了:" & vbCrLf<br />

Dim subtotal As Integer = 0<br />

For i = 0 To orderdetail.Count - 1<br />

orderwriter.WriteLine(Now & orderdetail(i)(0) & "," & orderdetail(i)(1) & "," &<br />

orderdetail(i)(2))<br />

msg &= ListBox2.Items(i) & vbCrLf<br />

subtotal += orderdetail(i)(2)<br />

Next<br />

orderwriter.Close()<br />

ListBox2.Items.Clear()<br />

orderdetail.Clear()<br />

MsgBox(msg & vbCrLf & "共" & subtotal & "元")<br />

Else<br />

MsgBox("你還沒點菜")<br />

End If<br />

End Sub<br />

End Class<br />

Page45


程式碼---17/CH13-1/ Form1<br />

Public Class Form1<br />

顯示資料夾與檔案清單<br />

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

TextBox1.Text = CurDir() '顯示目前路徑<br />

TextBox1.SelectionStart = Len(TextBox1.Text)<br />

TextBox1.Focus()<br />

Function formatdir(ByVal strdir As String)<br />

If Microsoft.VisualBasic.Right(strdir, 1) "\" Then<br />

End If<br />

strdir &= "\"<br />

Return (strdir)<br />

End Function<br />

Sub display()<br />

ChDir(TextBox1.Text)<br />

Dim strItem$<br />

ListBox1.Items.Clear()<br />

ListBox2.Items.Clear()<br />

strItem = Dir("*.*", 18)<br />

Do Until strItem = ""<br />

Loop<br />

End Sub<br />

If (GetAttr(strItem) And vbDirectory) = 16 Then<br />

Else<br />

End If<br />

ListBox1.Items.Add(strItem)<br />

ListBox2.Items.Add(strItem)<br />

strItem = Dir() '下一個<br />

Page46


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

End Sub<br />

display()<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

End Sub<br />

ChDir("..") '切換到上一層目錄<br />

TextBox1.Text = CurDir()<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

End Sub<br />

'TextBox1.Text = formatdir(TextBox1.Text)<br />

Try '錯誤處理<br />

MkDir(TextBox1.Text) '建立資料夾<br />

Catch ex As Exception<br />

End Try<br />

MsgBox("你已建立過了喔!", 0 + 64, "")<br />

display()<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

TextBox1.Text = formatdir(TextBox1.Text)<br />

Dim curdir$<br />

curdir = TextBox1.Text & ListBox1.SelectedItem<br />

Try<br />

End Sub<br />

My.Computer.FileSystem.DeleteDirectory(curdir, FileIO.DeleteDirectoryOption.DeleteAllContents)<br />

'刪除資料夾<br />

Catch ex As Exception<br />

End Try<br />

MsgBox("該目錄以不存在喔!", 0 + 48, "")<br />

display()<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

TextBox1.Text = formatdir(TextBox1.Text)<br />

Dim curdir$<br />

curdir = TextBox1.Text & ListBox2.SelectedItem<br />

Try<br />

End Sub<br />

My.Computer.FileSystem.DeleteFile(curdir)<br />

Catch ex As Exception<br />

End Try<br />

MsgBox("該目錄以不存在喔!", 0 + 48, "")<br />

display()<br />

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Page47


Handles ListBox1.SelectedIndexChanged<br />

End Sub<br />

TextBox1.Text = formatdir(TextBox1.Text)<br />

TextBox1.Text = TextBox1.Text & ListBox1.SelectedItem<br />

display()<br />

Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles ListBox2.SelectedIndexChanged<br />

"<br />

End Sub<br />

End Class<br />

TextBox1.Text = formatdir(TextBox1.Text)<br />

ToolStripStatusLabel1.Text = "檔案大小:" & FileLen(TextBox1.Text & ListBox2.SelectedItem) & " Bytes<br />

ToolStripStatusLabel2.Text = "修改日期:" & FileDateTime(TextBox1.Text & ListBox2.SelectedItem)<br />

Select Case GetAttr(TextBox1.Text & ListBox2.SelectedItem)<br />

Case 39<br />

Case 36<br />

Case 35<br />

Case 34<br />

Case 32<br />

Case 7<br />

Case 6<br />

Case 5<br />

Case 4<br />

Case 3<br />

Case 2<br />

Case 1<br />

End Select<br />

Label4.Text = "檔案屬性:一般、系統、隱藏、唯讀"<br />

Label4.Text = "檔案屬性:一般、系統"<br />

Label4.Text = "檔案屬性:一般、 隱藏、唯讀"<br />

Label4.Text = "檔案屬性:一般、 隱藏"<br />

Label4.Text = "檔案屬性:一般"<br />

Label4.Text = "檔案屬性: 系統、隱藏、唯讀"<br />

Label4.Text = "檔案屬性: 系統、隱藏"<br />

Label4.Text = "檔案屬性: 系統、 唯讀"<br />

Label4.Text = "檔案屬性: 系統"<br />

Label4.Text = "檔案屬性: 隱藏、唯讀"<br />

Label4.Text = "檔案屬性: 隱藏"<br />

Label4.Text = "檔案屬性: 唯讀"<br />

Page48


程式碼---17/CH14-1/ Form1<br />

書籍資料庫-1<br />

Public Class Form1<br />

Private Sub 書籍BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 書籍BindingNavigatorSaveItem.Click<br />

Me.Validate()<br />

Me.書籍BindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.產品DataSet)<br />

End Sub<br />

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet.書籍)<br />

End Sub<br />

End Class<br />

程式碼---17/CH14-1/ Form2<br />

成衣資料庫<br />

Public Class Form2<br />

Private Sub TshirtBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles TshirtBindingNavigatorSaveItem.Click<br />

Me.Validate()<br />

Me.TshirtBindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.成衣DataSet)<br />

End Sub<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'TODO: 這行程式碼會將資料載入 '成衣DataSet.Tshirt' 資料表。您可以視需要進行移動或移除。<br />

Me.TshirtTableAdapter.Fill(Me.成衣DataSet.Tshirt)<br />

End Sub<br />

End Class<br />

Page49


程式碼---17/CH14-1/ Form3<br />

Public Class Form3<br />

書籍資料庫-2<br />

Private Sub 書籍BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 書籍BindingNavigatorSaveItem.Click<br />

End Sub<br />

Me.Validate()<br />

Me.書籍BindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.產品DataSet1)<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

End Class<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet1.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet1.書籍)<br />

書籍資料庫-3<br />

Page50


程式碼---17/CH14-1/ Form4<br />

Public Class Form4<br />

Private Sub Form4_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)<br />

Handles Me.FormClosing<br />

End Sub<br />

DataGridView1.EndEdit()<br />

書籍TableAdapter.Update(產品DataSet.書籍)<br />

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

End Class<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet.書籍)<br />

程式碼---17/CH14-1/ Form5<br />

Public Class Form5<br />

書籍資料庫-4<br />

Private Sub 書籍BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 書籍BindingNavigatorSaveItem.Click<br />

End Sub<br />

Me.Validate()<br />

Me.書籍BindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.產品DataSet1)<br />

Private Sub Form5_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)<br />

Handles Me.FormClosing<br />

End Sub<br />

DataGridView1.EndEdit()<br />

書籍TableAdapter.Update(產品DataSet1.書籍)<br />

Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

End Class<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet1.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet1.書籍)<br />

Page51


程式碼---17/CH14-1/ Form6<br />

Public Class Form6<br />

成衣資料庫<br />

Private Sub TshirtBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles TshirtBindingNavigatorSaveItem.Click<br />

End Sub<br />

Me.Validate()<br />

Me.TshirtBindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.成衣DataSet1)<br />

Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

End Class<br />

'TODO: 這行程式碼會將資料載入 '成衣DataSet1.Tshirt' 資料表。您可以視需要進行移動或移除。<br />

Me.TshirtTableAdapter.Fill(Me.成衣DataSet1.Tshirt)<br />

程式碼---17/CH14-1/ Form7<br />

查閱欄位<br />

Public Class Form7<br />

Private Sub 書籍BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 書籍BindingNavigatorSaveItem.Click<br />

Me.Validate()<br />

Me.書籍BindingSource.EndEdit()<br />

Page52


Me.TableAdapterManager.UpdateAll(Me.產品DataSet1)<br />

End Sub<br />

Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Me.類別TableAdapter.Fill(Me.產品DataSet1.類別)<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet1.書籍)<br />

End Sub<br />

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton1.Click<br />

OpenFileDialog1.Filter = "圖檔|*.jpg;*.gif;*.jpeg;*.png;*.tif|所有檔案|*.*"<br />

If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then<br />

圖片PictureBox.Image = New Bitmap(OpenFileDialog1.FileName)<br />

End If<br />

End Sub<br />

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton2.Click<br />

圖片PictureBox.Image = Nothing<br />

End Sub<br />

End Class<br />

程式碼---17/Exam1 / Form1<br />

Public Class Form1<br />

加減乘除<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

End Sub<br />

TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)<br />

Label5.Text = "+"<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

End Sub<br />

TextBox3.Text = Val(TextBox1.Text) - Val(TextBox2.Text)<br />

Label5.Text = "-"<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

End Sub<br />

TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text)<br />

Label5.Text = "╳"<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

End Sub<br />

End Class<br />

TextBox3.Text = Val(TextBox1.Text) / Val(TextBox2.Text)<br />

Label5.Text = "÷"<br />

Page53


程式碼---17/Exam1 / Form2<br />

Public Class Form2<br />

'清除鍵<br />

購買清單<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

TextBox4.Text<br />

'輸入鍵<br />

End Sub<br />

& "金額"<br />

TextBox5.Text += vbCrLf & TextBox1.Text & vbTab & TextBox2.Text & vbTab & TextBox3.Text & vbTab &<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

End Sub<br />

& "金額"<br />

TextBox5.Text = ""<br />

TextBox5.Text = " 購買清單 " & Now() & vbCrLf & "品名" & vbTab & "單價" & vbTab & "數量" & vbTab<br />

Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated<br />

End Sub<br />

TextBox5.Text = " 購買清單 " & Now() & vbCrLf & "品名" & vbTab & "單價" & vbTab & "數量" & vbTab<br />

Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox4.TextChanged<br />

End Sub<br />

Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox3.TextChanged<br />

End Sub<br />

TextBox4.Text = Val(TextBox2.Text) * Val(TextBox3.Text)<br />

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox2.TextChanged<br />

End Sub<br />

End Class<br />

TextBox4.Text = Val(TextBox2.Text) * Val(TextBox3.Text)<br />

Page54


程式碼---17/Exam1 / Form3<br />

Public Class Form3<br />

Dim ans<br />

計算 BMI 值、三角形面積<br />

Private Sub Form3_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load<br />

ans = MsgBox("您快樂嗎?", 4 + 32, "問答題")<br />

If ans = 6 Then<br />

Else<br />

End Sub<br />

End If<br />

Label1.Text = "請輸入體重(公斤)="<br />

Label2.Text = "請輸入身高(公分)="<br />

Me.Text = "計算BMI值"<br />

Label1.Text = "請輸入底 ="<br />

Label2.Text = "請輸入高 ="<br />

Me.Text = "計算三角形面積"<br />

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox1.TextChanged<br />

If ans = 6 Then<br />

Else<br />

End Sub<br />

End If<br />

Label3.Text = "BMI值 = " & Math.Round(Val(TextBox1.Text) / (Val(TextBox2.Text) / 100) ^ 2, 1)<br />

Label3.Text = "三角形面積 = " & Math.Round((Val(TextBox1.Text) * Val(TextBox2.Text) / 2), 1)<br />

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox2.TextChanged<br />

If ans = 6 Then<br />

Else<br />

End Sub<br />

End Class<br />

End If<br />

Label3.Text = "BMI值 = " & Math.Round(Val(TextBox1.Text) / (Val(TextBox2.Text) / 100) ^ 2, 1)<br />

Label3.Text = "三角形面積 = " & Math.Round((Val(TextBox1.Text) * Val(TextBox2.Text) / 2), 1)<br />

Page55


程式碼---17/Exam2 / Form1<br />

單數值之和<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a, t As Integer<br />

If Val(TextBox1.Text) Mod 7 = 0 Then<br />

a = Val(TextBox1.Text) / 7<br />

Else<br />

a = Val(TextBox1.Text) \ 7<br />

End If<br />

For i = 7 To a * 7 Step 7<br />

t = t + i<br />

Next i<br />

Label2.Text = "計算結果:" & t<br />

TextBox1.Focus()<br />

End Sub<br />

End Class<br />

程式碼---17/Exam2 / Form2<br />

電費計算<br />

Public Class Form2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a%, fee%<br />

a = CInt(Val(TextBox1.Text))<br />

If a > 330 Then<br />

fee = 2.1 * 110 + 2.7 * 220 + 3.6 * (a - 330)<br />

Else<br />

If a > 110 Then<br />

fee = 2.1 * 110 + 2.7 * (a - 110)<br />

Else<br />

If a > 40 Then<br />

fee = 2.1 * a<br />

Else<br />

fee = 2.1 * 40<br />

End If<br />

End If<br />

End If<br />

Label1.Text = "電費共 " & CInt(fee) & " 元"<br />

End Sub<br />

End Class<br />

Page56


程式碼---17/Exam3 / Form1<br />

費氏數列<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If Val(TextBox1.Text) < 1 Then<br />

MsgBox("請輸入大於0的數", 0 + 16, "錯誤")<br />

TextBox1.Text = ""<br />

Else<br />

TextBox2.Text = Fib(Val(TextBox1.Text))<br />

End If<br />

End Sub<br />

Function Fib(ByVal K As Integer) As Decimal<br />

If K


Dim a, b As Integer<br />

a = Int(Rnd() * 6 + 1)<br />

b = Int(Rnd() * 6 + 1)<br />

PictureBox1.Image = New Bitmap("..\..\" & a & ".gif")<br />

PictureBox2.Image = New Bitmap("..\..\" & b & ".gif")<br />

If (a + b < 7 And RadioButton1.Checked = True) Or (a + b > 6 And RadioButton2.Checked = True) Then<br />

win += 1<br />

MsgBox("你贏了,共贏了" & win & "次,輸了" & lost & "次", 48 + 0, "^_^")<br />

Else<br />

lost += 1<br />

MsgBox("你輸了,共贏了" & win & "次,輸了" & lost & "次", 16 + 0, ">_


程式碼---17/Exam4 / Form2<br />

Imports System.Drawing.Drawing2D<br />

Public Class Form2<br />

Private Sub Form2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim g = e.Graphics<br />

g.FillEllipse(Brushes.Black, 0, 0, Me.ClientSize.Width, Me.ClientSize.Height)<br />

g.FillEllipse(Brushes.White, 2, 2, Me.ClientSize.Width - 4, Me.ClientSize.Height - 4)<br />

Dim a = New Point(ClientSize.Width / 2, 0)<br />

Dim b = New Point(ClientSize.Width / 2, ClientSize.Height)<br />

Dim c = New Point(0, ClientSize.Height / 2)<br />

Dim d = New Point(ClientSize.Width, ClientSize.Height / 2)<br />

g.DrawLine(Pens.Black, a, b)<br />

g.DrawLine(Pens.Black, c, d)<br />

End Sub<br />

Private Sub Form2_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged<br />

Me.Invalidate()<br />

End Sub<br />

End Class<br />

程式碼---17/Exam4 / Form3<br />

MP3 播放器<br />

Public Class Form3<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Select Case ListBox1.SelectedIndex<br />

Case 0<br />

AxWindowsMediaPlayer1.URL = "c:\Exam4\1.mp3"<br />

AxWindowsMediaPlayer1.Ctlcontrols.play()<br />

Case 1<br />

AxWindowsMediaPlayer1.URL = "c:\Exam4\2.mp3"<br />

AxWindowsMediaPlayer1.Ctlcontrols.play()<br />

Case 2<br />

AxWindowsMediaPlayer1.URL = "c:\Exam4\3.mp3"<br />

AxWindowsMediaPlayer1.Ctlcontrols.play()<br />

Case Else<br />

MsgBox("未選取檔案!", 0 + 64, "注意")<br />

End Select<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.stop()<br />

End Sub<br />

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick<br />

Label1.Text = AxWindowsMediaPlayer1.Ctlcontrols.currentPositionString<br />

End Sub<br />

End Class<br />

Page59


程式碼---17/Exam5 / Form1<br />

Public Class Form1<br />

Dim x%, y%, xd%, yd%<br />

Dim g As Graphics<br />

Dim brush As SolidBrush<br />

螢幕保護程式<br />

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick<br />

Dim font As Font = New Font("標楷體", 22)<br />

g = Me.CreateGraphics<br />

Randomize()<br />

Select Case Int(Rnd() * 10)<br />

Case 0<br />

Case 1<br />

Case 2<br />

Case 3<br />

Case 4<br />

Case 5<br />

Case 6<br />

Case 7<br />

Case 8<br />

Case 9<br />

End Select<br />

g.Clear(Color.LightSkyBlue)<br />

g.Clear(Color.LightGreen)<br />

g.Clear(Color.Cyan)<br />

g.Clear(Color.Chocolate)<br />

g.Clear(Color.Plum)<br />

g.Clear(Color.Pink)<br />

g.Clear(Color.Aqua)<br />

g.Clear(Color.DarkOrange)<br />

g.Clear(Color.Azure)<br />

g.Clear(Color.Beige)<br />

Select Case Int(Rnd() * 10)<br />

Case 0<br />

Case 1<br />

brush = New SolidBrush(Color.LightSalmon)<br />

Page60


Case 2<br />

Case 3<br />

Case 4<br />

Case 5<br />

Case 6<br />

Case 7<br />

Case 8<br />

Case 9<br />

End Select<br />

brush = New SolidBrush(Color.Purple)<br />

brush = New SolidBrush(Color.Red)<br />

brush = New SolidBrush(Color.PeachPuff)<br />

brush = New SolidBrush(Color.DarkGreen)<br />

brush = New SolidBrush(Color.DarkBlue)<br />

brush = New SolidBrush(Color.Brown)<br />

brush = New SolidBrush(Color.Turquoise)<br />

brush = New SolidBrush(Color.PaleVioletRed)<br />

brush = New SolidBrush(Color.Teal)<br />

g.DrawString("展現變化莫測的色彩", font, brush, x, y)<br />

If xd = 1 Then<br />

Else<br />

End If<br />

x -= 30<br />

x += 30<br />

If x > (Me.ClientSize.Width - 250) Then<br />

End If<br />

xd = 1<br />

If x < 1 Then<br />

End If<br />

xd = 0<br />

If yd = 1 Then<br />

Else<br />

End Sub<br />

End If<br />

y -= 15<br />

y += 15<br />

If y > (Me.ClientSize.Height - 30) Then<br />

End If<br />

yd = 1<br />

If y < 1 Then<br />

End If<br />

yd = 0<br />

Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles<br />

Me.MouseClick<br />

End<br />

End Sub<br />

End Class<br />

Page61


程式碼---17/Exam5 / Form2<br />

顯示資料夾內的子資料夾<br />

Public Class Form2<br />

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load<br />

TextBox1.Text = CurDir()<br />

TextBox1.SelectionStart = Len(TextBox1.Text)<br />

TextBox1.Focus()<br />

End Sub<br />

Function formatDir(ByVal strDir As String)<br />

If Microsoft.VisualBasic.Right(strDir, 1) "\" Then<br />

strDir &= "\"<br />

End If<br />

Return strDir<br />

End Function<br />

Sub Display()<br />

ChDir(TextBox1.Text)<br />

Dim strItem$<br />

ListBox1.Items.Clear()<br />

ListBox2.Items.Clear()<br />

strItem = Dir("*.*", 18)<br />

Do Until strItem = ""<br />

If (GetAttr(strItem) And vbDirectory) = 16 Then<br />

ListBox1.Items.Add(strItem)<br />

Else<br />

ListBox2.Items.Add(strItem)<br />

End If<br />

strItem = Dir()<br />

Loop<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Try<br />

MkDir(TextBox1.Text)<br />

Catch ex As Exception<br />

MsgBox("該目錄已存在!", 0 + 48, "")<br />

End Try<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

Dim CurDir$<br />

CurDir = TextBox1.Text & ListBox1.SelectedItem<br />

My.Computer.FileSystem.DeleteDirectory(CurDir, FileIO.DeleteDirectoryOption.DeleteAllContents)<br />

Display()<br />

Page62


End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Display()<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

Dim CurFile$<br />

CurFile = TextBox1.Text & ListBox2.SelectedItem<br />

Try<br />

My.Computer.FileSystem.DeleteFile(CurFile)<br />

Catch ex As Exception<br />

MsgBox("錯誤: 檔案已不存在或無法刪除!", 0 + 48, "")<br />

End Try<br />

Display()<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

ChDir("..")<br />

TextBox1.Text = CurDir()<br />

Display()<br />

End Sub<br />

Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles<br />

ListBox1.DoubleClick<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

TextBox1.Text = TextBox1.Text & ListBox1.SelectedItem<br />

Display()<br />

End Sub<br />

Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles ListBox2.SelectedIndexChanged<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

ToolStripStatusLabel1.Text = "檔案大小:" & FileLen(TextBox1.Text & ListBox2.SelectedItem) & " Bytes<br />

"<br />

ToolStripStatusLabel2.Text = "修改日期:" & FileDateTime(TextBox1.Text & ListBox2.SelectedItem)<br />

Select Case GetAttr(TextBox1.Text & ListBox2.SelectedItem)<br />

Case 39<br />

Label2.Text = "檔案屬性:一般、系統、隱藏、唯讀"<br />

Case 36<br />

Label2.Text = "檔案屬性:一般、系統"<br />

Case 35<br />

Label2.Text = "檔案屬性:一般、 隱藏、唯讀"<br />

Case 34<br />

Label2.Text = "檔案屬性:一般、 隱藏"<br />

Case 32<br />

Label2.Text = "檔案屬性:一般"<br />

Case 7<br />

Label2.Text = "檔案屬性: 系統、隱藏、唯讀"<br />

Case 6<br />

Label2.Text = "檔案屬性: 系統、隱藏"<br />

Case 5<br />

Label2.Text = "檔案屬性: 系統、 唯讀"<br />

Case 4<br />

Label2.Text = "檔案屬性: 系統"<br />

Case 3<br />

Label2.Text = "檔案屬性: 隱藏、唯讀"<br />

Case 2<br />

Label2.Text = "檔案屬性: 隱藏"<br />

Case 1<br />

Label2.Text = "檔案屬性: 唯讀"<br />

End Select<br />

End Sub<br />

End Class<br />

Page63


程式碼---17/Exam5 / Form3<br />

Public Class Form3<br />

Dim filename As String = "note.txt"<br />

便利貼<br />

Private Sub Form3_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)<br />

Handles Me.FormClosing<br />

End Sub<br />

FileOpen(1, filename, OpenMode.Binary)<br />

FilePut(1, TextBox1.Text)<br />

FileClose(1)<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

Dim len%<br />

FileOpen(1, filename, OpenMode.Binary)<br />

len = LOF(1)<br />

Dim content As New String("", len)<br />

FileGet(1, content)<br />

FileClose(1)<br />

TextBox1.Text = content<br />

TextBox1.SelectionStart = len<br />

TextBox1.SelectionLength = 0<br />

My.Computer.FileSystem.DeleteFile(filename)<br />

Private Sub 字型ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

字型ToolStripMenuItem.Click<br />

End Sub<br />

FontDialog1.ShowColor = True<br />

If FontDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

End If<br />

TextBox1.Font = FontDialog1.Font<br />

TextBox1.ForeColor = FontDialog1.Color<br />

Private Sub 背景顏色ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 背景顏色ToolStripMenuItem.Click<br />

End Sub<br />

End Class<br />

ColorDialog1.AllowFullOpen = False<br />

ColorDialog1.ShowHelp = False<br />

If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

End If<br />

TextBox1.BackColor = ColorDialog1.Color<br />

Page64


互質的數、直角三角形、數字相加、身分證號碼<br />

程式碼---17/Exam6 / Form1<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim i%, n%<br />

Label5.Text = ""<br />

n = Val(TextBox1.Text)<br />

For i = 2 To n - 1<br />

If (gcd(i, n) = 1) Then<br />

Label5.Text &= i & " "<br />

End If<br />

Next<br />

End Sub<br />

Function gcd(ByVal a, ByVal b) As ULong '遞迴解法<br />

If b = 0 Then<br />

Return a<br />

Else<br />

Return gcd(b, a Mod b)<br />

End If<br />

End Function<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim i%, j%, n%<br />

Label6.Text = ""<br />

n = Val(TextBox2.Text)<br />

For i = 1 To n<br />

For j = 1 To i<br />

Label6.Text &= j<br />

Next<br />

Label6.Text &= vbCrLf<br />

Next<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Dim n As String<br />

Dim total As Integer<br />

For i = 1 To Len(TextBox3.Text)<br />

If Asc(Mid(TextBox3.Text, i, 1)) >= 48 And Asc(Mid(TextBox3.Text, i, 1))


Else<br />

total = total + Val(n)<br />

n = ""<br />

End If<br />

Next i<br />

total = total + Val(n)<br />

Label7.Text = total<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Dim n, m As Integer<br />

Dim s As String<br />

Select Case Asc(Mid(TextBox4.Text, 1, 1))<br />

Case 65 To 72<br />

n = Asc(Mid(TextBox4.Text, 1, 1)) - 55<br />

Case 73<br />

n = 34<br />

Case 74 To 78<br />

n = Asc(Mid(TextBox4.Text, 1, 1)) - 56<br />

Case 79<br />

n = 35<br />

Case 80 To 86<br />

n = Asc(Mid(TextBox4.Text, 1, 1)) - 57<br />

Case 87<br />

n = 32<br />

Case 88 To 89<br />

n = Asc(Mid(TextBox4.Text, 1, 1)) - 58<br />

Case 90<br />

n = 33<br />

End Select<br />

s = Microsoft.VisualBasic.Trim(Str(n))<br />

For i = 2 To 9<br />

s = s & Mid(TextBox4.Text, i, 1)<br />

Next i<br />

m = Val(Mid(s, 1, 1)) + Val(Mid(s, 2, 1)) * 9<br />

For i = 8 To 1 Step -1<br />

m = m + Val(Mid(s, 11 - i, 1)) * i<br />

Next i<br />

If 10 - (m Mod 10) = Val(Mid(TextBox4.Text, 10, 1)) Then<br />

Label8.Text = "正確"<br />

Else<br />

Label8.Text = "錯誤"<br />

End If<br />

End Sub<br />

End Class<br />

Page66

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!