Board logo

標題: [教學] (實戰專題) 文字檔聯絡簿 上篇 [打印本頁]

作者: 小誌    時間: 2010-5-25 19:29     標題: (實戰專題) 文字檔聯絡簿 上篇

在開始之前小誌要做個小小的說明:本篇與下一篇的內容分別為文字檔與資料庫的使用示範,而使用的範例是以校園應用為主題,因此在名稱的定義上都稱為「聯絡簿」,其實這裡的「聯絡簿」就是各位常常於網路上所見的「留言版」,只是稱呼上有所不同,實質上的內容與意義是相同的!希望大家不要因為稱呼的不同而誤會了呦!

拜科技網路進步之賜,現在的網路e教師除了透過傳統的方式(電話或家庭聯絡簿)與家長聯繫之外,又多了一項利器:『網路家長聯絡簿』,學生家長有任何需要協助或意見發表的時候,都將可以即時於網路上留下寶貴的意見給教師們。 當然,網路e教師們也可以即時在網路聯絡簿上向學生家長反映學生們在學校中的生活點滴。

本範例就是要為各位網路e教師示範一個可以讓學生家長於網上發表意見與反映的『網路家長聯絡簿』(留言版)!

聯絡簿組成構造
要設計一個與家長溝通的線上聯絡簿必須要了解ASP物件與Html表單的設計,別緊張!我們一步一步來解說與實作。



簡言之,我們聯絡簿的構成共有下列四大部分:



下圖為家長聯絡簿的組成與關聯性說明圖:

[attach]902[/attach]
作者: 小誌    時間: 2010-5-25 19:32

意見發表網頁
當我們要在網頁中提供一個可以讓學生家長發表意見或反映的聯絡簿時,我們首先必須設計一個『意見發表表單』,讓學生家長可以在上面發表意見,並且要能將這些意見資料送給網路伺服器的 IIS/PWS ,而且當這些意見資料被送達到 IIS/PWS 後,IIS/PWS 的網路伺服器端也必須存在有一個相對應的ASP程式來紀錄以及處理這些意見資料。

現在我們就來製作一個可以讓學生家長可以在上面發表意見的表單網頁『issue.asp』:

[attach]903[/attach]

編號

欄位

欄位名稱

表單元件

家長姓名

name

單行文字方塊

聯絡Email

email

單行文字方塊

意見主題

subject

單行文字方塊

意見反映內容

textmemo

多行式文字方塊

送出意見

SENT

按鈕

清除重寫

按鈕



上圖代號H的超連結文字為連結至message.asp,也就是連結至『觀看意見留言結果』的網頁。

以下為完整的『issue.asp』表單網頁內容:
issue.asp
  1. <HTML>
  2. <HEAD>
  3.    <TITLE>網路家長聯絡簿</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <p align="center"><B><FONT SIZE=+2>網路家長聯絡簿</FONT></B></p>
  7. <FORM Action="handel.asp" Method="POST">
  8. <div align="center">
  9. <center>
  10. <TABLE BORDER=1 WIDTH="353" cellspacing="0" cellpadding="0" bordercolor="#0000FF" >
  11. <TR><TD width="109"><FONT COLOR="#000080" size="2">家長姓名:</FONT></TD>
  12. <TD width="238"><INPUT TYPE=TEXT NAME=name SIZE=20></TD></TR>
  13. <TR><TD width="109"><FONT COLOR="#000080" size="2">聯絡Email:</FONT></TD>
  14. <TD width="238"><INPUT NAME=email SIZE=30></TD></TR>
  15. <TR><TD width="109"><FONT COLOR="#000080" size="2">意見主題:</FONT></TD>
  16. <TD width="238"><INPUT NAME=subject SIZE=30></TD></TR>
  17. <TR><TD VALIGN=TOP width="109"><FONT COLOR="#000080" size="2">意見反映內容:</FONT> </TD>
  18. <TD width="238"><TEXTAREA NAME=textmemo ROWS=5 COLS=30></TEXTAREA></TD>
  19. </TR>
  20. </TABLE>
  21.   </center>
  22. </div>
  23. <CENTER><TABLE>
  24. <TR ALIGN=CENTER><TD width="197"><INPUT TYPE=Submit NAME=SEND VALUE="送出意見"><INPUT TYPE=RESET VALUE="清除重寫"></TD>
  25. </TR></TABLE></CENTER>
  26. </FORM>
  27. <p align="center"><A HREF="message.asp">觀看其他家長反映意見</A></p>
  28. </BODY>
  29. </HTML>
複製代碼
請特別注意:網頁敘述『Action=”handel.asp”』,方才我們說過:表單意見資料送給網路伺服器的 IIS/PWS ,而且當這些意見資料被送達到 IIS/PWS 後,IIS/PWS 的網路伺服器端也必須存在有一個相對應的ASP程式來紀錄以及處理這些意見資料,在本範例中負責處理意見資料的ASP程式正是『Action=”handel.asp”』。
作者: 小誌    時間: 2010-5-25 19:40

建立與開啟記錄資料檔
我們之前談過,即使設計好了『意見發表表單』的網頁與『觀看意見留言結果』的網頁後,這兩張網頁還都只是都是獨立的個體是毫無關係的,我們必須再設計一個用來紀錄以及處理留言的ASP程式『handel.asp』。

在ASP程式中,我們若要進行檔案的存取動作必須先建立一個 FileSystemObject 的物件(File/檔案物件),然後再利用我們建立出來的這個檔案物件來進行檔案的各項處理作用。當檔案物件被建立出來之後我們就可以呼叫它的CreateTextFile(建立檔案)方法或是OpenTextFile(開啟檔案)方法來建立或開啟檔案,然後,當ASP程式將記錄資料處理完畢後,我們就可以再呼叫WriteLine方法與ReadLine方法來存取資料記錄檔案。

首先我們先來看看紀錄以及處理留言的ASP程式是如何建立或開啟一個資料記錄檔案:

如何建立及開啟檔案

  File物件是 FileSystemObject 物件的子物件,換言之,File物件必須透過FileSystemObject物件來產生。

[attach]904[/attach]

如何使用CreateTextFile方法來建立檔案

作者: 小誌    時間: 2010-5-25 19:45

如何使用OpenTextFile方法來開啟檔案



注意
ASP程式中的VB Script 程式敘述撰寫中並沒有『ForAppending(程式撰寫值為8)』這個已定義的程式撰寫常數,所以我們必須自己進行定義:Const ForAppending=8
作者: 小誌    時間: 2010-5-25 19:49

如何讀取及寫入檔案

上一階段內容中我們已經了解了如何CreateTextFile(建立檔案)方法或是OpenTextFile(開啟檔案)方法來建立或開啟檔案,我們接著來學習如何在我們已經建立或開啟檔案中讀取及儲存資料。

我們利用CreateTextFile(建立檔案)方法或是OpenTextFile(開啟檔案)方法所建立或開啟檔案是一個純文字檔(.TXT),而要讀取或儲存文字檔資料,最常使用的方式就是:逐行讀取與逐行寫入,在逐行讀取資料的時候我們採用檔案物件的ReadLine方法,而逐行寫入資料時我們則採用WriteLine方法。

逐行讀取資料的ReadLine方法與逐行寫入資料的WriteLine方法並不需要任何參數,不過很重要的一點是:我們必須使用一個變數來裝載我們所讀入的資料即將這個變數中所裝載的資料寫入到檔案中。
下列即為逐行讀取資料ReadLine方法與逐行寫入資料WriteLine 方法的的使用例:

[attach]907[/attach]

一次全部讀取檔案資料的ReadAll方法

我們的聯絡簿中家長的發言一定很多不會只有一行,如果我們採用單行讀取的方法就必須建立一個讀取資料的迴圈敘述來將檔案中所有的資料讀出,而且我們還得增加一個判斷讀取位置是否已到檔案結尾的敘述,然後再將資料一行一行的寫入檔案,這樣做似乎太麻煩了一些,因此我們可以改用ReadAll方法來寫作我們的ASP程式。

[attach]908[/attach]

在上例中,當我們的ReadAll方法在讀取檔案資料時,若我們讀取的檔案內容是空的(空白的資料檔)將會造成ASP程式執行時的錯誤,因此,為了避免ReadAll方法無法讀取檔案資料的錯誤,我們可以在ReadAll方法的程式敘述之前加上『On Error Resume Next』這行程式敘述來這個錯誤的發生:

[attach]909[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)