VB程序設(shè)計電子教案第6章:輸入輸出操作管理.ppt_第1頁
VB程序設(shè)計電子教案第6章:輸入輸出操作管理.ppt_第2頁
VB程序設(shè)計電子教案第6章:輸入輸出操作管理.ppt_第3頁
VB程序設(shè)計電子教案第6章:輸入輸出操作管理.ppt_第4頁
VB程序設(shè)計電子教案第6章:輸入輸出操作管理.ppt_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章輸入 輸出操作管理 鍵盤響應(yīng)與鼠標響應(yīng)文件的數(shù)據(jù)管理文件系統(tǒng)控件 本章學(xué)習(xí)目標 熟練掌握鍵盤字符 功能鍵 控制鍵等各類按鍵的識別方法掌握MouseDown MouseUp和MouseMove三類鼠標響應(yīng)事件的編程方法全面掌握順序文件 隨機文件的打開 讀寫和關(guān)閉操作掌握三種文件系統(tǒng)控件的使用 尤其是如何實現(xiàn)三種控件的功能同步 鍵盤響應(yīng)示例 編寫一個可判斷功能鍵F2與Alt Shift Ctrl中的哪一個或哪兩個進行組合控制的鍵盤響應(yīng)示例程序 鍵盤響應(yīng)示例實現(xiàn)方法 選擇正確的響應(yīng)事件如何區(qū)分用戶按鍵 選擇正確的響應(yīng)事件 在VB6 0中 可以響應(yīng)用戶按鍵的事件有 KeyPress 若有鍵被按下 KeyDown 按下某個鍵 KeyUp 松開某個鍵 三種 但KeyPress事件只能區(qū)分普通的ASCII碼字符 無法判斷組合控制鍵 光標移動鍵等 因此本示例中必須使用KeyDown或KeyUp事件 如何區(qū)分用戶按鍵 無論是KeyDown還是KeyUp事件 都有兩個參數(shù) KeyCodeAsInteger ShiftAsInteger 其中Keycode中存放所按鍵的鍵值 不區(qū)分大小寫字符 但區(qū)分大小鍵盤 Shift參數(shù)用于表示事件發(fā)生時 Shift鍵 Alt鍵和Ctrl鍵的狀態(tài) 鍵盤上各鍵的鍵值可通過VB對象瀏覽器了解例如 判斷用戶是否按下F2鍵 只需判斷KeyCode vbKeyF2是否成立 VB中的三個測試常量 VbShiftMask VbCtrlMask及VbAltMask 其值分別表示1 2和4 常見的測試這三種控制鍵的方法 先設(shè)置以下三個表達式 shiftdown ShiftAndvbShiftMask 0altdown ShiftAndvbAltMask 0ctrldown ShiftAndvbCtrlMask 0如果shiftdownandaltdownandctrldown為真 則表示按下了Shift Ctrl Alt鍵 若shiftdown為真表示按下了Shift鍵 其余以此類推 鍵盤響應(yīng)相關(guān)知識點 KeyPress KeyUp和KeyDown鍵盤響應(yīng)事件三種事件的響應(yīng)差異KeyPress事件的使用 KeyPress KeyUp和KeyDown 當用戶按下并且釋放一個ANSI鍵就會觸發(fā)KeyPress事件 按下一個鍵便觸發(fā)KeyDown事件 釋放引發(fā)KeyUp事件 在引發(fā)鍵盤事件的同時 用戶所按的鍵盤碼作為實參傳遞給相應(yīng)的事件過程 供程序判斷識別用戶的操作 三種事件的響應(yīng)差異 KeyPress只響應(yīng)按下標準ASCII字符表中對應(yīng)的鍵時的事件 如回車鍵 Tab鍵 Backspace鍵等以及標準鍵盤中的字母 標點 數(shù)字鍵等 KeyDown和KeyUp事件能區(qū)分控制鍵 功能鍵 大小鍵盤區(qū)域內(nèi)的字符等KeyPress無法處理的情況 但不區(qū)分大小寫 KeyDown與KeyUp無本質(zhì)差別 但若用戶需進行單步跟蹤調(diào)試時 可選擇KeyUp KeyPress事件的使用 將文本框Text1中輸入的文本轉(zhuǎn)換為大寫在文本框Text2中顯示 PrivateSubText1 KeyPress KeyAsciiAsInteger Text2 Text2 UCase Chr KeyAscii EndSub將KeyAscii參數(shù)設(shè)置為0時 可取消擊鍵事件 這樣對象便接收不到字符 即可屏蔽鍵盤輸入 思考題6 1 無論用戶在文本框Text1中輸入任何字符 程序均在Text1中顯示大寫字符A 當用戶在Text1中按鍵時 直接顯示所按鍵的大寫 鼠標響應(yīng)編程示例 一個可進行簡單的隨手涂鴉的畫圖程序 當用戶在窗體上按下鼠標不放并移動時 便可進行隨手涂鴉 此時鼠標指針為十字形 松開鼠標 鼠標指針恢復(fù)為箭頭形狀 隨手涂鴉的畫圖程序?qū)崿F(xiàn)分析 選擇正確的響應(yīng)事件 MouseDown MouseUp及MouseMove如何設(shè)置鼠標指針如何實現(xiàn)隨手涂鴉 如何設(shè)置鼠標指針 通過MousePointer屬性 大部分控件都具有該屬性 在程序設(shè)計中 往往可通過不同的鼠標指針形狀來表達正在執(zhí)行不同的任務(wù) 如用沙漏狀表示等待狀態(tài) 十字形表示畫圖狀態(tài) 箭頭及問號狀表示求助狀態(tài)等等 對象名 MousePointer 設(shè)定值 如何實現(xiàn)隨手涂鴉 可在MouseMove事件過程中 用畫線的方法來實現(xiàn)該功能 用Line X Y 表示從當前位置畫線到 X Y 坐標 鼠標響應(yīng)相關(guān)知識點 MouseDown MouseUp和MouseMove事件的應(yīng)用DragDrop和DragOver事件 MouseDown MouseUp和MouseMove的應(yīng)用 事件過程的一般格式 以窗體對象為例 PrivateSubForm MouseDown ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle PrivateSubForm MouseUp ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle PrivateSubForm MouseMove ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle 這三種事件過程所包含的參數(shù)完全相同 參數(shù)的具體含義參見教材 DragDrop和DragOver事件 DragOver事件在拖放操作正在進行時發(fā)生 DragDrop事件最常見的激活狀態(tài)是在一個完整的拖放動作完成 如將一外控件拖到另一個對象上 并釋放了鼠標 時 DragDrop事件過程用來控制在一個拖動操作完成時將會發(fā)生的情況 而DragOver事件過程則用來處理拖動正在進行時需執(zhí)行的功能 DragDrop和DragOver事件過程 事件過程的一般格式 以窗體對象為例 SubForm DragDrop SourceAsControl XAsSingle YAsSingle SubForm DragOver SourceAsControl XAsSingle YAsSingle StateAsInteger 其中 Source 表示正在被拖放的控件對象 X Y 指當前鼠標指針在目標對象上的位置坐標 State 代表源控件被拖動的情況 如是正在向目標范圍內(nèi)拖動 值為0 還是向目標范圍外拖動 值為1 或者是在目標范圍內(nèi)部移動 值為2 文件的數(shù)據(jù)管理 文件管理的基本概念文件的基本操作文件操作應(yīng)用實例 文件管理的基本概念 文件的結(jié)構(gòu)特點VB中文件的分類根據(jù)文件的存取方式和結(jié)構(gòu)分根據(jù)文件的數(shù)據(jù)性質(zhì)分根據(jù)文件中數(shù)據(jù)的編碼方式分僅討論順序文件和隨機文件的操作 文件的基本操作 最基本的三類文件操作 打開文件 讀 寫文件 關(guān)閉文件 相關(guān)的判斷函數(shù) 定位函數(shù)等 順序文件的基本操作 順序文件的打開順序文件的讀操作順序文件的寫操作關(guān)閉文件 Close 關(guān)閉所有打開的文件Close 文件號 文件號 關(guān)閉指定的文件 順序文件的打開 格式一 Open文件名forinputas 文件號功能 打開已有數(shù)據(jù)的文件準備讀操作示例 Open d TEST1 dat ForInputAs 1 格式二 Open文件名foroutputas 文件號功能 打開文件準備寫操作 會清除原數(shù)據(jù) 示例 Open d test2 dat ForOutputAs 2 格式三 Open文件名forappendas 文件號功能 打開一文件準備追加數(shù)據(jù) 原文件可有可無 順序文件的讀操作 格式一 Input 文件號 變量列表功能 從打開的文件中依次讀取數(shù)據(jù)賦于各變量 將逗號和換行符作為數(shù)據(jù)分隔符 格式二 LineInput 文件號 變量名從文件中讀取一行數(shù)據(jù) 直到遇到回車chr 13 或回車換行chr 13 chr 10 為止 格式三 s Input 字符個數(shù) 文件號 功能 從以Input或Binary方式打開的文件中讀取指定個數(shù)的字符串 作為函數(shù)返回值 字符可包括標點符號 回車 空白等 示例 MyChar Input 1 1 從 1文件中讀取一個字符賦給MyChar變量 順序文件的寫操作 格式一 Write 文件號 表達式表 功能 將各數(shù)據(jù)項寫入文件中 自動以逗號作為數(shù)據(jù)分隔符 且對字符串數(shù)據(jù)加雙引號 示例 Write 6 zhang wang li Write 6 78 99 67則文件中的數(shù)據(jù)存儲形式為 zhang wang li 78 99 67 格式二 Print 文件號 表達式表 功能 按Print格式打印的各數(shù)據(jù)項寫入文件中 不自動加任何分隔符示例 Print 1 zhang wang li Print 1 78 99 67則文件中的數(shù)據(jù)存儲形式為 zhangwangli789967 隨機文件的基本操作 隨機文件的打開隨機文件的讀操作隨機文件的寫操作 隨機文件的打開 格式 Open文件名forRandomas 文件號 len 記錄長度 功能 打開一指定記錄長度 0 32K 的隨機文件以準備讀 寫操作 默認記錄長度為128字節(jié) 隨機文件的記錄長度可通過Len函數(shù)獲得 隨機文件打開可同時進行讀寫操作 隨機文件的讀操作 格式 Get 文件號 記錄號 記錄變量功能 將指定的記錄讀到記錄變量中 起始記錄為 每讀一條記錄 記錄指針自動指向下一條記錄 記錄號加1 記錄號可缺省 表示讀取當前記錄 但其后的逗號不可省 隨機文件的寫操作 格式 Put 文件號 記錄號 記錄變量功能 將記錄變量中的內(nèi)容寫到指定記錄號的位置 原位置數(shù)據(jù)被蓋 省略記錄號時 指插入到當前記錄之后 與文件操作相關(guān)的函數(shù) FreeFile LOF 文件號 FileLen 文件名 EOF 文件號 獲取文件當前讀 寫的位置 文件操作應(yīng)用實例 實例6 1 實例6 1 順序文件的基本操作 實現(xiàn)分析 文件讀寫操作的實現(xiàn)在讀取文件時 可采用LineInput將讀取的行信息連接起來暫時保存到某一內(nèi)存變量以便統(tǒng)一顯示在文本框中 LineInput filenum sbuffer buffer s Chr 13 Chr 10 實現(xiàn)分析 考慮程序的健壯性問題 2 避免用戶未選取任何文件便進行文件讀寫操作 可在程序中采用類似于IfLen Cdl1 FileName 0 其中Cdl1為通用對話框名稱 的語句來判斷是否已選取了文件名 filesize FileLen FileName 獲取指定文件名的文件長度Iffilesize MaxlenThen Maxlen為一自定義常量 65535 MsgBox 文件太大了 ExitSubEndIf 1 避免長度超過規(guī)定的文件的讀寫操作 文件操作應(yīng)用實例 實例6 2 實例6 2 隨機文件的基本操作 實例6 2 實現(xiàn)分析 界面設(shè)置文件記錄類型的定義如何實現(xiàn)記錄的添加顯示學(xué)生信息時的一些細節(jié)問題 文件系統(tǒng)控件簡介 驅(qū)動器列表框目錄列表框文件列表框 驅(qū)動器列表框 驅(qū)動器列表框是供用戶操作計算機中各驅(qū)動器的一個下拉式列表框 主要屬性是Drive 該屬性不能在設(shè)計狀態(tài)時設(shè)置 只能在程序中被引用或設(shè)置 Drive屬性的設(shè)置方法 對象名 Drive 驅(qū)動器名 例如 DriveList1 Drive e 目錄列表框 目錄列表框顯示當前驅(qū)動器的目錄結(jié)構(gòu)及當前目錄下的所有子目錄 供用戶選擇其中的某個目錄作為當前目錄 在目錄列表框中 鼠標雙擊某個目錄便可顯示該目錄下的所有子目錄 目錄列表框最常用的屬性是Path 該屬性用于設(shè)置或返回當前目錄的完整路徑 只能在程序中使用 不能在設(shè)計階段設(shè)置 目錄列表框的最重要事件是Change事件 當用戶改變了目錄列表框的當前目錄后便激發(fā)該事件 文件列表框 文件列表框的主要屬性有 1 Pattern屬性 設(shè)置顯示文件的類型 如 bmp 可用分號分隔多種類型 2 FileName屬性 用于返回某個選定的文件名 但不包括文件路徑 3 Path屬性 返回或設(shè)置文件列表框的當前路徑 4 ListCo

溫馨提示

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

最新文檔

評論

0/150

提交評論