已阅读5页,还剩179页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows CE 程式設計實務 使用 eMbedded Visual Basic Chapter 4 1 Outline Command Button Control Label and TextBox Controls CheckBox and Option Button Controls ListBox and ComboBox Controls Finance Control HScrollBar and VScrollBar Controls Line and Shape Controls Frame Control Image Control and PictureBox Controls 2 eVB Control eVB 提供程式設計師許多有用的元件,分為兩大部分 Intrinsic Control (預設的內建控制元件) ActiveX Control (eVB 提供額外的控制元件) 3 eVB Control (Cont.) 4 eVB Control (Cont.) ActiveX Controls 5 Command Button Control Properties 6 Command Button Control Properties (Cont.) BackColor Cancel:表示 command button 是不是 cancel button Caption:按鈕上面的文字 Default:若 form 上有多個 command button時,用以表示哪 一個是 default command button Enabled:設定這個按鈕是不是可以被按,預設是 TRUE Font Height, Width:The height (width) of an object Left (top):The distance between the internal edge of an object and the left (top) edge of its container 7 Command Button Control Properties (Cont.) Style: 0-vbButtonStandard (預設值) 1-vbButtonGraphical:背景顏色的設定才會顯 現 TabStop:Indicate whether a user can use Tab key to switch the focus of an object Tag:Stores any extra data needed for your program Visible 8 Command Button Method Move:移動按鈕的位置或改變按鈕的大 小 object.Move left, top, width, height SetFocus 9 Command Button Events Click GotFocus LostFocus MouseDown MouseMove MouseUp 10 Sin 函數作圖 Windows CE 座標軸系統中,原點是在 視窗內容的左上角,水平軸的正向往右 ,垂直軸的正向往下。 11 Sin 函數作圖 (Cont.) 12 Sin 函數作圖 (Cont.) 13 Sin 函數作圖 (Cont.) 14 Sin 函數作圖 (Cont.) 15 Sin 函數作圖 (Cont.) Form_Load():設定 X 軸的單位寬度 (intXUnit) 和 Y 軸的單位高度(initYUnit), 並將原點位置設定在螢幕的中央。 DataInit() sngX:目前處理的點的 X 軸位置 (非 PDA 上的座 標系統),繪出的圖形範圍之 X 在 4 4 之間 sngCurrentX, sngCurrentY:點在 PDA 上的座標 值 cmdSin_Click() sngOldX,sngOldY:舊的點 X,Y 座標,用以和 新的點之 X,Y 座標連成一條線 16 Sin 函數作圖 (Cont.) DrawLine x1, y1, x2, y2, color, boxfill Form_Paint():每一次程式需要更新畫 面時,就會引發這個事件。呼叫 DrawCoordinates 繪製 PDA 上的座標 系統 (X,Y 軸) cmdClear_Click():cls 清除螢幕 17 Label and TextBox Controls TextBox 較 Label 增加文字輸入的功能,如果我們只 是單純想顯示文字,可以用 label。 Label Properties 18 Label Properties Alignment:文字內容對齊的方式 AutoSize:依文字內容自動調整 label 大小,預設是 False BackColor BackStyle:設為 1,表示 label 受到背景顏色的影響,否 則背景則是透明的 BorderStyle:設定外框的屬性,0 表示沒有邊框,1表示 單線的邊框 常數設定值內容 vbLeftJustify0 (預設值)文字向左對齊 vbRightJustify1文字向右對齊 vbCenter2文字向中對齊 19 Label Properties (Cont.) Caption Font ForeColor:顯示文字的顏色 Height, Left, Top, Width TabIndex:tab order of an object in the parent form UseMnemonic:是否支援快速鍵功能,預設是 TRUE。 20 Label Methods and Events Move:移動或改變 label 大小。 Change:當 label 內容改變時,會引發 此事件。 21 TextBox Properties 22 TextBox Properties (Cont.) Enabled:設定這個 label是不是會有回應,預設 是 TRUE HideSelection:當我們在 TextBox 選取字元時 ,被選取的字元會反白。但當我們把視窗焦點移 到其他的物件上時,是否文字還會保留反白?預 設是 TRUE,即不保留反白。 Locked:內容是否可被編輯,預設是 False。當 被設為 True,使用者無法編輯或輸入文字,可以 保護資料不被修改。 MaxLength:文字框中最多可輸入多少字元,預 設值0,表示可以輸入 32K 大小的文字資料。 23 TextBox Properties (Cont.) MultiLine:設定文字框中可不可以輸入多行文字 ,預設是 False,只能輸入單行文字,即使使用 者按下 Enter,也無法換行。 PasswordChar:在使用者輸入密碼時,所輸入的 密碼會被顯示為“*”,我們可以設定使用者在 此輸入的密碼遮蓋字元 (ex: $)。預設值是 空白字元,也就是沒有啟動。如果前面的 MultiLine 屬性開啟,PasswordChar 的功能就會 消失。 24 TextBox Properties (Cont.) ScrollBars:設定文字框是否有捲軸, vbSBNone (0),vbHorizontal (1), vbVertical (2),vbBoth (3) Text:The text contained in a control SelLength,SelStart,SelText:run time 才有作用,傳回或設定所選取(字 元的數目,起始點,字串)。 25 TextBox Methods and Events Move:移動或改變文字框的大小 Change:當 TextBox 內容改變時,會 引發此事件。 26 溫度單位轉換程式 27 溫度單位轉換程式 (Cont.) 28 溫度單位轉換程式 (Cont.) 29 溫度單位轉換程式 (Cont.) TextBox Name:txtC TextBox Name:txtF CommandButton Name:cmdCtof CommandButton Name:cmdFtoc 30 溫度單位轉換程式 (Cont.) CSng:Convert an expression to a Variant of subtype Single. CStr:Converts an expression to a Variant of subtype String. 31 計時器 32 計時器 (Cont.) 33 計時器 (Cont.) 34 計時器 (Cont.) 35 計時器 (Cont.) Label Name:lblMin Label Name:lblSec Label Name:lblDot Label Name:lblDSec CommandButton Name:cmdStart CommandButton Name:cmdClear Timer Name:tmrTimer 36 計時器 (Cont.) cmdStart_Click():使用者按下 start 鈕時,需將 start 鈕改為 stop,並設定 blnStartFlag,表示正在計時。反之再 按一次 (Stop) 鈕時,表示停止計時,改 stop 鈕為 start,並反向設定 blnStartFlag。 cmdClear_Click():將所有時間刻度內 容設為0 37 計時器 (Cont.) tmrTimer_Timer():當 intDSec 值為奇數時 ,將 lblDot.Caption 設為“:”,反之為偶數時 設為空字串,造成視覺上閃爍的效果。其餘部 分則是當刻度到達一定程度時,便要進位,設 定新的時間。 OS 會先優先處理其他的是,再處理Timer 物 件,因此會有所延遲。解決方法是利用解決方法是利用 PDA PDA 系統的時間作為計時的工具。系統的時間作為計時的工具。 38 CheckBox and OptionButton Controls Properties Value:目前 Checkbox 的狀態。0: unchecked,1:checked,2:greyed OptionButton:元件被選取時為 TRUE, 預設是 False CheckBox:元件被選取時為 1,預設是 0 。 Events: Click:選取或取消選取時,便會引發此事 件。 39 字型選擇程式 40 字型選擇程式 (Cont.) 41 字型選擇程式 (Cont.) 42 字型選擇程式 (Cont.) 43 字型選擇程式 (Cont.) Label Name:lblDemo Frame Name:fraFont Size OptionButton Name:optSize8 OptionButton Name:optSize12 OptionButton Name:optSize16 Frame Name:fraFont Style CheckBox Name:chkBold CheckBox Name:chkItalic CheckBox Name:chkUnder Line 44 ListBox Properties Columns:設定資料項目顯示的方法。預設值 為0,藉由垂直捲動來顯示所有的項目。如果 值不為0,即指定 ListBox 要顯示幾行資料。 IntegralHeight:預設值是 TRUE,即 ListBox 會調整自身的大小來顯示完整的資料 項目。 List:取得或設定 ListBox 中某一特定的資料 項目。ListBox 中的資料項目索引值是由 0 開 始,所以 index=5 代表第六個資料項目。 object.List(index):string 45 ListBox (Cont.) ListCount:ListBox 中共有多少個資料項目 ListIndex:傳回或設定 ListBox 中目前選取 資料項目的索引值。 ListBox.List(ListBox.ListIndex) MultiSelect:設定是否可以支援多重選取 0:不可以,一次只能選取一個項目。 1:如果使用者想要多重選取,只要在想選取的項 目上按下滑鼠鍵或用觸控筆在 PDA 上點取,或使 用空白鍵選取。 46 ListBox and ComboBox Controls (Cont.) 2:多重選取需配合 CTRL 鍵。 NewIndex:傳回新近增加到 ListBox 元件的資料項 目之索引 Redraw:當元件內容變更時,要不要重繪物件,預設 是 TRUE。 SelCount:得知目前在 ListBox 被選取資料項目的個 數。 Selected:得知 ListBox 中某一個資料項目有沒有被 選取。 ListBox.Selected(index) Sorted:設定 ListBox 資料項目要不要依英文字母的 順序排序,預設是 False。 47 ComboBox Properties Appearance:0:Flat,1:3D (預設值) Locked:設定可不可以對資料項目進行編輯,預設值 是 False,表示可以編輯。 SelLength:傳回所選取的字元數 SelStart:傳回所選取文字的起點。 SelText:傳回所選取文字的字串,如果沒有選取, 則傳回空字串。 Style: 0 (預設值):可以在下拉式選單中選取資料項目,也可以在上 面輸入文字成新的資料項目。 1:只可以在下拉式選單中選取資料項目,無法自行輸入。 48 ComboBox Properties (Cont.) Text:returns and sets the text contained in the edit area of a ComboBox control or TextBox control 49 LisBox and ComboBox Methods AddItem:增加一個資料項目到 ListBox 或 ComboBox Control.AddItem item, index item:加入的資料項目,型態是 string index:如果沒有指定的話,自動安排一個索引值。 RemoveItem: Control.RemoveItem Index 50 LisBox and ComboBox Methods (Cont.) 在物件的屬性視窗中也提供設定資料項目的視窗 51 LisBox and ComboBox Methods (Cont.) 52 LisBox and ComboBox Events Click Scroll 53 改良的單位轉換程式 54 改良的單位轉換程式 (Cont.) 55 改良的單位轉換程式 (Cont.) 56 改良的單位轉換程式 (Cont.) 57 改良的單位轉換程式 (Cont.) 58 改良的單位轉換程式 (Cont.) Label Name:lblTitle ComboBox Name:cboUnit TextBox Name:txtData1 CommanButton Name:cmdConvert1 CommanButton Name:cmdConvert2 TextBox Name:txtData2 Label Name:lblUnit1 Label Name:lblUnit2 59 改良的單位轉換程式 (Cont.) blnCtof,blnCmtoinch,blnKgtopound 各表 示使用者選擇執行哪一個單位轉換功能。 cboUnit_Click():讀取選擇,設定三個旗標 和兩個 label 的單位名稱,清空兩個 TextBox 內容。 cmdConvert1,cmdConvert2:讀取 TextBox 內容,轉換成新的單位數值,並將 結果顯示在另一個 TextBox。 60 Finance Control eVB 除提供視覺化的控制元件外,也提供非視覺化 的特殊功能元件 61 Finance Control (Cont.) 62 Finance Control Methods DDB:計算一項資產在某一特定期間內的折 舊 FV:計算定期、定額支付且固定利率下支出 金額的未來值。 Financial.FV(rate, nper, pmt, pv,type) rate:利率 nper:投資的總期數 pmt:每一期支出的金額 pv:未來一系列付款的資產的現值 type:貨款到期的計算方式 63 Finance Control Methods (Cont.) Fiance object 是非視覺化且也不對 Event 做出回應的物件,使用時就要使用 CreateObject CreateObject(object) object:所要建立物件的 ProgID 呼叫完 CreateObject 後,回傳回物件的 reference,必須用一個物件變數來接收。 Dim object Set object=CreateObject(ProgID) 64 共同基金獲利計算 65 共同基金獲利計算 (Cont.) 66 共同基金獲利計算 (Cont.) 67 共同基金獲利計算 (Cont.) 68 共同基金獲利計算 (Cont.) 69 共同基金獲利計算 (Cont.) 70 共同基金獲利計算 (Cont.) 71 共同基金獲利計算 (Cont.) 72 共同基金獲利計算 (Cont.) 73 共同基金獲利計算 (Cont.) Label Name:lblAsk ComboBox Name:cboSelect Label Name:lblHint1 CommandButton Name:cmdCalculate TextBox Name:txtData2 Label Name:lblItem Label Name:lblResult Label Name:lblHint2 Label Name:lblHint3 TextBox Name:txtData3 TextBox Name:txtData1 74 HScrollBar and VScrollBar Properties LargeChange:設定捲軸改變量的大小 。 Object.LargeChange=number Max,Min:捲軸的最大值和最小值 Value:取得目前捲動滑動盒所在位置 (- 3276832767) LargeChange SmallChange 75 HScrollBar and VScrollBar Events Change:捲軸改變 Scroll:只有使用捲軸滑動盒移動時, 才引發此事件。按捲軸兩邊的小箭號不 會引發此事件。 76 Scroll Bar 77 Scroll Bar (Cont.) 78 Scroll Bar (Cont.) 79 Scroll Bar (Cont.) TextBox Name:txtColor HScrollBar Name:hsbRed HScrollBar Name:hsbBlue HScrollBar Name:hsbGreen 80 Scroll Bar (Cont.) eVB 使用三個 byte 來記錄顏色 &H000001&H0000FF:紅色 &H0001FF&H00FFFF:綠色 &H01FFFF&HFFFFFF:藍色 我們要把綠色軸值 (1255) 乘上 &H100 ,藍色捲軸值乘上 &H10000 將上紅色 捲軸值,成為正確的顏色。 81 Shape Properties BorderStyle:框線樣式 BorderWidth:邊框寬度。範圍:18192。 只有當 BorderStyle=1,這個屬性才有作用 DrawMode:設定物件的外觀模式,範圍 116。 常數設定值內容 vbTransparent0透明 vbBSSolid1(預設值)實線 vbBSDash2虛線 82 Shape Properties (Cont.) FillColor:設定用於填滿幾何圖形的顏 色 (標準的 RGB 顏色) FillStyle:填滿幾何圖形的形式。 picFSSolid (0):實心填滿, picFSTransparent (1,預設值):透明 。 Move:移動物件或改變大小。 83 Shape Properties (Cont.) Shape:顯示什麼形狀的幾何圖形 84 Line Properties X1,Y1,X2,Y2:兩端點的座標。 85 程式進度表 86 程式進度表 (Cont.) 87 程式進度表 (Cont.) 88 程式進度表 (Cont.) 89 程式進度表 (Cont.) 90 程式進度表 (Cont.) Label Name: Shape Name:shpRecta ngle Timer Interval:100 CommandButton Name:cmdStart CommandButton Name:cmdClear Line 91 程式進度表 (Cont.) intCounter:記錄程式執行的進度。 Timer1_Timer():利用 shprectangle.Move 改變 shape 物件的 寬度 92 Frame Control 93 Frame Control (Cont.) 94 Frame Control (Cont.) 95 Frame Control (Cont.) 96 Frame Control (Cont.) Form Name:frmMain VScrollBar Name:vsbMove Form Name:frmData 97 Frame Control (Cont.) 一般 Form 的寬度為 3600 twips,高度為 4020 twips。 Form_Load(): 把 fraData 高度減去一個畫面的高度,避免垂直 捲軸過長。 設定捲軸大位移 (LargeChange)是捲軸範圍的 1/10,小位移(SmallChange)是捲軸範圍的 1/100 。 vsbMove_Change():當使用者在拉捲軸時, 會慢慢把整個 Frame 往上移動。 fraData.Move 0, -vsbMove.Value 98 街頭民意調查表 99 街頭民意調查表 (Cont.) 100 街頭民意調查表 (Cont.) 101 街頭民意調查表 (Cont.) 102 街頭民意調查表 (Cont.) 103 街頭民意調查表 (Cont.) 104 街頭民意調查表 (Cont.) 105 街頭民意調查表 (Cont.) 106 街頭民意調查表 (Cont.) 107 街頭民意調查表 (Cont.) 108 街頭民意調查表 (Cont.) 109 街頭民意調查表 (Cont.) 110 街頭民意調查表 (Cont.) 111 街頭民意調查表 (Cont.) 112 街頭民意調查表 (Cont.) 113 街頭民意調查表 (Cont.) 114 街頭民意調查表 (Cont.) 115 街頭民意調查表 (Cont.) 116 街頭民意調查表 (Cont.) 第一個 Form 物件 frmMain 上面,有六 個 frame 物件,由左至右,由上至下分 別是 fraMain、fraAsk1、fraAsk2、 fraThanks、fraResult1、fraResult2 。 117 街頭民意調查表 (Cont.) Frame Name:fraMain ComboBox Name:cboAddress ComboBox Name:cboEducation ComboBox Name:cboParty Frame Name:fraSex OptionButton Name:optFemale OptionButton Name:optMale CommandButton Name:cmdMain Next CommandButton Name:cmdMain Result 118 街頭民意調查表 (Cont.) Frame Name:fraAsk1 Frame Name:fraQuestion1 OptionButton Name:optVeryGood OptionButton Name:optGood OptionButton Name:optNormal OptionButton Name:optBad OptionButton Name:optVeryBad CommandButton Name:cmdAsk1 Next Label Name:Label1 119 街頭民意調查表 (Cont.) Frame Name:fraAsk2 Label Name:Label9 Frame Name:fraQuestion2 OptionButton Name:optSecurity OptionButton Name:optEconomy OptionButton Name:optDiplomacy OptionButton Name:optDefense CommandButton Name:cmdAsk2 Next 120 街頭民意調查表 (Cont.) Frame Name:fraThanks Label Name:lblThanks CommandButton Name:cmdThanks Next CommandButton Name:cmdThanks Back 121 街頭民意調查表 (Cont.) Frame Name:fraResult1 Shape Name:shpVeryGood Shape Name:shpVeryBad Shape Name:shpGood Shape Name:shpNormal Shape Name:shpBad CommandButton Name:cmdResult1 Next TextBox Name:txtVeryGood TextBox Name:txtGood TextBox Name:txtNormal TextBox Name:txtBad TextBox Name:txtVeryBad 122 街頭民意調查表 (Cont.) Frame Name:fraResult2 Shape Name:shpSecurity Shape Name:shpDefense Shape Name:shpEconomy Shape Name:shpDiplomacy CommandButton Name:cmdResult2 Back CommandButton Name:cmdInfor mation TextBox Name:txtSec urity TextBox Name:txtEco nomy TextBox Name:txtDefense TextBox Name:txtDipl omacy 123 街頭民意調查表 (Cont.) Form Name:fraInform ation TextBox Name:txtInforma tion CommandButton Name:cmdToMain 124 街頭民意調查表 (Cont.) 程式當中會用到的常數在模組檔中 (modConst.bas)宣告。在模組中宣告常 用的資料、變數或函數的好處是,以後 如果其他程式也要用到類似的資料的話 ,只要把這個模組加入那個專案就好了 。那個專案便可以直接利用那些資料。 125 街頭民意調查表 (Cont.) Form_Load():把 2,3,4,5,6 個 frame 物件的 visible 設為 False,並把這些 frame 位置全 搬到左上角,不過由於 visible 設定,一次只 看到一個。所以畫面切換時,只要把某一個 frame 的 visible 設為 TRUE,其餘設為 FALSE。 cmdMainNext_Click(): 在到下一頁前需檢查三個 ComboBox 有沒有完成 選擇資料選項 (check ListIndex),如果 ListIndex=-1,表示尚未做任何選擇。系統利用 MsgBox 提示使用者再選擇資料選項,接者 Exit Sub。 當檢查完畢後,把使用者數目 intUser 加 1。 126 街頭民意調查表 (Cont.) 使用 ReDim Preserve 將陣列重新動態分配 ,隨使用者人數增加而慢慢變大。使用 Preserve,之前的資料才會保留。 blnsex():受訪者性別 intAddress():受訪者居住縣市 intEducation():受訪者教育程度 intParty():受訪者政黨屬性 intSatisfy():受訪者對政府的滿意度 intWish():受訪者希望政府解決的事 127 街頭民意調查表 (Cont.) 根據受訪者性別、居住縣市、教育程度、政黨屬性 ,設定 blnSex()、intAddress、intEducation 和 intParty 的內容。 設定 frmMain.visible=FALSE, frmAsk1.Visible=TRUE,讓使用者看到下一頁的 內容。 cmdAsk1Next_Click()、 cmdAsk2Next_Click()、 cmdThanksNext_Click() 也是類似的處理方 式。 intSumVeryGood:非常滿意的受訪人數 intSumGood:滿意的受訪人數 intSumNormal:滿意的受訪人數 128 街頭民意調查表 (Cont.) intSumBad:不滿意的受訪人數 intSumVeryBad:非常不滿意的受訪人數 sngRateVeryGood:選擇“非常滿意”所佔的比例 sngRateGood:選擇“滿意”所佔的比例 sngRateNormal:選擇“尚可”所佔的比例 sngRateBad:選擇“不滿意”所佔的比例 sngRateVeryBad:選擇“非常不滿意”所佔的比例 利用 shape 的 Move 功能畫出長條圖。 129 街頭民意調查表 (Cont.) cmdInformation_Click(): strResult=“XXXX” & vbCrLf (加上換行符號) 將字串傳給第二個物件 fraInformation 上的 TextBox 物件 txtInformation。把資料傳到其他 Form 物件的表示法: fraInforamtion.txtInformation.Text = strResult fraInformation.Visible=TRUE, frMain.Visible=False,把第一個 Frame 隱藏起來 ,顯示第二個 frame。 130 PictureBox Properties BorderStyle:設定外框的形式。0 代表無邊框,1 代 表固定邊框。 DrawStyle:所畫出的線條形式。vbSolif:0, 代表實 線 ,1 代表虛線。 DrawWidth FillColor:設定填滿用的顏色 FillStyle:picFSSolid (0):solid, picFSTransparent (1):預設值,Transparent。 Picture:設定所要顯示的圖檔檔案名稱。 Object.Picture=“xxxxx” 131 PictureBox Properties (Cont.) ScaleMode:設定物件內的座標單位 常數數值內容 VbUser0使用者自訂 VbTwips1一英吋 1440 twips,每一公 分 567 twips VbPoints2一英吋 72 points VbPixels3 vbCharacters4字元(水平:120 twips,垂 直等於 240 twips) vbInches5 vbMillimeters6 vbCentimeters7 132 PictureBox Methods Cls:清除物件內文字與圖片 DrawCircle Object.DrawCircle x,y,radius, color, aspect ,|aspect| 1 :水平軸短,垂直軸長的橢圓形。 DrawLine PictureBox.DrawLine x1,y1,x2,y2,color,box,fill,box 預設是 False,會畫出一直線。 133 PictureBox Methods (Cont.) DrawPicture PictureBox.DrawPicture picture x,y,width,height,sourcex,sourcey,source width,sourceheight,opcode picture:圖檔 x,y:Destination coordinates where picture is drawn width,height:If the destination width is larger or smaller than the source width (clipwidth), picture is stretched or compressed to fit. sourcex, sourcey:圖形要被裁剪的座標值,預設值為 0,0 sourcewidth,sourceheight:預設值為整張圖的大小 134 PictureBox Methods (Cont.) opcode:設定處理圖形的模式 (drawmode),The supported codes are vbBlackness, vbNotCopyPen, vbInvert, vbXorPen, vbMergePen and vbWhiteness. DrawPoint picturebox.DrawPoint x,y,color,內定以 forecolor。 DrawText:在 picturebox 物件上顯示文字 picturebox.Drawtext string, x, y Move 135 ImageCTL Properties Stretch:設定是否要自動替圖形縮放 ,以便顯示在 ImageCTL 中。 Object.Strech=False (預定值,The control resizes to fit the graphic) Object.Strech=True,The graphic resizes to fit the control) 136 自動擲骰子機 137 自動擲骰子機 (Cont.) 138 自動擲骰子機 (Cont.) 139 自動擲骰子機 (Cont.) Name:cboNumber Name:tmrGame ImageCTL Name:img1 ImageCTL Name:img2 ImageCTL Name:img3 ImageCTL Name:img2 ImageCTL Name:img4 Name:lblResult Name:cmdGo 140 自動擲骰子機 (Cont.) 141 自動擲骰子機 (Cont.) 142 自動擲骰子機 (Cont.) 143 自動擲骰子機 (Cont.) 144 自動擲骰子機 (Cont.) 145 自動擲骰子機 (Cont.) 由於需加入六個骰子點數的檔案( 1Dot.bmp6Dot.bmp等非執行檔),所以加入的檔案 必須以 ”Related Document”的形式存放在專案中。 如何以“Related Document”形式把所要用的骰子檔案 加到專案? 146 自動擲骰子機 (Cont.) 147 自動擲骰子機 (Cont.) Form_Load(): bln1Flagbln4Flag:骰子14 被選取否 intGameCounter:擲骰子的次數,每次一 按 Go,每個骰子會擲六次。 int1Rndint4Rnd:代表每個骰子的點數。 strPicName(6):六個骰子的檔案名稱 使用 App 物件的 Path 屬性,將路徑加至 strPath 字串中。 148 自動擲骰子機 (Cont.) cmdGo_Click(): blnGameFlag:開始玩遊戲 開始執行遊戲時,要把 cmdGo 按鈕 disable,以免遊戲結束前使用者又再按一 次。 啟動 Timer ShowResult():顯示骰子個別和全部的 點數 149 動物競賽 150 動物競賽 (Cont.) 151 動物競賽 (Cont.) 152 動物競賽 (Cont.) ImageCTL Name:imgRabbit ImageCTL Name:imgTurtle ImageCTL Name:imgDragon Name:tmrGame Shape Name:Shape1 Shape Name:Shape2 Shape Name:Shape3 ImageCTL Name:imgGoal Name:cmdGo Label Name:lblResult 153 動物競賽 (Cont.) 154 動物競賽 (Cont.) 155 動物競賽 (Cont.) 156 動物競賽 (Cont.) 157 動物競賽 (Cont.) blnStartFlag:遊戲開始否 intStep:步伐,在 1,2 間切換 Form_Load():一開始顯示三種動物的圖片 cmdGo_Click():如果按下去的鈕是”Go”,表示三種 動物都在起點,開始比賽。如果按鈕是”Clear”,表示 三種動物已跑到終點。若動物尚在運動,則是 inactive 的 “Clear” 鍵。 tmrGame_Timer():每 0.25 秒會執行一次。Rnd 上 界是 200,下界是 10。作為每一次每個動物移動的距 離。配合 intStep 切換 BMP 檔,使畫面看起來動物 會移動。 158 動物競賽 (Cont.) intRabbitPosition, intTurtlePosition, intDragonPosition:動物的位置。 判斷誰勝出 159 簡易科學計算機 160 簡易科學計算機 (Cont.) Label Name:lblResult Label Name:lblOperator Name:cmdSin Name:cmd7 Name:cmdAdd Name:cmdSubtraction Name:cmdMulti Name:cmdSqr Name:cmdDot Name:cmdNegative Name:cmdDiv Name:cmdResult Name:cmdClear Name:optRadian Name:optDegree 161 簡易科學計算機 (Cont.) 162 簡易科學計算機 (Cont.) 163 簡易科學計算機 (Cont.) 164 簡易科學計算機 (Cont.) 165 簡易科學計算機 (Cont.) 166 簡易科學計算機 (Cont.) 167 簡易科學計算機 (Cont.) 168 簡易科學計算機 (Cont.) 169 簡易科學計算機 (Cont.) 170 簡易科學計算機 (Cont.) 171 簡易科學計算機 (Cont.) InitData: dblOp1, dblOp2:要被計算的兩個數 blnOp1Flag, blnOp2Flag:現在是處理那個數 blnAddFlag, blnMin, blnMultiFlag, blnDivFlag: 是否正在執行加, 減, 乘, 除的運算。 blnDotFlag:數值是否有小數點 strOp:使用者的輸入 Form_Load(): dblPI:圓周率 172 簡易科學計算機 (Cont.) Cmd0(9)_Click():把使用者按下鍵的值放入 strOp 字串中。如果使用者正在操作的是第一 個數值,就使用 CDbl 把 strOp 轉成 double 型態的 dblOp1。反之則轉給 dblOp2。並將 輸入的數顯示在 lblResult 中。 cmdNegative_Click():我們會改變目前正在 輸入值之正負號。 cmdSqr_Click():利用 sqr 函數開根號 173 簡易科學計算機 (Cont.) cmdSubstraction_Click():減號是在第一個 數值輸入完畢後,才可以按。若第二個數值已 輸入,再按減號已沒有意義。 cmdSubAdd(), cmdMulti_Click(), cmdDiv_Click():和 cmdSubStraction_click() 同。 cmdResult_Click():使用者按下等號,看是 要執行加減乘除哪一個運算。 cmdCos_Click():optRadian=True 代表輸入 的是 radius 單位,否則輸入的是 degree 單 位。 174 身份證檢驗程式 演算法: 共有 10 個碼,第一個字是英文字母,其餘為阿拉 伯數字。 A 檢查碼 10,B 檢查碼 11,H 檢查碼 17,J 檢查碼 18,N 檢查碼 22,P 檢查碼 23, Z 檢查碼 33,I 檢查碼 34,O檢查碼 35。 把 11 位數的第一個和最後一個數字去掉,成為九 位數。從第一位數開始分別乘以 9、8 、1,再將 數值相加,之後再加上去掉的第一個和最後一個數 字。若所算出的總和剛好是 10 的倍數,就是一個 合法的身份證字號。 175 身份證檢驗程式 (Cont.) 176 身份證檢驗程式 (Cont.) 177 身份證檢驗程式 (Cont.) Name:cboChar acter Name:txtNumber Name:cmdCheck Name:cmdClear Name:lblResult 178 身份證檢驗程式 (Cont.) 179 身份證檢驗程式 (Co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主管护师考前巩固试题及答案
- 2025年江苏省直机关遴选公务员面试真题及解析
- 2025年青海出租车考试试题模拟题
- -资料员之资料员基础知识通关考试题库带答案解析
- 2025年注册计量师《计量极业实务》时间频率卷
- 2025年农业技术员(中级)职业技能考核真题解析卷
- 华医网基层培训育理论考试真题
- 临床检验仪器复习题及答案
- 2021中级注册安全工程师《煤矿安全》模拟试题2
- 2025年吉林省白城市中考作文押题附范文分析
- GB/T 28724-2012固体有机化学品熔点的测定差示扫描量热法
- 门窗工程观感质量验收标准
- 商务谈判的礼仪 课件
- 04顶棚筑装饰构造课件
- GB∕T 27996-2022 全地面起重机
- 油漆作业安全操作规程
- 氩气安全告知牌
- 2022年电厂电气运行试题库大全含答案
- Berg平衡量表应用简介
- 科技行业AI+汽车:高级别智能驾驶提效降耗新体验
- Q-RJ 557-2017 航天型号产品禁(限)用工艺目录(公开)
评论
0/150
提交评论