畢業(yè)論文---用vb語(yǔ)言編寫短信控制器的上位機(jī)控制軟件_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  畢 業(yè) 設(shè) 計(jì)</b></p><p>  設(shè)計(jì)題目:用VB語(yǔ)言編寫短信控制器的</p><p><b>  上位機(jī)控制軟件</b></p><p><b>  2010年6月5日</b></p><p><b>  目 錄</b&

2、gt;</p><p> 姓 名</p><p> 院 系電子與電氣工程學(xué)院</p><p> 專 業(yè)電氣工程及其自動(dòng)化</p><p> 年 級(jí)2006級(jí)</p><p> 學(xué) 號(hào)</p><p> 指導(dǎo)教師</p><p>  用VB語(yǔ)言

3、編寫短信控制器的上位機(jī)控制軟件</p><p>  摘 要:本文介紹了運(yùn)用VB語(yǔ)言編寫的短信控制器的上位機(jī)控制軟件,著重講述了它的設(shè)計(jì)思路,給出了該軟件的設(shè)計(jì)框圖和VB程序的部分源代碼,形成了正確的可執(zhí)行文件。</p><p>  關(guān)鍵詞:VB;控制軟件;短信控制器;設(shè)計(jì)</p><p>  Programming A Control Software Of Sh

4、ort Message Controller For Upper Computer In The VB Language</p><p>  Abstract: This paper introduces a control software of short message controller for upper computer in the VB language, describes its desig

5、ned thought, gives the designed software diagram and VB program's parts source code of the control software, and creates a correct executable file.</p><p>  Key Words: VB; control software;short message

6、controller; design</p><p><b>  1 引言</b></p><p>  Visual Basic(VB)是在Windows環(huán)境下運(yùn)行的、支持可視化編程的、面向?qū)ο蟮?、采用事件?qū)動(dòng)方式的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,也是進(jìn)行應(yīng)用系統(tǒng)開發(fā)最簡(jiǎn)單的、易學(xué)易用的程序設(shè)計(jì)工具。[1]從任何標(biāo)準(zhǔn)來(lái)說(shuō),VB都是世界上使用人數(shù)最多的語(yǔ)言,它源自于BASIC編程語(yǔ)

7、言,其開發(fā)的應(yīng)用程序的運(yùn)行采用事件驅(qū)動(dòng)原理。在VB代碼窗口輸入代碼時(shí),對(duì)于VB中的對(duì)象的屬性、方法、內(nèi)置的函數(shù)和已定義的自定義函數(shù)等,能自動(dòng)給出拼寫提示,這樣可大大減少編程人員的記憶量,程序員可以輕松的使用VB提供的組件快速建立一個(gè)應(yīng)用程序[2] 。</p><p>  2 VB的發(fā)展歷史和特點(diǎn)</p><p>  2.1 VB的發(fā)展歷史</p><p>  199

8、1年,美國(guó)微軟公司推出了Visual Basic(可簡(jiǎn)稱VB),目前的最新版本是VB 2005(VB8)中文版。Visual 意即可視的、可見的,指的是開發(fā)像windows操作系統(tǒng)的圖形用戶界面(Graphic User Interface, GUI)的方法,它不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立好的對(duì)象拖放到屏幕上相應(yīng)的位置即可。Basic指的是Beginners all_purpose symbolic in

9、struction code 初始者通用符號(hào)指令代碼語(yǔ)言。Visual Basic有學(xué)習(xí)版、專業(yè)版和企業(yè)版三種版本,以滿足不同的開發(fā)需要。5.0版以后,Visual Basic推出了中文版,與前個(gè)版本相比,其功能有了很大提升[2][3][4]。</p><p><b>  2.2 VB的特點(diǎn)</b></p><p>  2.2.1 VB的語(yǔ)言特點(diǎn)</p>

10、<p>  Visual Basic(以下簡(jiǎn)稱VB)是運(yùn)行于Windows平臺(tái)下的一種可視化的高級(jí)編程語(yǔ)言,有以下顯著的特點(diǎn):</p><p>  1) VB繼承了Basic語(yǔ)言簡(jiǎn)單易學(xué)的特點(diǎn)。</p><p>  2) 與基于dos環(huán)境下的編程語(yǔ)言相比,VB編程思想上發(fā)生了根本的改變。</p><p>  VB中引入了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,使程序設(shè)計(jì)

11、人員從煩瑣的程序設(shè)計(jì)細(xì)節(jié)中解脫出來(lái)。</p><p>  3) VB具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能。</p><p>  4) 程序開發(fā)環(huán)境高度集成化。</p><p>  5) VB適應(yīng)于開發(fā)視窗類應(yīng)用程序。</p><p>  2.2.2 VB的功能特點(diǎn)</p><p>  VB開發(fā)的應(yīng)用程序的運(yùn)行采用事件驅(qū)動(dòng)原理。程序

12、設(shè)計(jì)人員不僅在程序設(shè)計(jì)時(shí)不需要考慮程序代碼執(zhí)行的先后問題,而且同一個(gè)對(duì)象可以因用戶的不同操作而產(chǎn)生不同的結(jié)果。</p><p>  VB中提供的編輯器不僅提供了典型的Windows文字處理應(yīng)用程序的各種功能,如剪切、復(fù)制、粘貼等,使得程序的輸入和修改非常方便。而且在VB代碼窗口輸入代碼時(shí),對(duì)于VB中的對(duì)象的屬性、方法、內(nèi)置的函數(shù)、已定義的自定義函數(shù)、過(guò)程和已定義的變量等,能自動(dòng)給出拼寫提示,這樣可大大減少編程人員

13、的記憶量。</p><p>  在VB開發(fā)環(huán)境下,通過(guò)API(Application Program Interface)函數(shù)調(diào)用,可充分使用Windows提供的各種系統(tǒng)資源,來(lái)擴(kuò)充所開發(fā)的應(yīng)用程序的功能。</p><p>  VB全面支持Windows系統(tǒng)的OLE(Object Linking And Embedding)技術(shù),因此可以方便、快捷地實(shí)現(xiàn)不同應(yīng)用程序之間的動(dòng)態(tài)數(shù)據(jù)交換。&l

14、t;/p><p>  3短信控制器硬件簡(jiǎn)介</p><p>  GSM短信控制器只需在控制器中插入手機(jī)卡,將串口插入上位機(jī),可以通過(guò)訪問本控制器從而操作高桿燈,達(dá)到用手機(jī)短信遠(yuǎn)程控制設(shè)備的目的。 </p><p>  圖1 短信控制器硬件</p><p>  4程序的設(shè)計(jì)思路及其程序框圖</p><p><b>

15、  4.1程序的原理</b></p><p>  短信控制器的上位機(jī)軟件就是在PC端,通過(guò)串口通信控制發(fā)送端發(fā)送短信而實(shí)現(xiàn)遠(yuǎn)程控制高桿燈亮滅的程序。能實(shí)現(xiàn)隨時(shí)修改控制程序,以改變各燈的控制時(shí)間和工作狀況,滿足不同狀況要求,有很強(qiáng)的現(xiàn)場(chǎng)應(yīng)用性。</p><p>  4.2程序的設(shè)計(jì)思路</p><p>  4.2.1 開始運(yùn)行程序</p>&

16、lt;p>  掃描默認(rèn)串口,判斷是否有效,是否被占用。</p><p>  進(jìn)入主窗口(MDIForm1),若串口無(wú)效或被占用,則更改串口設(shè)置(Form12);若串口有效,可進(jìn)入總控區(qū)(Form4)開始使用。</p><p>  4.2.2 總控區(qū)設(shè)置</p><p>  使用原有控制區(qū),添加控制區(qū)(Form11)或刪除控制區(qū)(Form10),在原來(lái)無(wú)控制區(qū)的

17、情況下,最多可添加10個(gè)控制區(qū)。</p><p>  4.2.3 分控制區(qū)設(shè)置</p><p>  添加(Form2)、刪除、設(shè)置高桿燈,查詢高桿燈狀態(tài),向高桿燈發(fā)送短信形式的指令(Form3)。</p><p><b>  4.3 程序框圖</b></p><p><b>  圖2總體程序框圖</b&g

18、t;</p><p><b>  5 軟件功能介紹</b></p><p><b>  圖3 總控區(qū)界面</b></p><p><b>  界面功能:</b></p><p>  單擊菜單欄“添加控制區(qū)”和“刪除控制區(qū)”來(lái)添加、刪除分控制區(qū)。單擊“連接設(shè)備”可以檢測(cè)端口使用

19、情況并連接短信控制器??赏ㄟ^(guò)單擊右鍵選擇“串口設(shè)置”改變串口設(shè)置參數(shù)。</p><p>  圖4 串口設(shè)置界面</p><p><b>  界面功能:</b></p><p>  可根據(jù)實(shí)際情況修改串口設(shè)置。</p><p><b>  圖5 控制區(qū)界面</b></p><p

20、><b>  界面功能:</b></p><p>  單擊菜單欄上“添加高桿燈”可添加高桿燈,上限為5個(gè)高桿燈。單擊“設(shè)置”按鈕可更改高桿燈名稱、電話號(hào)碼和數(shù)量。</p><p>  圖6 高桿燈設(shè)置界面</p><p><b>  界面功能:</b></p><p>  可更改高桿燈名稱、

21、電話號(hào)碼和數(shù)量,設(shè)定燈的開啟或關(guān)閉,刪除高桿燈,查詢高桿燈狀態(tài)和發(fā)送開關(guān)指令。</p><p>  6程序的部分軟件代碼</p><p>  6.1 總控區(qū)(Form4)</p><p>  Dim s As Integer</p><p>  Private Sub addarea_Click(Index As Integer)</p

22、><p>  Form11.Show</p><p><b>  End Sub</b></p><p>  Private Sub Command1_Click(Index As Integer)</p><p>  Select Case Index</p><p><b>  Case

23、 0</b></p><p>  Form5.Caption = Command1(Index).Caption</p><p>  Form5.Show</p><p><b>  Case 1</b></p><p>  Form6.Caption = Command1(Index).Caption<

24、;/p><p>  Form6.Show</p><p><b>  Case 2</b></p><p>  Form7.Caption = Command1(Index).Caption</p><p>  Form7.Show</p><p><b>  Case 3</b>

25、;</p><p>  Form8.Caption = Command1(Index).Caption</p><p>  Form8.Show</p><p><b>  Case 4</b></p><p>  Form9.Caption = Command1(Index).Caption</p>&l

26、t;p>  Form9.Show</p><p><b>  Case 5</b></p><p><b>  Case 6</b></p><p><b>  Case 7</b></p><p><b>  Case 8</b></p>

27、;<p><b>  Case 9</b></p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub Command11_Click()</p><p>  Form11.Show</p>&

28、lt;p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p>  Dim i As Integer</p><p>  Dim j As Integer</p><p>  Dim inputdata As String</p>

29、;<p>  Dim dat As String</p><p>  Dim area() As String</p><p>  Dim mes() As String</p><p>  Dim err As Boolean</p><p>  err = initGSMmode()</p><p>

30、  If err = True Then</p><p>  MsgBox "連接成功!", 64, "提示"</p><p>  Call write_daily_record("成功連接發(fā)射裝置!")</p><p>  Open App.Path & "\Manager.txt&qu

31、ot; For Input As #1</p><p>  Do While Not EOF(1)</p><p>  Line Input #1, dat</p><p>  If dat <> "" Then</p><p>  inputdata = inputdata + dat</p>

32、<p><b>  End If</b></p><p><b>  Loop</b></p><p><b>  Close #1</b></p><p>  area = Split(inputdata, ";")</p><p>  For

33、i = LBound(area) To UBound(area)</p><p>  If area(i) = "" Then</p><p><b>  Exit For</b></p><p><b>  End If</b></p><p>  mes = Split(ar

34、ea(i), ",")</p><p>  j = Val(Trim$(mes(0)))</p><p>  If j < 9 And mes(1) = "true" Then</p><p>  Command1(j).Visible = True</p><p>  Command1(j).C

35、aption = mes(2)</p><p>  Command1(j).Enabled = True</p><p><b>  End If</b></p><p><b>  Next i</b></p><p>  MDIForm1.Timer1.Interval = 1000</p

36、><p><b>  Else</b></p><p>  Call write_daily_record("連接發(fā)射裝置失?。?quot;)</p><p>  MsgBox "連接失??!請(qǐng)選擇正確的端口和波特率!", 64, "提示"</p><p>  MDIForm1

37、.Timer1.Interval = 0</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub delarea_Click(Index As Integer)</p><p>  Form10.Show<

38、;/p><p><b>  End Sub</b></p><p>  Private Sub end_Click()</p><p><b>  End</b></p><p><b>  End Sub</b></p><p>  Private Sub

39、 Form_Load()</p><p>  Dim i As Integer</p><p>  Dim j As Integer</p><p>  Dim inputdata As String</p><p>  Dim dat As String</p><p>  Dim area() As String&

40、lt;/p><p>  Dim mes() As String</p><p>  On Error GoTo err</p><p>  '從文本文檔中讀取數(shù)據(jù)</p><p><b>  s1:</b></p><p>  Open App.Path & "\Manage

41、r.txt" For Input As #1</p><p>  Do While Not EOF(1)</p><p>  Line Input #1, dat</p><p>  If dat <> "" Then</p><p>  inputdata = inputdata + dat<

42、/p><p><b>  End If</b></p><p><b>  Loop</b></p><p><b>  Close #1</b></p><p>  area = Split(inputdata, ";")</p><p&g

43、t;  For i = LBound(area) To UBound(area)</p><p>  If area(i) = "" Then</p><p><b>  Exit For</b></p><p><b>  End If</b></p><p>  mes =

44、Split(area(i), ",")</p><p>  j = Val(Trim$(mes(0)))</p><p>  If j < 9 And mes(1) = "true" Then</p><p>  Command1(j).Visible = True</p><p>  Comma

45、nd1(j).Caption = mes(2)</p><p>  Command1(j).Enabled = False</p><p><b>  End If</b></p><p><b>  Next i</b></p><p><b>  Exit Sub</b>&

46、lt;/p><p><b>  err:</b></p><p>  Open App.Path & "\Manager.txt" For Output As #1</p><p>  Print #1, ""</p><p><b>  Close #1</b

47、></p><p><b>  GoTo s1</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)</p

48、><p>  If Button = 2 Then '如果是鼠標(biāo)右鍵按下時(shí)</p><p>  Form4.PopupMenu mnufile, 0, x, y</p><p><b>  End If</b></p><p><b>  End Sub</b&g

49、t;</p><p>  Private Sub setcom_Click()</p><p>  Form13.Show</p><p><b>  End Sub</b></p><p>  Private Sub 刪除控制區(qū)_Click()</p><p>  Form10.Show<

50、/p><p><b>  End Sub</b></p><p>  Private Sub 添加控制區(qū)_Click()</p><p>  Form11.Show</p><p><b>  End Sub</b></p><p>  6.2串口設(shè)置(Form12)</p

51、><p>  Dim s As String</p><p>  Private Sub Command1_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub Co

52、mmand2_Click()</p><p>  On Error GoTo err</p><p>  If MDIForm1.MSComm1.PortOpen = True Then</p><p>  MDIForm1.MSComm1.PortOpen = False</p><p><b>  End If</b>

53、;</p><p>  Dim a As Integer</p><p>  a = Val(Mid$(Combo1.Text, 4, 1))</p><p>  MDIForm1.MSComm1.CommPort = a</p><p>  MDIForm1.MSComm1.Settings = Combo2.Text + ",&

54、quot; + Combo4.Text + "," + Combo3.Text + "," + Combo5.Text</p><p>  MDIForm1.MSComm1.PortOpen = True</p><p>  If Check1.Value = 1 Then</p><p>  Open App.Path &a

55、mp; "\comset.txt" For Output As #1</p><p>  Print #1, ""</p><p><b>  Close #1</b></p><p>  s = str(MDIForm1.MSComm1.CommPort) + ";" + MDIFo

56、rm1.MSComm1.Settings</p><p>  Open App.Path & "\comset.txt" For Output As #1</p><p>  Print #1, s</p><p><b>  Close #1</b></p><p><b>  E

57、nd If</b></p><p>  Form4.Show</p><p><b>  Unload Me</b></p><p><b>  Exit Sub</b></p><p><b>  err:</b></p><p>  Ms

58、gBox "無(wú)效端口,或端口被占用!", 64, "提示"</p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  Dim dat As String</p><p>  On Error GoTo

59、 err</p><p>  Combo1.AddItem ("COM1")</p><p>  Combo1.AddItem ("COM2")</p><p>  Combo1.AddItem ("COM3")</p><p>  Combo1.AddItem ("COM

60、4")</p><p>  Combo1.AddItem ("COM5")</p><p>  Combo1.AddItem ("COM6")</p><p>  Combo2.AddItem (2400)</p><p>  Combo2.AddItem (4800)</p>

61、<p>  Combo2.AddItem (9600)</p><p>  Combo2.AddItem (19200)</p><p>  Combo2.AddItem (115200)</p><p>  Combo3.AddItem (8)</p><p>  Combo3.AddItem (7)</p><

62、;p>  Combo3.AddItem (6)</p><p>  Combo3.AddItem (5)</p><p>  Combo3.AddItem (4)</p><p>  Combo4.AddItem ("O")</p><p>  Combo4.AddItem ("E")</p

63、><p>  Combo4.AddItem ("M")</p><p>  Combo4.AddItem ("N")</p><p>  Combo4.AddItem ("S")</p><p>  Combo5.AddItem (1)</p><p>  Com

64、bo5.AddItem (1.5)</p><p>  Combo5.AddItem (2)</p><p>  Combo5.AddItem (4)</p><p><b>  s1:</b></p><p>  Open App.Path & "\comset.txt" For Input

65、 As #1</p><p>  Do While Not EOF(1)</p><p>  Line Input #1, dat</p><p>  If dat <> "" Then</p><p>  s = s + dat</p><p><b>  End If<

66、;/b></p><p><b>  Loop</b></p><p><b>  Close #1</b></p><p>  If s <> "" Then</p><p>  Call setcom</p><p>  Form4.

67、Show</p><p><b>  Unload Me</b></p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  Combo1.Text = "COM" + Trim$(str(MD

68、IForm1.MSComm1.CommPort))</p><p>  a = Split(MDIForm1.MSComm1.Settings, ",")</p><p>  Combo2.Text = a(0)</p><p>  Combo3.Text = a(2)</p><p>  Combo4.Text = UC

69、ase$(a(1))</p><p>  Combo5.Text = a(3)</p><p><b>  Exit Sub</b></p><p><b>  err:</b></p><p>  Open App.Path & "\comset.txt" For Ou

70、tput As #1</p><p>  Print #1, ""</p><p><b>  Close #1</b></p><p><b>  GoTo s1</b></p><p><b>  End Sub</b></p><p

71、>  Private Sub setcom()</p><p>  Dim str() As String</p><p>  str = Split(s, ";")</p><p>  On Error GoTo err</p><p>  If MDIForm1.MSComm1.PortOpen = True T

72、hen</p><p>  MDIForm1.MSComm1.PortOpen = False</p><p><b>  End If</b></p><p>  Dim a As Integer</p><p>  a = Val(Trim$(str(0)))</p><p>  MDIFor

73、m1.MSComm1.CommPort = a</p><p>  MDIForm1.MSComm1.Settings = Trim$(str(1))</p><p>  MDIForm1.MSComm1.PortOpen = True</p><p><b>  Exit Sub</b></p><p><b&g

74、t;  err:</b></p><p>  MsgBox "無(wú)效端口,或端口被占用!", 64, "提示"</p><p><b>  End Sub</b></p><p>  6.3高桿燈設(shè)置(Form3)</p><p>  Private Sub Comman

75、d1_Click()</p><p>  Dim name As String</p><p>  Dim count As Integer</p><p>  Dim phone As String</p><p>  name = Trim$(Text1.Text)</p><p>  If name = &quo

76、t;" Then</p><p>  MsgBox "請(qǐng)輸入名稱", 64, "提示"</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  phone = Trim$(Text2

77、.Text)</p><p>  If name = "" Then</p><p>  MsgBox "請(qǐng)輸入電話號(hào)碼", 64, "提示"</p><p><b>  Exit Sub</b></p><p><b>  End If</b&

78、gt;</p><p>  If Text3.Text <> "" Then</p><p>  count = Trim$(Text3.Text)</p><p>  If count > 5 Then</p><p>  MsgBox "燈的數(shù)量必須小于或等于5", 64, &qu

79、ot;提示"</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  If count = 0 Then</p><p><b>  count = 1</b></p><p>

80、;<b>  End If</b></p><p><b>  Else</b></p><p>  MsgBox "請(qǐng)?zhí)钊霟舻臄?shù)量", 64, "提示"</p><p><b>  Exit Sub</b></p><p><b&

81、gt;  End If</b></p><p>  light_M(manager_index).light_N(light_index).phonenumber = phone</p><p>  light_M(manager_index).light_N(light_index).nane = name</p><p>  light_M(mana

82、ger_index).light_N(light_index).lightcount = count</p><p>  If Check1.Value = 1 Then</p><p>  light_M(manager_index).light_N(light_index).enable = True</p><p><b>  Else</b&

83、gt;</p><p>  light_M(manager_index).light_N(light_index).enable = False</p><p><b>  End If</b></p><p>  Call savelights(manager_index)</p><p>  MsgBox "

84、;設(shè)置成功", 64, "提示"</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p><b>  Unload

85、 Me</b></p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click()</p><p>  Dim msg As Integer</p><p>  msg = MsgBox("確定要?jiǎng)h除?", 48 + 1, &q

86、uot;提示")</p><p>  If msg = vbCancel Then</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  Call dellight(manager_index, light_index)

87、</p><p>  MsgBox "刪除成功", 64, "提示"</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub Command4_Click()<

88、;/p><p>  Dim message As mes</p><p>  Dim err As Boolean</p><p>  MDIForm1.Timer1.Interval = 0</p><p>  message.message = Trim$(Text4.Text)</p><p>  message.p

89、hone = Trim$(Text2.Text)</p><p>  err = SendMES(message)</p><p>  If err = True Then</p><p>  Call write_daily_record("向" + Trim$(Text1.Text) + "(" + Trim$(messa

90、ge.phone) + ")" + "發(fā)送 " + Trim$(message.message) + " 命令" + ".并且發(fā)送成功!")</p><p>  MsgBox "發(fā)送成功!", 64, "提示"</p><p><b>  Else</b&

91、gt;</p><p>  Call write_daily_record("向" + Trim$(Text1.Text) + "(" + Trim$(message.phone) + ")" + "發(fā)送 " + Trim$(message.message) + " 命令" + ".發(fā)送失??!"

92、)</p><p>  MsgBox "發(fā)送失敗!", 64, "提示"</p><p><b>  End If</b></p><p>  Timer1.Interval = 1000</p><p><b>  End Sub</b></p>

93、<p>  Private Sub Command5_Click()</p><p>  Dim message As mes</p><p>  Dim err As Boolean</p><p>  message.message = "返回開關(guān)信息"</p><p>  message.phone =

94、 Trim$(Text2.Text)</p><p>  err = SendMES(message)</p><p>  If err = True Then</p><p>  Call write_daily_record("向" + Trim$(Text1.Text) + "(" + Trim$(message.pho

95、ne) + ")" + "發(fā)送 返回開關(guān)信息 命令" + ".并且發(fā)送成功!")</p><p>  MsgBox "發(fā)送成功!", 64, "提示"</p><p><b>  Else</b></p><p>  Call write_dai

96、ly_record("向" + Trim$(Text1.Text) + "(" + Trim$(message.phone) + ")" + "發(fā)送 返回開關(guān)信息 命令" + ".發(fā)送失敗!")</p><p>  MsgBox "發(fā)送失??!", 64, "提示"</p

97、><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  Text1.Text = light_M(manager_index).light_N(light_index).nan

98、e</p><p>  Text2.Text = light_M(manager_index).light_N(light_index).phonenumber</p><p>  Text3.Text = str(light_M(manager_index).light_N(light_index).lightcount)</p><p>  If light_M

99、(manager_index).light_N(light_index).enable = True Then</p><p>  Check1.Value = 1</p><p><b>  Else</b></p><p>  Check1.Value = 0</p><p><b>  End If<

100、;/b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Unload(Cancel As Integer)</p><p>  MDIForm1.Timer1.Interval = 1000</p><p>  Timer1.Interval = 0<

101、;/p><p><b>  End Sub</b></p><p>  Private Sub Timer1_Timer()</p><p>  Dim err As Boolean</p><p>  Dim message As mes</p><p>  Dim i As Integer<

102、/p><p>  err = ScanGSMMode()</p><p>  If err = False Then</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  i = GSMMode.MESCoun

103、t</p><p>  While i > 0</p><p>  message = ReadMSG(GSMMode.MESNumber(GSMMode.MESCount))</p><p>  If message.phone <> "" Then</p><p>  Text4.Text = mes

104、sage.message</p><p><b>  End If</b></p><p>  GSMMode.MESCount = GSMMode.MESCount - 1</p><p>  i = GSMMode.MESCount</p><p><b>  Wend</b></p>

105、;<p><b>  End Sub</b></p><p><b>  7總結(jié)</b></p><p>  本設(shè)計(jì)是在熟悉掌握VB的基礎(chǔ)上寫成的,VB編程以其簡(jiǎn)約的設(shè)計(jì)風(fēng)格、可視化的界面編輯和極小的體積廣受程序員們的歡迎。通過(guò)本軟件的設(shè)計(jì),對(duì)VB的編程特點(diǎn)有了更深的理解。</p><p>  本程序用于控制

106、發(fā)射端發(fā)送短信遠(yuǎn)程控制高桿燈的亮滅,能容易地隨時(shí)修改控制程序,以改變各燈的控制時(shí)間和工作狀況,滿足不同狀況要求,有很強(qiáng)的現(xiàn)場(chǎng)應(yīng)用性。實(shí)踐證明,采用短信控制器對(duì)高桿燈的自動(dòng)控制是完全可行的。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李雁翎.Visual Basic程序設(shè)計(jì)[M].北京: 清華大學(xué)出版社, 2004.</p>

107、<p>  [2] 陳元春,王淮亭,陶恂. Visual Basic數(shù)據(jù)庫(kù)編程[M].北京: 高等教育出版社, 2003.</p><p>  [3] 王國(guó)榮編著. Visual Basic 6.0 Windows API 講座[M]. 北京: 人民郵電出版社, 1999.</p><p>  [4] 龔沛曾. Visual Basic簡(jiǎn)明教程[M].北京: 高等教育出版社出版

108、, 2003.</p><p>  [5] 何光渝編著. Visual Basic 常用數(shù)值算法集[M].北京: 科學(xué)出版社, 2002.</p><p>  [6] 李勇帆. Visual Basic 6.0 程序設(shè)計(jì)實(shí)踐指導(dǎo)[M].北京: 人民郵電出版社, 2006.</p><p>  [7] 史斌星,史佳. Visual Basic 貫通教程[M].北京:

109、清華大學(xué)出版社, 2003.</p><p>  [8] 張健主編. Visual Basic 6.0程序設(shè)計(jì)[M].江蘇: 浙江大學(xué)出版社, 2007.</p><p>  [9] 李長(zhǎng)林編著. Visual Basic 串口通信技術(shù)與典型實(shí)例 [M].北京: 清華大學(xué)出版社, 2006.</p><p><b>  致謝</b></p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論