程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> 用BASIC語言寫智能手機程序

用BASIC語言寫智能手機程序

編輯:VB6

前言

時下,智能手機越來越貼近我們的生活,越來越多的教師朋友,學生朋友都會用智能手 機,因為她們功能齊全,在手機上運行的軟件應有盡有,QQ、在線游戲,音樂影視…….。

對於大學生朋友,廣大教師朋友,能夠在自己的手機有一個動態的課程表程序,一來可以合理安 排空余時間,二來又不會誤了學習工作的時間,是一件非常不錯的事。本文,以微軟公司的移動手機   

平台 WindowsMobile2003為基礎,簡單實現手機上的課表程序。

程序在 WindowsMobile2003 dopod818手機上測試通過。程序運行時,主界面如圖

程序 下載地http://nihg.org/blogview.asp?logID=403

開發平台與工具:

MS WindowsXp 組件 基於.net framework 1.1

Basic4ppc 5.8 (可到http://www.basic4ppc.cn/下載)

思路 與代碼:

Basic語言是眾多程序初學者的入門語言,開發手機程序,我們同樣也能使用她,使用 沒有基礎的朋友也能一看就會。程序的主要思路如下:

一、根據日期得到星期,然後讀取相應的 日課表。

日課表為了方便與美觀,直接做成bmp圖片文件,下面是空白的課表和根據自己的課程 已填好的課表,為了方便程序調用,直接將文件存為 1.bmp 2.bmp …..表示 周一 周二 的課表 ,以此類推。

空白表              1.bmp           2.bmp

程序的主界面如下 ,可見,我們為了盡量 減少動態加載的課表體積,只將界面中心部份的課表作成bmp文件,整個背景直接做在程序裡了。

實現讀取課表的代 碼如下:

我們在窗體上用一個 timer組件來實現
Sub Timer4_Tick  ' 用來檢測當前日期並且讀取相應課表值得注意的是 else
                   ' then 語句 換行很重 then 必須另起一行
If label32.Text ="Monday" Then
image3.LoadPicture("class1.bmp")
Else If label32.Text ="Tuesday" Then
image3.LoadPicture("class2.bmp")
Else If label32.Text ="Wednesday" Then
image3.LoadPicture("class3.bmp")
Else If label32.Text ="Thursday" Then
image3.LoadPicture("class4.bmp")
Else If label32.Text ="Friday" Then
image3.LoadPicture("class5.bmp")
Else
End If
End Sub

其中label32顯示當前的星期值,從下面timer3組件中得到值。

二、動態實時顯示當前課

課表的主要作用是,我們能實時查看當前是上課還是下課,是在上哪節課,於是 ,我們想到了用一個不同色澤的小矩形來指示。矩形對准哪 節課就是表示哪節課,而且可以自己定義三 個時間:我們用一個文本文件  time.txt 來存放課時間,其內容格式定義如下

第一節 08:00 08:05 08:45
第二節 10:05 10:10 10:50
第三節 11:05 11:10 11:50
第四節 12:05 12:10 12:50
第五節 13:00 13:05 12:25
第六節 14:05 14:10 13:25
第七節 13:33 13:35 14:15
第八節 16:05 16:10 16:50

////////////////文件內容說明////////////////
以上為本程序的時間表,您只要修改每節課的三個時間,其中
    第一個時間為預備提示時間  
    第二個時間為真正上課時間
    第三個時間為下課時間
    每個時間一定要用上面的格式,並且每兩個時間之間用一個 空格 隔開

    我們先用下面代碼讀出這些內容,放到窗體上,待用。
Sub Form2_Show
form2.minimizebox=true
FileOpen (c1, "time.txt",cRandom) '打開時間表,讀取時間
    下面是每一節課的三個不同時間,分別放在不同的label上,要與當前時間作比較,以便用不同 的色澤顯示矩形提示塊
label8.Text  = FileGet (c1, 7,5)
label9.Text  = FileGet (c1, 13,5)
label10.Text  = FileGet (c1,19,5)

label11.Text  = FileGet (c1, 33,5)   
label12.Text  = FileGet (c1, 39,5)
label13.Text  = FileGet (c1,45,5)

label14.Text  = FileGet (c1, 59,5)
label15.Text  = FileGet (c1, 65,5)
label16.Text  = FileGet (c1,71,5)

label17.Text  = FileGet (c1, 85,5)
label18.Text  = FileGet (c1, 91,5)
label19.Text  = FileGet (c1,97,5)

label20.Text  = FileGet (c1, 111,5)
label21.Text  = FileGet (c1, 117,5)
label22.Text  = FileGet (c1,123,5)

label23.Text  = FileGet (c1, 137,5)
label24.Text  = FileGet (c1, 143,5)
label25.Text  = FileGet (c1,149,5)

label26.Text  = FileGet (c1, 163,5)
label27.Text  = FileGet (c1, 169,5)
label28.Text  = FileGet (c1,175,5)

label29.Text  = FileGet (c1, 189,5)
label30.Text  = FileGet (c1, 195,5)
label31.Text  = FileGet (c1,201,5)
FileClose(c1)
End Sub

時間讀取完畢後,我們將課表每一行的坐標位置取出來,用下面的代碼就能實現實時顯示了。

Sub Timer3_Tick
x=Time(Now) 
label5.Text =x
label7.Text =TimeS
label32.Text =DateDayOfweek (Now)  '得到星期幾

 If label5.Text =label8.Text Then
          image4.Top =32
         image4.Color =cgreen
Else If label5.Text =label9.Text Then
        image4.Top =32
       image4.Color =cred
Else If label5.Text =label10.Text Then
        image4.Top =32
       image4.Color =cblue

    'label8 9 10 分別為第一節課的准備,上課,下課時間,32 為第一節課對應的行坐標,意 思就是在第一節課這一行,用三種色彩來指示,下面是每節課的不同色彩顯示
       '''''''第2節課 ''''''''''''''
    Else If label5.Text =label11.Text Then
          image4.Top =52
         image4.Color =cgreen
Else If label5.Text =label12.Text Then
        image4.Top =52
       image4.Color =cred
Else If label5.Text =label13.Text Then
        image4.Top =52
       image4.Color =cblue

       ''''''''''第3節課 '''''

       Else If label5.Text =label14.Text Then
          image4.Top =72
         image4.Color =cgreen
Else If label5.Text =label15.Text Then
        image4.Top =72
       image4.Color =cred
Else If label5.Text =label16.Text Then
        image4.Top =72
       image4.Color =cblue

       ''''''''''''第4節課

       Else If label5.Text =label17.Text Then
          image4.Top =94
         image4.Color =cgreen
Else If label5.Text =label18.Text Then
        image4.Top =94
       image4.Color =cred
Else If label5.Text =label19.Text Then
        image4.Top =94
       image4.Color =cblue
'''''''''''''第5節課

Else If label5.Text =label20.Text Then
          image4.Top =118
         image4.Color =cgreen
Else If label5.Text =label21.Text Then
        image4.Top =118
       image4.Color =cred
Else If label5.Text =label22.Text Then
        image4.Top =118
       image4.Color =cblue

       ''''''''''第6節課
    Else If label5.Text =label23.Text Then
          image4.Top =140
         image4.Color =cgreen
Else If label5.Text =label24.Text Then
        image4.Top =140
       image4.Color =cred
Else If label5.Text =label25.Text Then
        image4.Top =140
       image4.Color =cblue 

       ''''''''''第七節課

    Else If label5.Text =label26.Text Then
          image4.Top =162
         image4.Color =cgreen
Else If label5.Text =label27.Text Then
        image4.Top =162
       image4.Color =cred
Else If label5.Text =label28.Text Then
        image4.Top =162
       image4.Color =cblue 

       '''''''''第八節課
       Else If label5.Text =label29.Text Then
          image4.Top =183
         image4.Color =cgreen
Else If label5.Text =label30.Text Then
        image4.Top =183
       image4.Color =cred
Else If label5.Text =label31.Text Then
        image4.Top =183
       image4.Color =cblue 
Else
         image4.top =2000 ' 不符合條件,讓指針不可見
End If
End Sub

三、一個小小的關鍵所在

用basic4ppc 寫的程序,默認情況下,程序的退 出按鍵是 一個圓圈 裡面是 OK 如圖

點擊OK 後,程序就 直接退出了,即不能最小化,在後台一直運行, 這樣,下次啟動時,由於我們的程序是實時判斷某個時間點 ,即 第一節 08:00 08:05 08:45 程序只僅當處於這三個值時,才有顯示動作,如果是 08:06 就會造成不 能正確顯示,所以,我想到了,如何讓程序關閉後,一直在後台最小化運行,解決的方法是: 在程序最先初化 時,加入下面代碼

Sub App_Start 

Form2.show

flb.New1("Form2",B4PObject(1))

flb.MinimizeBox = True

End Sub

這樣程序右上角原來的關閉按鈕 OK 變成現在的 X 了,如圖所示:

點 X 後 程序還在後台運行,用任務管理器激活後,發現提示塊顯示正常

當然,也可考慮到老師朋友們可能會有臨時課務,比哪某位老師下午最後一節課不在, 要你去代上,你可以做一個臨時課務,直接在此輸入要代的課即可。

呵,用起來也還真 不錯。

結束語

這是我在ppc手機上寫的第一個小工具,因為自己喜歡寫程序,有些都是生 活中碰到的問題,然後在睡前或睡醒前加點思索,於是就有了她。但願這小小拙作,能給您拋磚引玉, 使您有些動力去寫自己喜歡的作品。有興趣的朋友可以加以完善,比如上課時自動設為靜音或振動,下 課後再自動恢復等.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved