第一篇:《Visual Basic 程序設(shè)計》課程設(shè)計大綱概要
《Visual Basic 程序設(shè)計》課程設(shè)計大綱
課程代碼:8610 課程名稱:Visual Basic 程序設(shè)計 適用專業(yè):計算機(jī)應(yīng)用類專業(yè) 設(shè)計編號:P2006016
課程設(shè)計時間:暫不單獨(dú)規(guī)定時間,隨課程進(jìn)行。課程設(shè)計授課單位:專業(yè)基礎(chǔ)教研室
課程設(shè)計指導(dǎo)方式:集體輔導(dǎo)與個別輔導(dǎo)相結(jié)合
課程設(shè)計教材及主要參考資料:
(1)田智 編《QBasic/Visual Basic 6.0程序設(shè)計語言教程》內(nèi)蒙古大學(xué)出版社(2)丁愛萍等 編《Visual Basic程序設(shè)計》西安電子科技大學(xué)出版社 教學(xué)參考書
(3)唐凱軍
編《Visual Basic 6.0編程》山東電子音像出版社(4)趙晨陽
編《Visual Basic程序設(shè)計》電子工業(yè)出版社(5)王曉敏等 編《Visual Basic程序設(shè)計》鐵道出版社(6)潘曉南
編《Visual Basic程序設(shè)計基礎(chǔ)》鐵道出版社
(7)吳文虎
編《Visual Basic.NET程序設(shè)計教程》鐵道出版社(8)柴欣
等編《Visual Basic程序設(shè)計實(shí)驗(yàn)教程》鐵道出版社
(9)劉鋼 主編全國計算機(jī)等級考試二級叢書編委會編《Visual Basic典型題匯與解析》、《Visual Basic程序設(shè)計與應(yīng)用案例》,高教出版社
(10)劉韜等 編《Visual Basic數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例導(dǎo)航》,人民郵電出版社(11)龔沛曾等 編著,《Visual Basic程序設(shè)計教程》,高等教育出版社,2000.9(12)楊正華等 編著,《Visual Basic 游戲編程導(dǎo)學(xué)》,清華大學(xué)出版社,2004.9
一、課程設(shè)計教學(xué)目的及基本要求
1、掌握Visual Basic程序設(shè)計的一般設(shè)計方法,具備初步的獨(dú)立設(shè)計能力;
2、通過課程設(shè)計,把本學(xué)期、本學(xué)科領(lǐng)域所覆蓋及延伸的知識點(diǎn)應(yīng)用到具體的實(shí)例當(dāng)中;
3、提高綜合運(yùn)用所學(xué)的理論知識獨(dú)立分析和解決問題的能力,培養(yǎng)學(xué)生自主學(xué)習(xí)和獨(dú)立創(chuàng)新的精神;
4、增強(qiáng)學(xué)生的動手能力和應(yīng)用理論的能力,把各控件結(jié)合在一起,培養(yǎng)綜合運(yùn)用技巧和Visual Basic 程序設(shè)計能力。
5、通過課程設(shè)計,學(xué)生能達(dá)到具備設(shè)計功能較為復(fù)雜的Windows應(yīng)用程序的能力;
目的是。同時,通過課程設(shè)計,是人才培養(yǎng)體系中極為重要的一環(huán)。
二、課程設(shè)計內(nèi)容及安排
1、根據(jù)設(shè)計題目要求,設(shè)計用戶界面;
2、編寫程序代碼,代碼應(yīng)具有詳細(xì)注釋,用來說明程序的功能、結(jié)構(gòu);
3、調(diào)試、運(yùn)行程序;
4、保存文件;
5、生成.EXE文件;
6、打包、發(fā)行;
7、編寫課程設(shè)計報告。
三、設(shè)計題目
1、邊框調(diào)整 設(shè)計要求:制作一個類似資源管理器內(nèi)部邊框調(diào)整的程序,當(dāng)鼠標(biāo)放在窗口中間的直線上時,鼠標(biāo)將變成雙向箭頭,此時可以按住鼠標(biāo)左鍵左右拖動來改變窗口的寬度。
2、歷史記錄 設(shè)計要求:制作能夠記憶最近打開的文件功能的例子。文件菜單中顯示了最近打開過的4個文件,用鼠標(biāo)左鍵單擊“清除歷史記錄”按鈕可以清除這4個記錄,用鼠標(biāo)左鍵單擊“退出”可以退出該程序。
3、實(shí)現(xiàn)漸變實(shí)例的背景 設(shè)計要求:制作1個實(shí)現(xiàn)漸變效果背景的程序。拖動3個滾動條可以改變3種單色,“合成顏色”顯示的是3種單色疊加的效果,用鼠標(biāo)左鍵單擊按鈕“更新窗體背景色”可以將這種合成顏色的漸變效果用于整個窗體;用鼠標(biāo)左鍵單擊按鈕“上下顏色對換”可以將三種單色上下對調(diào);用鼠標(biāo)左鍵單擊“退出”可以退出該程序。
4、打開文本文件
設(shè)計要求:制作一個可以打開文本文件的窗體。運(yùn)行程序后,用鼠標(biāo)單擊打開按鈕,彈出一個通用對話框,選擇所要打開的TXT文件,在TextBox中顯示打開文件的內(nèi)容。
5、進(jìn)度條
設(shè)計要求:制作一個在拷貝文件和下載文件時經(jīng)常見到的進(jìn)度條程序。運(yùn)行程序后,用鼠標(biāo)左鍵單擊“開始”按鈕,三個不同的進(jìn)度條開始工作;其中兩個顯示了百分比,另一個雖然沒有數(shù)值顯示,但從進(jìn)度條上的小格數(shù)可以大概估計出進(jìn)度情況。
6、動態(tài)菜單
設(shè)計要求:制作一個動態(tài)菜單程序。將鼠標(biāo)移動到標(biāo)題欄和菜單欄的交界線附近時,隱藏的菜單顯示出來,同時可以看到菜單右下角的兩條線;用鼠標(biāo)單擊選定的菜單,即可彈出菜單選項(xiàng),同時在菜單的左下角有兩條邊界線;移開鼠標(biāo)并在其它位置單擊一下,菜單又隱藏起來。
7、滾動顯示的界面
設(shè)計要求:制作一個滾動顯示的界面程序。用鼠標(biāo)單擊“打開圖片”,彈出地個通用對話框,在此對話框中可以選定一張圖片后打開,便可以在窗體中加載一張圖片,移動滾動條可移動圖片;用鼠標(biāo)單擊“滾動顯示文本”,可以看見窗口中的文字開始滾動,單擊“停止?jié)L動顯示”,則文字定格。
8、圖畫板
設(shè)計要求:制作一個利用鼠標(biāo)繪圖的程序。可以用鼠標(biāo)繪制直線、圓及矩形等曲線。
9、VB中實(shí)現(xiàn)特殊文字效果
設(shè)計要求:制作一個能夠?qū)崿F(xiàn)特殊文字效果的程序。運(yùn)行程序后,窗體中實(shí)現(xiàn)了三種文字效果:雕刻效果、陰影效果和浮雕效果。
10、流水燈
設(shè)計要求:制作一個程序,圖中的紅、黃、綠三種燈做逆時針旋轉(zhuǎn)。
11、圖像瀏覽器
設(shè)計要求:制作一個可以瀏覽BMP、JPG、GIF和ICO圖片、圖標(biāo)的程序,對于一張大圖片可以拖動滾動條進(jìn)行瀏覽,如果在同一文件夾下有多個圖片文件,可以單擊“上一張”和“下一張”按鈕進(jìn)行瀏覽。
12.調(diào)色板
設(shè)計要求:制作一個常用調(diào)色板的程序。上面是顏色帶,顯示了各種顏色的漸變效果;下面是調(diào)色區(qū),調(diào)整顯示顏色的變化
四、課程設(shè)計考核方法、成績評定和時間安排
考核方法:課程設(shè)計結(jié)束時,要求學(xué)生提交的內(nèi)容包括:
1、程序清單:代碼應(yīng)具有詳細(xì)注釋,用來說明程序的功能、結(jié)構(gòu);
2、設(shè)計報告: 報告中應(yīng)包含上機(jī)時遇到的問題及解決辦法,觀察到的現(xiàn)象及其分析,對程序設(shè)計技巧的總結(jié)及分析等;程序的輸出結(jié)果及對結(jié)果的分析;實(shí)驗(yàn)的心得體會,以及其它信息;
3、提交時,須向指導(dǎo)教師說明:程序的使用方法,調(diào)用方法、操作步驟等;要求輸入信息的類型及格式;出錯信息的含義及程序的適用范圍等。
成績評定:課程設(shè)計成績分兩部分,設(shè)計報告占40%,設(shè)計作品占60%。
課程設(shè)計時間安排:12周布置題目;13周-14周設(shè)計電路;15周-16周設(shè)計調(diào)試電路;17周驗(yàn)收,并進(jìn)行成績評定。
課程設(shè)計可作為本課程的平時成績,課程設(shè)計未通過驗(yàn)收或沒有認(rèn)真完成,平時成績可以按0分記載。
大綱編寫修改時間:2006年1月28日 教學(xué)大綱編寫教師:蔡紅梅 計算機(jī)系審查教師: 教務(wù)處審查人簽字: 分管教學(xué)校長簽字:
第二篇:《VisualBasic程序設(shè)計》課程教學(xué)大綱
天津廣播電視大學(xué)開放教育計算機(jī)網(wǎng)絡(luò)技術(shù)專業(yè)、計算機(jī)信息管理(專科)
《VisualBasic程序設(shè)計》課程教學(xué)大綱
第一部分大綱說明
一、課程的性質(zhì)與任務(wù)
VisualBasic程序設(shè)計課程是中央廣播電視大學(xué)計算機(jī)相關(guān)專業(yè)的統(tǒng)設(shè)(統(tǒng)服)必修課,4學(xué)分,72學(xué)時,其中實(shí)驗(yàn)36學(xué)時,開設(shè)一學(xué)期。
課程的主要內(nèi)容包括:可視化編程理論概述,VB可視化編程初步,應(yīng)用程序接口設(shè)計及代碼編寫,VB高級語言技巧,文件處理應(yīng)用程序設(shè)計方法,圖形圖像和多媒體應(yīng)用程序設(shè)計方法,數(shù)據(jù)庫應(yīng)用程序設(shè)計方法,網(wǎng)絡(luò)應(yīng)用程序設(shè)計方法,調(diào)試與錯誤處理,Com和ActiveX應(yīng)用。
通過本課程的學(xué)習(xí),使學(xué)生掌握可視化程序設(shè)計方法和VB程序設(shè)計的編程技巧,具備用VB語言進(jìn)行應(yīng)用系統(tǒng)開發(fā)的初步能力。
二、與相關(guān)課程的關(guān)系
本課程是中央電大計算機(jī)相關(guān)專業(yè)的統(tǒng)設(shè)(統(tǒng)服)必修課。其先修課為計算機(jī)應(yīng)用基礎(chǔ)。
三、課程的教學(xué)要求
1.掌握VisualBasic語言的語法和VisualBasic程序的基本結(jié)構(gòu)。
2.掌握程序設(shè)計方法。
3.掌握程序調(diào)試和錯誤處理的方法。
4.理解可視化編程和面向?qū)ο蟮母拍睢?/p>
5.了解ActiveX的簡單應(yīng)用。
四、課程的教學(xué)方法和教學(xué)形式建議
1.本課程的特點(diǎn)是:概念多、實(shí)踐性強(qiáng)、涉及面廣,因此建議采用在計算機(jī)教室(或計算機(jī)多媒體教室)進(jìn)行講授的教學(xué)形式,講授、實(shí)驗(yàn)與課堂討論相結(jié)合。
2.為加強(qiáng)和落實(shí)動手能力的培養(yǎng),應(yīng)保證上機(jī)機(jī)時不少于本教學(xué)大綱規(guī)定的實(shí)驗(yàn)學(xué)時。
3.應(yīng)充分利用網(wǎng)絡(luò)技術(shù)進(jìn)行授課、答疑和討論。
五、課程教學(xué)要求的層次
本課程的教學(xué)要求分為掌握、理解和了解三個層次。掌握是在理解的基礎(chǔ)上加以靈活應(yīng)用;理解是能正確表達(dá)有關(guān)概念和方法的含義,并且能夠進(jìn)行簡單分析和判斷;了解即能正確判別有關(guān)概念和方法。
在期末考核試卷中(涵蓋實(shí)驗(yàn)內(nèi)容),掌握的內(nèi)容約占總分?jǐn)?shù)的60%,理解的內(nèi)容約占30%,了解的內(nèi)容約占10%。
第二部分媒體使用與教學(xué)過程建議
一、課程學(xué)時分配
課程教學(xué)總學(xué)時數(shù)為72學(xué)時,4學(xué)分,其中實(shí)驗(yàn)課學(xué)時為36。各章學(xué)時分配如下:
章 教學(xué)內(nèi)容
授課學(xué)時 實(shí)驗(yàn)學(xué)時 2 4 6 5 3 2 2 4 5 5 8 4 2 2 36 第一章 可視化編程理論概述 第二章 VB可視化編程初步
第三章 應(yīng)用程序接口設(shè)計及代碼編寫 第四章 VB高級語言技巧
第五章 文件處理應(yīng)用程序設(shè)計方法
第六章 圖形圖像和多媒體應(yīng)用程序設(shè)計方法 4 第七章 數(shù)據(jù)庫應(yīng)用程序設(shè)計方法 第八章 網(wǎng)絡(luò)應(yīng)用程序設(shè)計方法 第九章 調(diào)試與錯誤處理 第十章 Com和ActiveX應(yīng)用 合計 3 2 1 36
二、多種媒體教材的總體說明
本課程使用的教學(xué)媒體有:文字教材、錄像教材、CAI課件和網(wǎng)上教學(xué)。
1.文字教材:主要教學(xué)媒體,是本課程教與學(xué)和考核的基本依據(jù),對其他教學(xué)媒體起紐帶作用,具有導(dǎo)學(xué)功能。文字教材采用分立式,包括主教材和實(shí)驗(yàn)教材。
2.錄像教材:輔媒體,講授課程的重點(diǎn)、難點(diǎn)以及在面授教學(xué)中難以實(shí)現(xiàn)的教學(xué)內(nèi)容,是對文字教材的強(qiáng)化和補(bǔ)充。
3.CAI課件:自測練習(xí),應(yīng)用程序開發(fā)演練,通過交互式教學(xué)的特點(diǎn),以解決學(xué)生在自學(xué)中遇到的疑難問題。
4.網(wǎng)上教學(xué):教學(xué)輔導(dǎo)、答疑,階段性總結(jié)和復(fù)習(xí)等。
三、教學(xué)環(huán)節(jié)
以文字教材為基礎(chǔ),通過錄像教材、CAI課件等輔助教學(xué)媒體強(qiáng)化教學(xué)的重、難點(diǎn)內(nèi)容,并通過實(shí)驗(yàn)課的訓(xùn)練,加深學(xué)生對課程內(nèi)容的理解,掌握用VB語言進(jìn)行程序開發(fā)的方法和技術(shù)。網(wǎng)上教學(xué)與教學(xué)進(jìn)度同步,輔以辦學(xué)試點(diǎn)單位教師的面授輔導(dǎo),提高教學(xué)質(zhì)量。
四、考核
本課程的考核采用期末終結(jié)性考核和形成性考核兩種考核方式,期末終結(jié)性考核由中央電大根據(jù)教學(xué)大綱統(tǒng)一命題,占課程總成績的80%,形成性考核以平時作業(yè)的形式完成,占課程總成績的20%。
第三部分 教學(xué)內(nèi)容和教學(xué)要求
第一章可視化編程理論概述(2學(xué)時)
一、教學(xué)內(nèi)容:
1.“加法運(yùn)算”應(yīng)用程序?qū)嵗治?/p>
2.VB集成開發(fā)環(huán)境介紹
3.幾種流行的可視化編程工具比較
4.面向?qū)ο蟮母拍?/p>
二、教學(xué)要求:
1.掌握VB工程的概念及管理方法
2.掌握在VB集成環(huán)境中獲得幫助的方法
3.理解可視化編程的概念和特點(diǎn)
4.了解目前流行的可視化語言的種類和主要特點(diǎn)
5.了解面向?qū)ο蟮母拍罴捌浠緳C(jī)制
第二章VB可視化編程初步(4學(xué)時)
一、教學(xué)內(nèi)容:
1.創(chuàng)建第一個應(yīng)用程序:時鐘程序
2.程序代碼分析
3.窗體及基本控件
3.事件驅(qū)動
4.時鐘程序分析
二、教學(xué)要求:
1.掌握VB應(yīng)用程序開發(fā)的一般步驟。
2.掌握命令按鈕、文本框和標(biāo)簽的使用和MsgBox函數(shù)的用法。
3.理解賦值語句和變量的概念。
4.理解對象、屬性、方法和事件的概念及其之間的區(qū)別和聯(lián)系。
5.理解事件驅(qū)動的原理。
6.了解時鐘程序的工作原理
第三章應(yīng)用程序接口設(shè)計及代碼編寫(6學(xué)時)
一、教學(xué)內(nèi)容:
1.“簡單的計算器”應(yīng)用程序任務(wù)
2.可視化界面設(shè)計基礎(chǔ)
3.可視化界面高級設(shè)計
4.代碼設(shè)計基礎(chǔ)
5.工程化思想及編程風(fēng)格
二、教學(xué)要求:
1.掌握可視化界面設(shè)計的方法
2.掌握變量和常量的作用域、作用范圍及用法
3.掌握運(yùn)算符及流程控制語句的用法
4.理解工程化思想和編程風(fēng)格
5.理解常用函數(shù)的使用方法
6.了解窗體設(shè)計的基本原則
7.了解“簡單計算器”程序設(shè)計過程
第四章VB高級語言技巧(5學(xué)時)
一、教學(xué)內(nèi)容:
1.“多功能計算器”應(yīng)用程序任務(wù)
2.?dāng)?shù)組的使用
3.過程和函數(shù)的定義和調(diào)用
4.鍵盤使用技巧
5.鼠標(biāo)使用技巧
二、教學(xué)要求:
1.掌握數(shù)組的使用方法
2.掌握鍵盤、鼠標(biāo)的使用技巧
3.掌握過程和函數(shù)的定義和調(diào)用方法
4.掌握API函數(shù)的調(diào)用方法
5.了解枚舉及自定義數(shù)據(jù)類型
6.了解“多功能計算器”程序設(shè)計過程
第五章文件處理應(yīng)用程序設(shè)計方法(3學(xué)時)
一、教學(xué)內(nèi)容:
1.“文件管理器”應(yīng)用程序任務(wù)
2.文件系統(tǒng)控件及相關(guān)語句
3.標(biāo)準(zhǔn)文件輸入/輸出
二、教學(xué)要求:
1.掌握文件讀寫的基本方法
2.掌握與文件處理相關(guān)的語句和函數(shù)的用法
3.理解文件系統(tǒng)控件的基本功能
4.了解“文件管理器”應(yīng)用程序的開發(fā)過程
第六章圖形圖像和多媒體應(yīng)用程序設(shè)計方法(4學(xué)時)
一、教學(xué)內(nèi)容:
1.“指針式時鐘”和“VCD播放器”應(yīng)用程序任務(wù)
2.VB坐標(biāo)系統(tǒng)和顏色
3.相關(guān)控件介紹
4.繪圖方法
5.圖像處理的基本方法
6.播放多媒體信息的基本方法
二、教學(xué)要求:
1.掌握圖形圖像的基本處理方法。
2.理解VB坐標(biāo)系統(tǒng)的原理。
3.理解“指針式時鐘”程序的設(shè)計方法
4.理解“VCD播放器”程序設(shè)計的方法
5.了解播放多媒體信息的基本方法
第七章數(shù)據(jù)庫應(yīng)用程序設(shè)計方法(6學(xué)時)
一、教學(xué)內(nèi)容:
1.“成績查詢”程序任務(wù)
2.VB數(shù)據(jù)對象及數(shù)據(jù)庫訪問機(jī)制概述
3.?dāng)?shù)據(jù)庫控件和可視化數(shù)據(jù)管理器
4.報表設(shè)計
二、教學(xué)要求:
1.掌握VB數(shù)據(jù)庫應(yīng)用程序的基本框架
2.掌握SQL操縱數(shù)據(jù)的方法
3.理解使用VB數(shù)據(jù)庫引擎操縱數(shù)據(jù)庫的方法
4.理解VB數(shù)據(jù)對象及數(shù)據(jù)庫訪問機(jī)制
5.理解數(shù)據(jù)綁定控件的基本用法
6.了解使用Excel輸出報表的方法
7.了解第三方報表控件的引用方法
8.了解DataReport、CrystalReport的使用方法
9.了解可視化數(shù)據(jù)管理器的使用方法
10.了解“成績查詢”程序的設(shè)計過程
第八章網(wǎng)絡(luò)應(yīng)用程序設(shè)計方法(3學(xué)時)
一、教學(xué)內(nèi)容:
1.“網(wǎng)絡(luò)聊天”程序任務(wù)
3.Winsocket控件及網(wǎng)絡(luò)應(yīng)用程序設(shè)計基礎(chǔ)
2.其他網(wǎng)絡(luò)應(yīng)用程序設(shè)計
二、教學(xué)要求:
1.掌握Winsock控件的基本用法
2.了解網(wǎng)絡(luò)應(yīng)用程序設(shè)計的基礎(chǔ)知識
3.了解“網(wǎng)絡(luò)聊天”應(yīng)用程序的開發(fā)過程
第九章調(diào)試與錯誤處理(2學(xué)時)
一、教學(xué)內(nèi)容:
1.程序錯誤分類
2.程序調(diào)試方法
3.錯誤捕獲及處理方法
二、教學(xué)要求:
1.掌握程序調(diào)試的基本方法
2.掌握錯誤捕獲及處理的基本方法
3.了解程序錯誤的分類
第十章Com和ActiveX應(yīng)用(1學(xué)時)
一、教學(xué)內(nèi)容:
1.COM簡介
2.ActiveX簡介
3.COM對象的類型
4.ActiveX與COM的關(guān)系
二、教學(xué)要求:
1.了解ActiveXEXE組件開發(fā)應(yīng)用方法;
2.了解ActiveXDLL組件開發(fā)應(yīng)用方法;
3.了解ActiveX控件開發(fā)應(yīng)用方法
第四部分 實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)要求
實(shí)驗(yàn)一:VisualBasic開發(fā)環(huán)境(2學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
(1)VisualBasic6.0的安裝、啟動與退出
(2)定制VisualBasiv6.0的集成開發(fā)環(huán)境
(3)創(chuàng)建一個簡單應(yīng)用程序
二、實(shí)驗(yàn)要求:
1.了解VisualBasic(簡稱VB)對計算機(jī)系統(tǒng)的軟、硬件要求。
2.練習(xí)VisualBasic6.0的安裝,掌握啟動與退出VisualBasic6.0的方法。
3.熟悉VisualBasic集成開發(fā)環(huán)境,掌握工具欄、屬性窗口、工程資源管理器窗口、窗體布局窗口、代碼編輯器窗口的使用。
實(shí)驗(yàn)二:簡單程序設(shè)計(2學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
(1)球表面積和球的體積的程序設(shè)計
(2)窗體的新建、屬性設(shè)置
(3)身份驗(yàn)證程序設(shè)計
(4)創(chuàng)建“計時秒表”窗體程序
二、實(shí)驗(yàn)要求:
1.掌握建立和運(yùn)行VisualBasic應(yīng)用程序的基本步驟。
2.掌握文本框、標(biāo)簽、命令按紐的使用。
3.掌握MsgBox的使用和賦值語句的正確書寫規(guī)則。
實(shí)驗(yàn)三:菜單設(shè)計(2學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
(1)下拉式菜單設(shè)計
(2)彈出式菜單
(3)工具欄設(shè)計
二、實(shí)驗(yàn)要求:
1.掌握菜單編輯器的使用
2.掌握下拉式菜單和彈出式菜單的設(shè)計方法。
3.了解工具欄的設(shè)計方法。
實(shí)驗(yàn)四:鼠標(biāo)、鍵盤、API函數(shù)調(diào)用(4學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
(1)鍵盤錯位程序
(2)實(shí)驗(yàn)鍵盤使用技巧
(3)鼠標(biāo)事件應(yīng)用
(4)窗體總在最前端實(shí)驗(yàn)
(5)百葉窗圖形特效實(shí)驗(yàn)
二、實(shí)驗(yàn)要求:
1.掌握鼠標(biāo)和鍵盤有關(guān)事件的使用方法
2.熟悉API函數(shù)的引用和調(diào)用方法
實(shí)驗(yàn)五:文件管理程序設(shè)計(5學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
(1)Word文件查找顯示程序
(2)文件讀寫程序
二、實(shí)驗(yàn)要求:
1.掌握文件管理程序相關(guān)控件的使用方法
2.掌握文件管理程序相關(guān)函數(shù)和過程的使用方法
3.掌握文件管理類程序開發(fā)的方法 實(shí)驗(yàn)六:繪圖和多媒體應(yīng)用(5學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
(1)三角函數(shù)曲線的繪制
(2)常見幾何圖形繪制
(3)CD播放器程序設(shè)計
(4)API函數(shù)在多媒體中的應(yīng)用
二、實(shí)驗(yàn)要求:
1.掌握建立圖形坐標(biāo)系的方法。
2.掌握VB的圖形控件和圖形方法以及常見幾何圖形的繪制。
3.掌握用多媒體控件制作簡單多媒體播放器的方法。
4.了解API函數(shù)在多媒體中的應(yīng)用。
實(shí)驗(yàn)七:數(shù)據(jù)庫應(yīng)用程序設(shè)計(8學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
(1)數(shù)據(jù)綁定控件的使用方法
(2)VB數(shù)據(jù)庫引擎訪問數(shù)據(jù)庫的方法
(3)SQL操縱數(shù)據(jù)庫的方法
二、實(shí)驗(yàn)要求:
1.掌握利用SQL語句,通過ADO數(shù)據(jù)對象管理數(shù)據(jù)庫的方法
2.理解數(shù)據(jù)庫實(shí)用程序的框架體系
3.了解數(shù)據(jù)報表的制作方法 實(shí)驗(yàn)八:網(wǎng)絡(luò)應(yīng)用程序設(shè)計(4學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
WinSocket控件的使用方法
二、實(shí)驗(yàn)要求:
1.掌握Winsock控件的使用方法
2.了解網(wǎng)絡(luò)聊天程序的原理
實(shí)驗(yàn)九:簡單程序調(diào)試及錯誤處理(2學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
(1)程序調(diào)試實(shí)驗(yàn)
(2)錯誤捕獲及處理實(shí)驗(yàn)
二、實(shí)驗(yàn)要求:
1.掌握斷點(diǎn)的設(shè)置、監(jiān)視、跟蹤等程序調(diào)試方法
2.掌握OnErrorGoto、OnErrorResumeNext等語句的使用
3.理解Error對象的作用
實(shí)驗(yàn)十:ActiveX的簡單應(yīng)用(2學(xué)時)
一、實(shí)驗(yàn)內(nèi)容:
1.ActiveXEXE組件編程
2.ActiveXDLL組件編程
二、實(shí)驗(yàn)要求:
1.了解ActiveXEXE組件的開發(fā)和使用方法
2.了解ActiveXDLL組件的開發(fā)和使用方法
第三篇:《高級語言程序設(shè)計》課程設(shè)計大綱
《高級語言程序設(shè)計》課程設(shè)計教學(xué)大綱
課程名稱:高級語言程序設(shè)計課程設(shè)計
課程總學(xué)時:32 適用專業(yè):廣播電視工程、電子信息工程、電子科學(xué)與技術(shù)
課程類別:必修
一、課程設(shè)計任務(wù)與目的
《高級語言程序設(shè)計》課程是一門實(shí)踐性較強(qiáng)的課程,課程設(shè)計環(huán)節(jié)是課程學(xué)習(xí)的重要組成,是課程教學(xué)的必經(jīng)步驟。目的是培養(yǎng)學(xué)生實(shí)際操作技能和解決實(shí)際問題的能力。要求學(xué)生掌握C語言設(shè)計、調(diào)試、運(yùn)行方法,獲得用C語言解題的實(shí)際體會,加深對C語言的理解,得到C程序設(shè)計方法和技巧的訓(xùn)練,掌握C程序設(shè)計的全過程。通過課程設(shè)計的教學(xué),使學(xué)生鞏固和深化已學(xué)的理論知識,加強(qiáng)綜合應(yīng)用能力,訓(xùn)練學(xué)生掌握分析問題、解決問題的方法,培養(yǎng)較強(qiáng)的動手能力和一定的設(shè)計和調(diào)試能力。
二、課程設(shè)計基本內(nèi)容與要求
鑒于課程設(shè)計的性質(zhì)、要求和具體內(nèi)容,對課程設(shè)計提出如下要求;
1、關(guān)于課題及選題
在課程設(shè)計任務(wù)書中列出了多個設(shè)計課題,每個課題都有相應(yīng)的要求或說明。參加課程設(shè)計的學(xué)生首先要了解設(shè)計的任務(wù),仔細(xì)思考各題的設(shè)計要求,然后根據(jù)自已的基礎(chǔ)和能力情況從中選擇一題。一般來說,選擇課題應(yīng)以在規(guī)定的時間內(nèi)能完成,并能得到應(yīng)有的鍛煉為原則。
若學(xué)生對任務(wù)書中課題以外的相關(guān)課題較感興趣,希望選作課程設(shè)計的課題時,應(yīng)征得指導(dǎo)教師的認(rèn)可,并寫出明確的設(shè)計要求和說明。
2、關(guān)于設(shè)計的總要求
在設(shè)計時,要嚴(yán)格按照題意要求獨(dú)立進(jìn)行設(shè)計,不能隨意更改。若確因條件所限,必須要改變課題要求時,應(yīng)在征得指導(dǎo)教師同意的前提下進(jìn)行。
3、驗(yàn)收
在課程設(shè)計完成后應(yīng)由指導(dǎo)教師當(dāng)場運(yùn)行、驗(yàn)收,只有在驗(yàn)收合格后才能算設(shè)計部分的結(jié)束。
4、設(shè)計報告
課程設(shè)計結(jié)束后要寫出課程設(shè)計報告,以作為整個課程設(shè)計評分的書面依據(jù)和存檔材料。設(shè)計報告一般要以固定規(guī)格的紙張書寫并裝訂,字跡及圖形要清楚、工整(電子文檔尤佳)。內(nèi)容及要求如下:
(1)設(shè)計任務(wù)、要求及所用軟件環(huán)境或工具。
(2)問題模型化描述以及求解算法的簡要描述。
(3)設(shè)計的模塊構(gòu)成、各模塊的簡要說明、流程圖、調(diào)用關(guān)系表。
(4)所設(shè)計軟件的組成(程序文件和數(shù)據(jù)文件)及使用說明。
(5)設(shè)計總結(jié)和體會。
(6)驗(yàn)收情況。
三、課程設(shè)計設(shè)備與材料
計算機(jī);Visual C++6.0或C-Free3.5或Turbo C++3.0軟件。
四、考核方式與評分辦法
1、學(xué)生按照實(shí)習(xí)計劃和大綱完成實(shí)習(xí)教學(xué)任務(wù),考試合格取得相應(yīng)學(xué)分。
2、學(xué)生實(shí)習(xí)考核內(nèi)容與成績比例:實(shí)習(xí)態(tài)度與實(shí)習(xí)紀(jì)律占20%、業(yè)務(wù)能力與水平占40%、答辯與驗(yàn)收情況占20%,實(shí)習(xí)報告占20%。
3、無故不參加實(shí)習(xí)或?qū)嵙?xí)全過程缺勤在三分之一及以上者,實(shí)習(xí)成績視為不及格。
4、學(xué)生實(shí)習(xí)成績按優(yōu)秀、良好、中等、及格和不及格五級評定,原則上呈正態(tài)分布,嚴(yán)格控制優(yōu)秀比例,一般優(yōu)秀率不大于20%。
五、課程設(shè)計參考書
1、潭浩強(qiáng).C語言程序設(shè)計.清華大學(xué)出版社.2000
2、廖湖聲等.C語言程序設(shè)計案例教程.人民郵電出版社.2003
3、張仁杰 王風(fēng)茂.《C語言程序設(shè)計實(shí)訓(xùn)教程》中國電力出版社.2004
執(zhí)筆人:裘姝平
教研室:電子信息工程教研室 編制日期: 2008 年 9月
第四篇:VB程序設(shè)計課程設(shè)計
VB程序設(shè)計課程設(shè)計
1、目的
VB程序設(shè)計課程設(shè)計是考察學(xué)生對VB程序設(shè)計課程相關(guān)知識點(diǎn)掌握情況的重要環(huán)節(jié),也是激勵學(xué)生進(jìn)一步學(xué)習(xí)VB、提高運(yùn)用VB開發(fā)實(shí)際計算機(jī)程序的能力。課程設(shè)計的重點(diǎn)在于學(xué)生利用VB開發(fā)程序的能力。
2、課程設(shè)計題目
學(xué)生信息管理系統(tǒng)
3、程序功能
該程序具有建立數(shù)據(jù)庫,建立數(shù)據(jù)庫表,添加數(shù)據(jù),刪除數(shù)據(jù),查詢學(xué)生每學(xué)期成績、不及格情況、積點(diǎn)情況等相關(guān)信息的功能。
4、實(shí)現(xiàn)要求
每個學(xué)生建立一個數(shù)據(jù)庫(名字自擬),數(shù)據(jù)庫中建立學(xué)生基本信息表(學(xué)號、姓名、性別、出生年、出生月、出生日、聯(lián)系電話、年級、班級、住址等)、學(xué)生成績表(學(xué)號、課程號、成績、學(xué)期等)、課程信息表(課程號、課程名稱、出版社、出版日期、版次、頁碼、價格、課程類型(基礎(chǔ)課、專業(yè)基礎(chǔ)課、選修課等)、開課學(xué)院等)。
把課程信息、每一學(xué)期的成績等分別輸入相應(yīng)的表中,其中學(xué)生基本信息表記錄不少于5個學(xué)生的信息。
在以上數(shù)據(jù)的基礎(chǔ)上,實(shí)現(xiàn)相關(guān)的程序功能(不僅僅第3條指定的功能)。
設(shè)計多界面程序,相關(guān)查詢結(jié)果應(yīng)由不同的界面顯示,每個同學(xué)顯示結(jié)果的形式應(yīng)盡量不同。
5、考核
根據(jù)學(xué)生實(shí)現(xiàn)程序功能多少(40分)、界面設(shè)計情況(20分)、課程設(shè)計報告撰寫情況(20)、答辯情況(20分)進(jìn)行考核。雷同者應(yīng)重做。
6、課程設(shè)計報告內(nèi)容
1)課程設(shè)計題目
2)課程設(shè)計的目的3)程序功能介紹
4)程序界面設(shè)計與控件屬性設(shè)置
5)程序代碼編寫
6)程序演示(將運(yùn)行過程用截圖方式截下來,并對輸入數(shù)據(jù)、輸出的結(jié)果進(jìn)行適當(dāng)說明)
7)課程學(xué)習(xí)與課程設(shè)計心得體會
7、上交材料
本次課程設(shè)計以小班為單位上交如下資料:
1)光盤:每一小班建立一個目錄(專業(yè)年級班級),在此目錄下建立每個同學(xué)的目錄(學(xué)號姓名),在每個同學(xué)的目錄下保存該同學(xué)的電子版的課程設(shè)計報告、打包的程序。
2)紙制版的課程設(shè)計報告
第五篇:語言程序設(shè)計課程設(shè)計指導(dǎo)書
匯編語言程序設(shè)計課程設(shè)計指導(dǎo)書
一、課程設(shè)計的目的
本課程設(shè)計是《匯編語言程序設(shè)計》課程的后繼教學(xué)環(huán)節(jié),其宗旨是使學(xué)生通過對一個較大型的、綜合性的應(yīng)用程序進(jìn)行閱讀、修改、添加功能等工作,對匯編語言程序設(shè)計有更進(jìn)一步的認(rèn)識,提高編程技巧和閱讀理解復(fù)雜程序的能力。
二、課程設(shè)計的任務(wù)要求
根據(jù)所給的“Reader.asm”應(yīng)用程序框架,在此基礎(chǔ)上修改和添加功能。1.基本任務(wù): ?
? ? ? 認(rèn)真閱讀“Reader.asm”源程序,理解程序每一條指令在程序中的作用; 用→、←鍵在窗口內(nèi)左右移動文本;
用PgDn,PgUp鍵上下快速移動文本(每次移半幀); 設(shè)計專用鍵放大、縮小窗口,改變窗口位置。
2.擴(kuò)展任務(wù): ? ? 對文本內(nèi)的Tab字符(ASCII碼09H)進(jìn)行處理:遇到Tab鍵,下一個字符顯示在下一個表站開始處(每個6個字符一個表站);
設(shè)置狀態(tài)行,顯示當(dāng)前文件名、文本位置(仿垂直滾動條)。
3.自行設(shè)計的其它任務(wù):
三、課程設(shè)計報告的內(nèi)容
1.課程設(shè)計題目名稱、班級號、學(xué)號、學(xué)生姓名和課程設(shè)計起止日期(封面);
2.上海應(yīng)用技術(shù)學(xué)院課程設(shè)計任務(wù)書(下發(fā))3.課程設(shè)計目的和要求;
4.課程設(shè)計任務(wù)內(nèi)容; 5.詳細(xì)設(shè)計說明; 6.軟件使用說明; 7.課程設(shè)計總結(jié);
8.附錄:1 參考文獻(xiàn) 2 程序清單(電子版)。
四、課程設(shè)計詳細(xì)設(shè)計說明及其它要求
1.2.3.4.5.6.分析原“Reader.asm”程序結(jié)構(gòu):每個模塊說明,較大模塊程序流程圖; 對你已經(jīng)實(shí)現(xiàn)的功能做詳細(xì)的說明,并附上流程圖及部分程序清單; 自己對該“文件閱讀器”的進(jìn)一步設(shè)想;
對于有設(shè)想但最終未實(shí)現(xiàn)的功能的大致編程思路的闡述; 論述在設(shè)計過程中遇到的并且對你具有啟發(fā)性的問題; 交課程設(shè)計報告手寫版,源程序交電子版。
五、評分標(biāo)準(zhǔn)
1.根據(jù)平時出勤情況和設(shè)計時的工作情況;
2.根據(jù)課程設(shè)計程序的完成情況,必須有可運(yùn)行的軟件。3.根據(jù)課程設(shè)計報告的質(zhì)量。課程設(shè)計報告不能抄襲,抄襲判為不及格。4.在題目要求之外附加具有實(shí)用性的功能。
六、課程設(shè)計工作進(jìn)度計劃
星期一:課程設(shè)計介紹,源程序閱讀理解,功能設(shè)計,程序編寫。星期二:功能設(shè)計,程序編寫。
星期三:程序編寫與調(diào)試,課程設(shè)計報告撰寫。星期四:程序編寫與調(diào)試,課程設(shè)計報告撰寫。
星期五:程序最終修改,課程設(shè)計報告撰寫,提交報告并答辯。
七、主要參考資料
[1]楊文顯.匯編語言程序設(shè)計簡明教程.北京:電子工業(yè)出版社,2005
八、附錄
《文本閱讀器》匯編語言源程序清單
;Title: Assemble Program “Reader.asm”
;Read a file from disk, display it?s contents on screen;Move the content on screen by up/down arrow keys;========================== MYDAT SEGMENT MAXLEN DW 1000;最大行數(shù) INDEX DW 1000 DUP(?);行索引 LENCT DW 0;實(shí)際行數(shù) CURLINE DW 0;當(dāng)前頁第一行行數(shù) CCOUNT DW ?;文件總字符數(shù)
TOP DB 5;窗口左上角行數(shù) LEFT DB 5;窗口左上角列數(shù) WS DW 60;窗口寬度 HS DW 15;窗口高度 FG DB 17H;文字屬性 FGB DB 1FH;窗口邊框?qū)傩?/p>
MSG1 DB 'File:$';輸入文件名提示 MSG2 DB 'File open error!$';打開文件出錯時提示 MSG3 DB 'File read error!$';讀文件出錯時提示 FILENA DB 80,?,80 DUP(?);輸入文件名緩沖區(qū)
;定義功能鍵和相應(yīng)的處理程序
;每個功能定義兩個數(shù)據(jù):掃描碼,處理程序入口地址;該數(shù)據(jù)由DOSUB子程序使用
KEYSUB DW 48H, SUB1 , 50H, SUB2, 0
MYDAT ENDS
;==========================
BUFFER SEGMENT PARA DB 65535 DUP(?);文件緩沖區(qū),文件最大為64K BUFFER ENDS
;==========================
SSEG SEGMENT STACK ?STACK?;堆棧段
DW 100 DUP(?)SSEG ENDS
;==========================
;宏定義 DISPINIT: 設(shè)置顯示器顯示方式 DISPINIT MACRO MOV AX,0003H;文本方式 25x80 INT 10H ENDM;----------;宏定義 PROMPT: 顯示字符串 PROMPT MACRO OUTMSG LEA DX, OUTMSG MOV AH, 09H;INT 21H;ENDM;--------;宏定義KRYIN: 從鍵盤讀入一個字符 KEYIN MACRO MOV AH,0;讀鍵
INT 16H;AH中為掃描碼
ENDM;==========================;代碼段開始 CODE SEGMENT
ASSUME CS: CODE, DS: MYDAT, ES: BUFFER, SS: SSEG
START: MOV AX, MYDAT;裝載DS,ES MOV DS, AX MOV AX, BUFFER MOV ES, AX
DISPINIT;顯示方式初始化
CALL READFILE;讀入文件
JC DONE
CALL CLIST;初始化索引行
CALL CLSCREEN;清屏
CALL CREWIN;創(chuàng)建窗口
CALL SHOWCUR;顯示當(dāng)前頁
NEXT: KEYIN;進(jìn)入主程序: 讀鍵盤
CALL COMMAND;命令分析與處理
JNC NEXT;非x鍵繼續(xù)循環(huán)
DONE: CALL CLSCREEN;清屏
MOV AX, 4C00H INT 21H;退出
;-------;子程序READFILE: 提示并讀入文件名,將文件讀入緩沖區(qū) READFILE PROC PROMPT MSG1;CALL SIN;讀入文件名
MOV AX, 3D00H MOV DX, OFFSET FILENA+2 INT 21H;打開文件(讀)JC GETERR1;打開文件出錯轉(zhuǎn)GETERR1 PUSH DS PUSH ES POP DS;將DS指向文件緩沖區(qū)段
MOV BX, AX;BX=文件號
MOV AH, 3FH;讀文件 MOV CX, 0FFFFH;讀入最多64K-1 MOV DX, 0;DS: DX指向文件緩沖區(qū)
INT 21H POP DS JC GETERR2;讀入文件出錯轉(zhuǎn)GETERR2 MOV CCOUNT, AX;實(shí)際讀入字符數(shù)存入CCOUNT中
CLC JMP GETFILEXIT
GETERR1: PROMPT MSG2;讀入文件出錯處理
KEYIN STC JMP GETFILEXIT;
GETERR2: PROMPT MSG3;打開文件出錯處理
KEYIN STC
GETFILEXIT: RET
READFILE ENDP;-------;輸入文件名子程序 SIN PROC MOV AH, 0AH MOV DX, OFFSET FILENA INT 21H;輸入文件名
XOR CH, CH MOV CL, FILENA+1;取文件名長度
LEA BX, FILENA+2 ADD BX, CX;計算字符串結(jié)尾地址
MOV BYTE PTR [BX], 0;在字符串尾部加0 RET SIN ENDP;-------;索引行初始化子程序 CLIST PROC MOV CX, CCOUNT JCXZ CSTX;文件為空結(jié)束
MOV SI,0;文件緩沖區(qū)字符指針
MOV DI,0;索引行指針
MOV DX,0;行數(shù)計數(shù)
MOV INDEX[DI], 0 INC DX;假設(shè)文件至少有一行 CST1: CMP WORD PTR ES:[SI], 0A0DH;判斷是否為回車換行符
JNZ CST2;不是行結(jié)束,轉(zhuǎn)CST2 INC DX;行數(shù)加一
ADD SI, 2;跳過回車換行符
ADD DI, 2;索引行指針加一
MOV INDEX[DI], SI;指向本行開始地址
CMP DX, MAXLEN JNC CST4;是否超過最大行,超過轉(zhuǎn)CST4,結(jié)束
JMP CST3;CST2: INC SI;文件緩沖區(qū)字符指針指向下一字符 CST3: LOOP CST1;CST4: MOV LENCT, DX;保存行數(shù)到LENCT中 CSTX: RET CLIST ENDP;-------;清屏子程序
CLSCREEN PROC MOV AX, 0600H;清屏
MOV CX, 0 MOV DH, 50 MOV DL, 79 MOV BH, 07H INT 10H RET CLSCREEN ENDP;------;顯示當(dāng)前頁子程序 SHOWCUR PROC MOV DH, 0;窗口最頂行
MOV SI, CURLINE;取當(dāng)前頁第一行行數(shù)
MOV CX, HS;窗口的第一行和最后一行為邊框,SUB CX, 2;所以能夠顯示內(nèi)容的高度為窗口高度減二 SC1:
CALL SHOWLINE;顯示一行
INC DH;窗口下一行
INC SI;文件下一行
MOV AX, LENCT;CMP SI, AX;文件是否顯示完
JNC SC2;顯示完則轉(zhuǎn)SC2 LOOP SC1 JMP SC1X SC2: JCXZ SC1X;該頁顯示滿則結(jié)束
;該頁沒有顯示滿,則用空行填滿該頁 SC3: PUSH CX PUSH DX CALL SHOWSPLINE;顯示空行
POP DX POP CX INC DH LOOP SC3 SC1X: RET SHOWCUR ENDP;------;顯示一行子程序
;輸入:SI=顯示行行號;DH=窗口中的行號 SHOWLINE PROC PUSH CX PUSH SI PUSH DX PUSH AX
ADD DH, TOP;INC DH;實(shí)際行數(shù)=窗口左上角行數(shù)+DI+1 MOV DL, LEFT;INC DL;實(shí)際列數(shù)=窗口左上角列數(shù)+1 CALL VADD;
MOV CX, WS;窗口的第一列和最后一列是邊框,SUB CX, 2;所以能夠顯示內(nèi)容的寬度為窗口寬度減二
SHL SI, 1;行索引為字類型,所以乘二
MOV SI, INDEX[SI];取該行第一個字符在文件緩沖區(qū)的地址
PUSH DS MOV AX, 0B800H MOV DS, AX;DS指向顯示緩沖區(qū)段地址 SL1: MOV AX, ES:[SI] CMP AX, 0A0DH JZ SL2;如果是回車換行,則該行結(jié)束
MOV DS: [DI], AL;顯示一個字符 ADD DI, 2;INC SI;取下一個字符
LOOP SL1;JCXZ SLX;該行正好顯示完,則結(jié)束,否則用空格填滿
SL2: MOV BYTE PTR DS:[DI], ' ';該行沒有顯示滿,則用空格填滿
ADD DI, 2 LOOP SL2
SLX: POP DS
POP AX POP DX POP SI POP CX
RET SHOWLINE ENDP;--------;顯示空行子程序
;輸入:DI=窗口中的行號 SHOWSPLINE PROC;
MOV AX, HS;SUB AX, 2;CMP DH, AL;顯示的空行是否超出最低行
JNC SSLX;如果是,則轉(zhuǎn)SSLX ADD DH, TOP;INC DH;實(shí)際行數(shù)=窗口左上角行數(shù)+DI+1 MOV DL, LEFT;INC DL;實(shí)際列數(shù)=窗口左上角列數(shù)+1 CALL VADD;
MOV CX, WS;窗口的第一列和最后一列是邊框,SUB CX, 2;所以能夠顯示內(nèi)容的寬度為窗口寬度減二
PUSH DS MOV AX, 0B800H MOV DS, AX SSL1: MOV BYTE PTR DS:[DI], ' ' ADD DI, 2 LOOP SSL1 POP DS SSLX: RET SHOWSPLINE ENDP;-------;創(chuàng)建窗口子程序 CREWIN PROC PUSH ES MOV AX, 0B800H;顯示緩沖區(qū)地址為B800:0 MOV ES, AX;
MOV DH, TOP MOV DL, LEFT;窗口左上角行列數(shù)
MOV CX, HS;窗口高度(行數(shù))CW1: PUSH DX;CALL VADD;計算地址
PUSH CX;MOV CX, WS;窗口寬度(列數(shù))
MOV AL, FG;取屬性 CW2: MOV BYTE PTR ES:[DI], ' ';送空白字符
INC DI;MOV BYTE PTR ES:[DI], AL;送屬性
INC DI;LOOP CW2;
POP CX POP DX INC DH;行數(shù)加一
LOOP CW1
CALL DRAWB;畫邊框
POP ES RET CREWIN ENDP;-;畫邊框子程序 DRAWB PROC PUSH DX PUSH CX PUSH BX PUSH AX MOV BL, FGB MOV DH, TOP MOV DL, LEFT CALL VADD
;畫左上角角框
MOV BYTE PTR ES:[DI], 0C9H INC DI MOV BYTE PTR ES:[DI], BL INC DI
;畫第一行邊框
MOV CX, WS SUB CX,2 DB1: MOV BYTE PTR ES:[DI], 0CDH INC DI MOV BYTE PTR ES:[DI], BL INC DI LOOP DB1
;畫右上角角框
MOV BYTE PTR ES:[DI], 0BBH INC DI MOV BYTE PTR ES:[DI], BL
;畫第二行到倒數(shù)二行左右邊框
MOV DH, TOP MOV DL, LEFT INC DH MOV CX, HS SUB CX, 2 DB2: PUSH DX CALL VADD MOV BYTE PTR ES:[DI], 0BAH INC DI MOV BYTE PTR ES:[DI], BL DEC DI MOV AX, WS DEC AX SHL AX, 1 ADD DI, AX MOV BYTE PTR ES:[DI], 0BAH INC DI MOV BYTE PTR ES:[DI], BL POP DX INC DH LOOP DB2;取邊框?qū)傩?窗口左上角行列數(shù);計算地址;角框╔;因?yàn)槿サ袅俗笥医强颍詫挾葴p二;上下邊框═;角框╗;從第二行開始;第一行和最后一行沒有左右邊框,;所以高度減二;;計算左邊框地址;左右邊框║;;;;計算右邊框地址;;下一行;
;畫左下角角框
MOV DH, TOP;MOV DL, LEFT;MOV AX, HS;DEC AX;ADD DH, AL;左下角行數(shù)=右上角行數(shù)+窗口高度-1 CALL VADD MOV BYTE PTR ES:[DI], 0C8H;角框╚
INC DI MOV BYTE PTR ES:[DI], BL INC DI
;畫最低行邊框
MOV CX, WS;SUB CX, 2;因?yàn)槿サ袅俗笥医强颍詫挾葴p二 DB3: MOV BYTE PTR ES:[DI], 0CDH;上下邊框═
INC DI MOV BYTE PTR ES:[DI], BL INC DI LOOP DB3
;畫右下角角框
MOV BYTE PTR ES:[DI], 0BCH;角框╝
INC DI MOV BYTE PTR ES:[DI], BL
POP AX POP BX POP CX POP DX
RET DRAWB ENDP;------;計算窗口內(nèi)某行列位置對應(yīng)顯存地址;輸入:DH=行 DL=列;輸出:DI為顯存地址 VADD PROC MOV AL, 80;MUL DH;XOR DH, DH;ADD AX, DX;行數(shù)×80+列數(shù)
SHL AX, 1;乘2,因?yàn)槊總€字符占兩個字節(jié)
MOV DI, AX RET VADD ENDP;--------;命令分析子程序 COMMAND PROC CMP AH, 2DH;2DH為x鍵的掃描碼
JNZ COM1;不是x鍵,轉(zhuǎn)COM1 STC;值x鍵標(biāo)志
RET COM1: CALL DOSUB;轉(zhuǎn)命令散轉(zhuǎn)子程序
CLC RET COMMAND ENDP;--;命令散轉(zhuǎn)子程序 DOSUB PROC MOV AL, AH MOV AH, 0;將鍵掃描碼放入AX中
MOV BX, OFFSET KEYSUB;BX指向KEYSUB DOSUB1: CMP WORD PTR [BX], 0 JZ DOSUBX;KEYSUB表查完,即沒有找到轉(zhuǎn)DOSUBX CMP AX, [BX] JZ DOSUB2;找到掃描碼轉(zhuǎn)DOSUB2 ADD BX, 4 JMP DOSUB1;DOSUB2: ADD BX, 2 MOV BX, [BX];取處理程序入口地址
JMP BX;轉(zhuǎn)處理程序 DOSUBX: RET
;SUB1和SUB2均為功能鍵處理程序;處理完后應(yīng)使用JMP DOSSUBX結(jié)束
;上箭頭鍵處理程序 SUB1: CMP CURLINE, 0 JZ SUB1X;已到第一行,結(jié)束
DEC CURLINE;向上一行
CALL SHOWCUR;顯示當(dāng)前頁 SUB1X: JMP DOSUBX
;下箭頭鍵處理程序 SUB2: MOV AX, LENCT DEC AX DEC AX;至少顯示一行
CMP AX, CURLINE;已到最后一行
JZ SUB2X INC CURLINE;向下一行
CALL SHOWCUR;顯示當(dāng)前頁 SUB2X: JMP DOSUBX
DOSUB ENDP;--------
CODE ENDS
;========================= END START