《Excel進階學(xué)習(xí)系統(tǒng)網(wǎng)絡(luò)版》的內(nèi)容設(shè)計方案與_第1頁
《Excel進階學(xué)習(xí)系統(tǒng)網(wǎng)絡(luò)版》的內(nèi)容設(shè)計方案與_第2頁
《Excel進階學(xué)習(xí)系統(tǒng)網(wǎng)絡(luò)版》的內(nèi)容設(shè)計方案與_第3頁
《Excel進階學(xué)習(xí)系統(tǒng)網(wǎng)絡(luò)版》的內(nèi)容設(shè)計方案與_第4頁
《Excel進階學(xué)習(xí)系統(tǒng)網(wǎng)絡(luò)版》的內(nèi)容設(shè)計方案與_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

信息技術(shù)教學(xué)軟件的設(shè)計思路與技術(shù)實現(xiàn)奉化中學(xué)王豐【摘要】新課程理念下的信息技術(shù)教學(xué)十分注意對同學(xué)學(xué)習(xí)的評價。評價也是在教學(xué)各環(huán)節(jié)中必不行少的一環(huán),它的目的是檢查和促進教與學(xué).因此,在日常教學(xué)中,便利、科學(xué)、有效的評價也顯得尤為重要。本文以2006年會考導(dǎo)引中五套試卷為例,介紹了開發(fā)具有評價功能的訓(xùn)練復(fù)習(xí)型教學(xué)軟件的設(shè)計思路,以及如何使用VB6.0來簡略實現(xiàn)試卷的抽取、各類試題的批改、成果的上傳和成果的導(dǎo)出統(tǒng)計等功能?!娟P(guān)鍵詞】評價教學(xué)軟件VB6.0批改程序教學(xué)軟件是一種依據(jù)教學(xué)目標設(shè)計、表現(xiàn)特定的教學(xué)內(nèi)容、反映肯定教學(xué)策略的計算機教學(xué)程序。它可以用來存儲、傳遞和處理教學(xué)信息,能讓同學(xué)進行交互操作,并對同學(xué)的學(xué)習(xí)做出評價的教學(xué)媒體。依據(jù)多媒體教學(xué)軟件的內(nèi)容與作用的不同,可以將多媒體教學(xué)軟件分為如下幾種類型:課堂演示型、同學(xué)自主學(xué)習(xí)型、模擬實驗型、訓(xùn)練復(fù)習(xí)型、教學(xué)游戲型、資料工具型.由于我在平常教學(xué)中編寫的軟件基本上都是以試題的形式消滅,主要屬于同學(xué)自主學(xué)習(xí)型和訓(xùn)練復(fù)習(xí)型,所以下面我就簡潔談?wù)勗陂_發(fā)這類教學(xué)軟件過程中的設(shè)計思路和技術(shù)實現(xiàn)。一、需求分析信息技術(shù)不同于其他學(xué)科,同學(xué)的學(xué)習(xí)過程和很多的實踐活動都是在計算機上完成的,而且都以操作為主。那么,作為老師,我們怎樣科學(xué)有效的評價同學(xué)?怎樣隨時了解同學(xué)的學(xué)習(xí)情況?作為同學(xué),怎樣進行自主學(xué)習(xí)、自我測試?因此,開發(fā)具有試題批改和成果反饋功能的教學(xué)軟件是十分必要的。1、對老師來說,減輕了老師工作量,便利了老師對同學(xué)學(xué)習(xí)情況的了解.信息技術(shù)學(xué)科的試題主要是以操作題為主。而在平常的課堂教學(xué)中,老師也往往都會布置相應(yīng)的練習(xí)供同學(xué)測試以便了解同學(xué)的學(xué)習(xí)情況。所以老師對作業(yè)的批改和成果的統(tǒng)計分析是必不行少的,面對大量的操作類試題,老師一個個打開進行查看或手動批改,再統(tǒng)計分析成果,這樣不僅效率低,而且長此以往,勢必會給老師增加相當(dāng)多的工作量。所以讓計算機自動批改并統(tǒng)計成果,可以減輕老師的工作量,讓老師把時間和精力都用在課堂教學(xué)以及提高教學(xué)效果上。2、對同學(xué)來說,有利于同學(xué)自主學(xué)習(xí),并激發(fā)了學(xué)習(xí)愛好.同學(xué)往往都有重視成果的心理,都想得滿分。所以,使用帶有批改和成果上傳功能的教學(xué)軟件容易激發(fā)同學(xué)的學(xué)習(xí)愛好和提高學(xué)習(xí)的樂觀性.他們在聽講時都會全身心投入,做練習(xí)時有不懂的地方或不會做的題目都會樂觀的問老師問同學(xué)。就算有個別不認真學(xué)習(xí)的同學(xué),也會很快受到環(huán)境的影響而融入其中。想著為什么這兒會丟分,哪兒為什么操作得不對,并樂此不疲。而且,如今大部分同學(xué)家里都有電腦,所以同學(xué)除了在學(xué)校學(xué)習(xí)外,他們還可以在家里進行自主學(xué)習(xí)、自我測試。二、總體設(shè)計軟件常見的結(jié)構(gòu)模式有:C/S結(jié)構(gòu),即Client/Server(客戶機/服務(wù)器)結(jié)構(gòu)。B/S結(jié)構(gòu),即Browser/Server(掃瞄器/服務(wù)器)結(jié)構(gòu).C/S能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器.客戶端響應(yīng)速度快。主要適用于局域網(wǎng)環(huán)境,客戶端都要安裝客戶端軟件,應(yīng)用程序系統(tǒng)擴展維護簡潔。客戶端需要安裝專用的客戶端軟件.首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。還有,系統(tǒng)軟件升級時,每一臺客戶機需要重新安裝,其維護和升級成本格外高.B/S可以在任何地方進行操作而不用安裝任何專門的軟件。客戶端只需標準的掃瞄器。系統(tǒng)的擴展格外容易,只要能上網(wǎng),再由系統(tǒng)管理員安排一個用戶名和密碼,就可以使用了。采納Internet/Intranet技術(shù),適用于廣域網(wǎng)環(huán)境??蛻舳肆憔S護。軟件采納哪種結(jié)構(gòu),一般依據(jù)內(nèi)容和功能來選擇。這里我以2006年編寫的會考導(dǎo)引練習(xí)軟件作為例子。本軟件采納C/S模式,軟件結(jié)構(gòu)如圖所示:主界面主界面各部分試題試卷內(nèi)容答題批改收卷程序接收成績保存成績上傳成績輸入姓名、服務(wù)器IP學(xué)生機教師機選擇試卷統(tǒng)計分析開發(fā)工具采納VisualBasic6.0(簡稱VB)。一是由于VB適合快速開發(fā),相對于VC等開發(fā)軟件更易于上手,而且開發(fā)的效率高、周期短。二是由于word、excel等office軟件里的宏都是VBA,而VBA是VB的一個子集,兩者可以很好的結(jié)合.而且利用宏可以幫助我們快速有效的寫出批改程序.三、簡略設(shè)計1.界面設(shè)計與文件結(jié)構(gòu)由于VB6畢竟是win98時代的產(chǎn)物,所以在界面設(shè)計上,VB6的窗體和控件都是win98風(fēng)格,不美觀、缺乏時代感。雖然用vb2003/vb2005來開發(fā)可以做出XP風(fēng)格的界面,但生成的應(yīng)用程序都需要。netframework平臺,脫離了這個環(huán)境則無法運行,不適合在學(xué)校機房使用。所以,在使用VB6開發(fā)時應(yīng)盡可能自己編寫一些用戶控件來設(shè)計界面(當(dāng)然,如果只是以功能為主,那么可以不考慮這些)。在我編寫的這些軟件里,為了使用界面更加清爽時尚,能讓同學(xué)眼前一亮,所以整個軟件的界面顏色、按鈕樣式均仿照QQ窗口(界面風(fēng)格如圖所示)。采納了網(wǎng)上免費的QQFrom和QQButton這兩個用戶控件,使用方法和VB里的From、Button控件一樣.? (圖一)(圖二)界面設(shè)計:依據(jù)上面的軟件結(jié)構(gòu)圖設(shè)計好界面。(對于功能相像的控件可以使用控件數(shù)組,以提高程序開發(fā)效率。)文件結(jié)構(gòu):設(shè)計好每一套試卷的試題,并建立好相應(yīng)的名目。題目少可以用文本文件來存儲。為保證文本文件中信息的平安性,防止同學(xué)打開直接查看,可以轉(zhuǎn)變文本文件的擴展名、轉(zhuǎn)變文本文件中答案的挨次、或?qū)Υ鸢高M行加密等。題目多可以用Access數(shù)據(jù)庫來存儲。這樣只要給數(shù)據(jù)庫設(shè)置個密碼就可以保證題庫的平安性了.2.抽題設(shè)計好界面和題目后就可以編寫各功能模塊的代碼了。(下面主要介紹操作類試題的抽取、批改,選擇題部分較簡潔,在此不作商量,網(wǎng)上也有很多的選擇題實例可供大家參考)當(dāng)同學(xué)選擇某一套試卷后,就要執(zhí)行抽題操作.抽題也就是依據(jù)同學(xué)的選擇將軟件名目下的題目復(fù)制到考試文件夾下.主要是對文件和文件夾進行復(fù)制。對文件和文件夾進行操作需要使用FSO(FileSystemObject)對象模型,FSO的功能格外強大,它能創(chuàng)建、轉(zhuǎn)變、移動、刪除文件/文件夾;能檢測文件/文件夾是否存在,文件/文件夾的路徑;能獵取文件/文件夾的信息,如:名稱、創(chuàng)建日期等.要使用FSO,首先必須在工程中引用MicrosoftScriptingRuntime。抽題主要使用了FSO復(fù)制文件和復(fù)制文件夾這兩個方法,及CopyFile和CopyFolder。部分代碼如下:PublicEx(5)AsString'定義一個字符串?dāng)?shù)組用于存放試卷名PublicfsoAsNewFileSystemObject'定義一個fso對象PrivateSubForm_Load()'窗體顯示時初始化Ex()數(shù)組中的值Ex(1)=”試卷一"Ex(2)="試卷二"Ex(3)="試卷三”Ex(4)="試卷四"Ex(5)="試卷五"EndSub由于每一個抽題按鈕的功能都是類似的,唯一不同的就是所抽取的試題名稱不一樣,所以可以將抽題按鈕做成按鈕控件數(shù)組,以提高程序開發(fā)效率,也便于以后的源程序維護.這樣,將試題的文件名用數(shù)組變量來表示,就可以用一段程序來實現(xiàn)全部按鈕的抽題功能。PrivateSubButton1_Click(IndexAsInteger)‘當(dāng)點擊某一套的按鈕后執(zhí)行抽題操作fso.CreateFolder(“c:\考生文件夾”)‘在c盤下建立考生文件夾,路徑和名目名可自已設(shè)定。fso.CopyFileApp.Path&“\xxjshk\excel\"&Ex(index)&“。xls”,“C:\考生文件夾\”&Ex(index)&“.xls”‘復(fù)制excel試題文件fso。CopyFolderApp。Pat(yī)h&"\xxjshk\WebDo",“C:\考生文件夾\WebDo”‘復(fù)制網(wǎng)頁試題文件夾EndSub上述程度中主要以復(fù)制excel試題和網(wǎng)頁試題為例,復(fù)制其它試題方法類似.軟件中還有一些其它地方也會用到抽題操作。連續(xù)答題:比如同學(xué)在練習(xí)的過程中不當(dāng)心關(guān)閉了軟件,那么下次進入之后當(dāng)然盼望連續(xù)答題而不是重新答題。所以這種情況需要推斷考生文件夾中試題是否存在,存在則不抽題,不存在則抽題。推斷文件或文件夾是否存在通常使用fso的FileExists()和FolderExists()方法。重做:及從考生文件夾中刪除要重做的試題,然后再抽題。刪除文件或文件夾主要使用fso的DeleteFile()和DeleteFolder()方法。3。批改功能的實現(xiàn)?同學(xué)做完練習(xí)題后,需要點擊“批改”按鈕來反饋成果。信息技術(shù)教學(xué)中常見的操作試題類型有:windows操作題、word操作題、Excel操作題、Internet操作題、Frontpage操作題。下面分別介紹每一類操作題的批改原理.Windows操作題的批改沒有編寫過練習(xí)軟件的老師可能會覺得很難,我們怎么知道同學(xué)有沒有對文件執(zhí)行新建、復(fù)制、剪切等操作呢?其實我們根本沒必要去知道,我們不行能去寫大量的代碼來截取捕獲鼠標和鍵盤大事,看同學(xué)有沒有執(zhí)行這些操作,這樣有些小題大做了.其實windows操作題的批改格外的簡潔,原理如下:[新建、刪除、重命名、復(fù)制、剪切、創(chuàng)建快捷方式]就是推斷該文件或文件夾是否存在。新建文件或文件夾在該名目下存在刪除文件或文件夾在該名目下不存在重命名改名前的文件或文件夾在該名目下不存在,并且改名后的存在復(fù)制文件或文件夾在源名目下存在,并且在目的名目下也存在剪切文件或文件夾在源名目下不存在,并且在目的名目下存在推斷文件夾是否存在:fso.FolderExists推斷文件是否存在:fso。FileExists例如:Iffso.FolderExists(”C:\試卷二\WinWork\Flower\Bmp")=TrueThenscore=score+5Iffso.FileExists("C:\試卷一\WinWork\Noip\a.pas”)=TrueThenscore=score+5[設(shè)置墻紙、屏保]主要就是讀取注冊表中相關(guān)的鍵值。VB讀取注冊表:可以使用API函數(shù)RegOpenKeyEx、RegQueryValueEx、RegCloseKey來對注冊表進行打開、查詢等操作,并通過讀取相對應(yīng)的鍵值來推斷墻紙、屏保的設(shè)置.墻紙在注冊表中的路徑為:HKEY_CURRENT_USER\ControlPanel\Desktop\Wallpaper屏保在注冊表中的路徑為:HKEY_CURRENT_USER\ControlPanel\Desktop\SCRNSAVE。EXEExcel/Word操作題的批改Excel和Word同屬于OFFICE,所以它們的批改方法也類似,這里以Excel為例。對于Excel練習(xí)題的批改其實就是VB在后臺打開Excel工作表,并使用內(nèi)置的VBA函數(shù)對Excel工作表中的對象進行推斷。為了能在VB中調(diào)用Excel對象,首先必須在VB工程中引用“MicrosoftExcel11。0ObjectLibrary”(如果是word,則引用“Microsoftword11.0ObjectLibrary”)。一般可以通過如下的挨次來對EXCEL文件進行批改:打開Excel打開Excel設(shè)置當(dāng)前工作表選擇一個單元格或區(qū)域進行判斷關(guān)閉Excel比如要打開C盤下“練習(xí)1.xls”:Workbooks.Open("C:\練習(xí)1.xls")比如設(shè)置Sheet1為當(dāng)前活動工作表:Sheets("Sheet1").Activate單元格的表示:Range(“列號行號”)例:Range("A1")區(qū)域的表示:Range(“列號行號:列號行號")例:Range("A1:D5")選擇一個單元格或區(qū)域:select例:Range("A1:D5").Select,則以后就可以用Selection來表示Range("A1:D5")。Workbooks.Close例如:推斷C:\練習(xí)1.xls文件Sheet1工作表中的A1:D5單元格中的文字是否為宋體:Workbooks。Open(”C:\練習(xí)1。xls")Sheets(”Sheet1”).ActivateRange("A1:D5")。SelectIfSelection。Font.Name=”宋體"Thenscore=score+5了解了工作表、單元格、區(qū)域的表示方式后,我們就能寫出EXCEL中各種常見操作的批改程序了??墒荅xcel中的對象以及它們的方法、屬性都格外多,我們怎能都記住呢?其實我們完全沒必要都登記來,我們可以借助對象掃瞄器來查看Excel對象的方法、屬性(在VB中選擇菜單[視圖][對象掃瞄器]Excel庫).這樣,以后要用到哪個屬性或者方法只需要到對象掃瞄器中查找就可以了。下面再介紹一下EXCEL里常見的兩個操作(公式/函數(shù)、排序)的批改方法。公式/函數(shù)[]中的數(shù)值為相對當(dāng)前單元格的位置(R:行的相對位置)上[]中的數(shù)值為相對當(dāng)前單元格的位置(R:行的相對位置)上–,下+(C:列的相對位置)左–,右+單元格公式/函數(shù)的表示:Range(列行).FormulaR1C1=公式/函數(shù)公式/函數(shù)中單元格的表示:R[]C[]例如:下面表格中F3單元格的求總分公式和函數(shù)可表示為:Range(“F3").FormulaR1C1="=SUM(RC[-4]:RC[-1])"Range(“F3").FormulaR1C1="=SUM(RC[-4]:RC[-1])"Range(“F3").FormulaR1C1="=RC[-4]+RC[-3]+RC[-2]+RC[-1]"了解了F3單元格的公式和函數(shù)的表示后,其他幾個單元格是否也要一一列出呢?其實可以直接用一個for循環(huán)來實現(xiàn):Fori=3To7IfRange(“F"&i).FormulaR1C1=”=SUM(RC[—4]:RC[-1])"Thenscore=score+1Next排序:也就是將相鄰的兩個單元格進行兩兩比較。例:將上面的同學(xué)成果表按語文成果從高到低排序:DimflagAsBooleanFlag=TrueFori=3To6IfVal(Range(“B"&i).Text)<Val(Range(“B”&i+1).Text)ThenFlag=FalseExitForEndIfNextIfFlag=TrueThenscore=score+5[小技巧]EXCEL里還有很多的操作,比如:數(shù)據(jù)篩選、分類匯總、建立圖表等,這些操作的批改程序也相對簡潔一些,我們不會寫怎么辦呢?其實沒關(guān)系,我們可以利用EXCEL的宏來幫助我們快速的寫出批改程序。首先打開要寫批改程序的EXCEL文件,并錄制一個新宏,然后把全部的試題做完,完成后停止錄制并查看生成的宏。這時我們會發(fā)現(xiàn),我們做題的過程已全部被錄制到宏里面了,現(xiàn)在我們只需要把宏里自動生成的VBA語句稍作修改就能直接復(fù)制到VB程序中使用.對于office里的其它的軟件(比如:Word、PowerPoint)的批改都可以使用這種方法。IE操作題的批改[下載圖片、文字、文件]方法與windows操作題中文件操作的推斷類似,也就是推斷這些圖片、文本等文件在該名目下是否存在.為使批改更加精確,也為了防止同學(xué)在做題時投機取巧,可以在此基礎(chǔ)上再推斷該圖片的大小和文本文件里的文字內(nèi)容,從而推斷出這些圖片和文本文件是否來自該網(wǎng)頁。[設(shè)置IE主頁、歷史記錄天數(shù)]通過讀取注冊表里鍵值來推斷,方法和屏保、墻紙的推斷類似。例:推斷IE主頁是否是“www.baidu.com”就是推斷HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main\StartPage的鍵值是否是“www.baidu.com"。FrontPage網(wǎng)頁制作操作題的批改要對網(wǎng)頁進行批改,首先必須了解網(wǎng)頁文件,網(wǎng)頁到底是什么文件?通過查看源文件我們會發(fā)現(xiàn)網(wǎng)頁其實就是文本文件,只不過里面的內(nèi)容都是用html標記來顯示的。同學(xué)對網(wǎng)頁的操作都會反映在html源文件里.所以要批改網(wǎng)頁文件,只要像讀取文本文件那樣讀取整個網(wǎng)頁源文件,然后分析里面的html代碼就可以了。讀取文件既可以用傳統(tǒng)的I/O語句也可以用FSO對象模型來讀取,這里以FSO為例,例如要讀?。茫篭試卷一\WebDo\index.htm,則可以用下列程序:p="c:\試卷一\WebDo\index.htm”Setfil=fso。GetFile(p)Setts=fil.OpenAsTextStream(ForReading)fpstr=ts.ReadAllts.Close這樣就可以把整個網(wǎng)頁文件讀取,而要推斷網(wǎng)頁源文件里的某一步操作,則必須定位到此操作所對應(yīng)的這段html代碼。定位通常要用到字符串查找函數(shù)InStr。例如:推斷表格邊框粗細是否為0。Fpstr1="border="”0”""n1=InStr(1,fpstr,"<table”,1)n2=InStr(1,fpstr,”<tr",1)fp1=Mid$(fpstr,n1,n2—n1)IfInStr(1,fp1,fpstr1,1)Thenscore=score+5但是,如果我們要查找的字符在html中有多個,我們該怎樣定位呢?通??梢允褂孟铝袃煞N方法來定位。[逐步求精法]通過分析網(wǎng)頁源文件,逐步縮小定位的范圍并讀取該操作所對應(yīng)的部分html代碼。例如:推斷是否在表格的第3行第1列的單元格里插入圖片hu.jpg(由于網(wǎng)頁源文件里有很多”<tr"、"〈td”標記,所以可以通過一個for循環(huán)來定位到第3行第1列單元格).n=1Fori=1To3n=InStr(n+4,fpstr,”〈tr”,1)Nextn1=InStr(n,fpstr,"<td”,1)n2=InStr(n,fpstr,"</td〉",1)fp3=Mid$(fpstr,n,n2-n1+5)fpstr1=”<img"fpstr2="hu.jpg”IfInStr(1,fp3,fpstr1,1)AndInStr(1,fp3,fpstr2,1)Thenscore=score+5?當(dāng)網(wǎng)頁中的內(nèi)容很多或頁面設(shè)計很簡潔時,那么使用逐步求精法會顯得較繁瑣。這時我們可以使用注釋法來進行html定位。[注釋法]由于在網(wǎng)頁源文件里添加注釋不會對網(wǎng)頁產(chǎn)生任何影響,所以我們可以在需要定位的html代碼前后加上一段注釋,然后通過讀取注釋來定位(html中的注釋符為〈!—--—>).如前面的例子:推斷是否在表格的第3行第1列的單元格里插入圖片hu。jpg。首先可以在第3行第1列的單元格所對應(yīng)的html代碼前后隨便加上一些注釋,假設(shè)分別加上〈!——注釋A-—>和<!——注釋B--〉n1=InStr(1,fpstr,”<!--注釋A-—>",1)n2=InStr(1,fpstr,"〈!—-注釋B——〉”,1)fp3=Mid$(fpstr,n1,n2-n1)fpstr1="〈img"IfInStr(1,fp3,fpstr1,1)AndInStr(1,fp3,fpstr2,1)Thenscore=score+5?通過這個例子我們可以看出,使用注釋法可以快速精確的定位,比逐步求精法便利且效率高。但同學(xué)在操作網(wǎng)頁的過程中有可能會在不知情的情況下將注釋刪掉從而導(dǎo)致批改程序找不到注釋而無法正確批改。兩種方法各有利弊,可依據(jù)網(wǎng)頁實際情況來選擇相應(yīng)的方法.試題批改是整個教學(xué)軟件的核心內(nèi)容,編寫批改程序的工作量也是相當(dāng)大的。所以,寫好的程序必須反復(fù)調(diào)試,而且由于同學(xué)對一道題目可能有不同的做法,所以還必須對不同的做法分別寫出相對應(yīng)的批改程序,充分考慮到全部可能的情況。4.成果上傳功能的實現(xiàn)?當(dāng)同學(xué)點擊上傳成果按鈕時,可以將同學(xué)氣的計算機名、IP地址、同學(xué)姓名、分數(shù)這四個信息發(fā)送到老師機.要實現(xiàn)局域網(wǎng)中數(shù)據(jù)通信,需要用到Winsock控件。Winsock是windows供應(yīng)的網(wǎng)絡(luò)編程接口,它供應(yīng)了基于TCP/IP(傳輸掌握協(xié)議/網(wǎng)間協(xié)議)協(xié)議的接口實現(xiàn)方法。TCP/IP協(xié)議供應(yīng)兩種通信方式:TCP方式和UDP方式。TCP是一種面對連接的服務(wù),它在兩個主機之間建立連接,供應(yīng)雙向、有序且無重復(fù)的數(shù)據(jù)流服務(wù),以及流量掌握、差錯檢測和糾錯等服務(wù),保證數(shù)據(jù)的牢靠傳輸.UDP是一種雙向的無連接數(shù)據(jù)服務(wù),它把數(shù)據(jù)發(fā)送出去但并不進行差錯掌握和檢查,所以不能保證數(shù)據(jù)的牢靠性,因而一般只用于少量數(shù)據(jù)的傳輸.采納哪種協(xié)議,通??梢钥紤]以下幾點:在收發(fā)數(shù)據(jù)過程中是否需要對方確認或應(yīng)答?數(shù)據(jù)是否很多?數(shù)據(jù)傳輸質(zhì)量要求是否很高?數(shù)據(jù)發(fā)送是間歇的還是一次會話?因考慮到流量小、資源占用少,可以采納UDP協(xié)議。在窗體上添加一個Winsock控件(Winsock1),在其屬性中設(shè)置為UDP協(xié)議,并對Winsock1的本地端口、遠程主機端口、遠程主機IP地址進行初始化。為什么要設(shè)置IP和端口號呢?由于通過網(wǎng)絡(luò)進行數(shù)據(jù)通信,需要用地址來標識網(wǎng)絡(luò)中的主機,這樣才能保證數(shù)據(jù)正確的發(fā)送到主機。TCP/IP協(xié)議使用IP地址作為網(wǎng)絡(luò)中的標識,從而實現(xiàn)通過IP地址建立彼此之間的聯(lián)系。通常情況下,由于每臺主機上運行不止一個應(yīng)用程序,所以為使應(yīng)用程序間建立連接,還需要一個地址標識,也就是端口號。在TCP/IP協(xié)議中使用端口來作為主機上運行的應(yīng)用程序的標識號。因此,TCP/IP協(xié)議中一個有效的網(wǎng)絡(luò)地址包括IP地址和端口地址。如圖:IP地址IP地址端口地址標識主機標識主機上的應(yīng)用程序Winsock1.Protocol=sckUDPProtocolWinsock1。RemoteHost=“192.168.0.1”Winsock1.RemotePort=4022其中本地和遠程主機端口可自由設(shè)定(1-65535),但不要使用一些系統(tǒng)默認的端口(比如:80(http),21(FTP),110(電子郵件POP3))和常用端口(比如:QQ談天軟件端口8000、8080等),以免沖突。使用Winsock的SendData方法即可實現(xiàn)數(shù)據(jù)發(fā)送.上傳的各個數(shù)據(jù)之間用#號來連接,那么服務(wù)器端程序接收到這些數(shù)據(jù)后就可以按#來分割出每個信息。sendtxt=Winsock1.LocalIP&"#"&Winsock1。LocalHostName&"#"&UserName&”#"&UserScoreWinsock1。SendDatasendtxt5.老師機收卷程序的實現(xiàn) 在VB中新建一工程,并設(shè)計好用來顯示同學(xué)成果的界面。并添加一個Winsock控件(Winsock1),設(shè)置其傳輸協(xié)議為UDP協(xié)議,并設(shè)置Winsock1的本地端口(此處的本地端口應(yīng)和同學(xué)端中的Winsock1的遠程主機端口全都)。Winsock1.Protocol=sckUDPProtocolWinsock1.LocalPort=4022Winsock1。Bind4022并定義全局變量數(shù)組用于存放接受到的消息??偣材芙邮埽?0人的成果。(數(shù)組長度可自定)Privateip_str(200)AsStringPrivatename_str(200)AsStringPrivateusername_str(200)AsStringPrivatescore_str(200)AsStringPrivat(yī)eiAsInteger當(dāng)有消息來臨時,會觸發(fā)Winsock1_DataArrival大事。在Winsock1_DataArrival大事里輸入如下代碼用來接收并顯示相關(guān)的信息:同學(xué)氣器名、IP、姓名、分數(shù)(效果如圖三).Winsock1。GetDat(yī)arec,vbStringstinfo=Split(rec,”#”)text1.text=stinfo(0)+stinfo(1)+stinfo(2)+stinfo(3)+Chr(10)+Chr(13)i=i+1ip_str(i)=stinfo(0)name_str(i)=stinfo(1)username_str(i)=stinfo(2)score_str(i)=stinfo(3)(圖三)老師端程序之所

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論