該程序主要實(shí)現(xiàn)對通訊錄的瀏覽、增加和刪除功能,實(shí)現(xiàn)是把保存在文本文件中的數(shù)據(jù)讀取出來,依次存放在一個列表中,再對列表進(jìn)行操作來實(shí)現(xiàn)相應(yīng)的功能,.在用戶退出時再把列表中的內(nèi)容保存回文本文件中。
其中文本文件的最后部分內(nèi)容如圖14.14所示。
圖 14.14 文本文件中的內(nèi)容
下面是具體的實(shí)現(xiàn)過程:
1.進(jìn)入authorware ,新建一個文件,保存為“對象_demo.a6p”。打開文件屬性設(shè)置對話框,設(shè)置程序窗口大小為variable,選中center on screen,取消title bar和menu bar前的選擇。
2.在程序開頭拖入一個計(jì)算圖標(biāo),命名為“讀取文本”,在其中加入以下語句:
--設(shè)置窗口大小
resizewindow(320,240)
--定義一個空的列表
wen:=[]
tem:=[]
--創(chuàng)建一個fileio xtra的子對象
zil:=newobject("fileio")
--以只讀方式打開文本文件
callobject(zil, "openfile", filelocation^"ziliao1.txt",1)
--依次讀取該文本文件的行,存放到列表中
temp:=callobject(zil,"readline")
i:=1
repeat while temp<>-1
repeat with p:=1 to 4
tem[p]:=getword(p,temp)
end repeat
wen[i]:=[#name:tem[1],#sex:tem[2],#age:tem[3],#tel:tem[4]]
temp:=callobject(zil, "readline")
temp:=substr(temp,2,charcount(temp))
i:=i+1
end repeat
--關(guān)閉文本文件
callobject(zil, "closefile")
--初始化一個計(jì)數(shù)器
j:=1
--統(tǒng)計(jì)列表wen中元素的個數(shù)
geshu:=listcount(wen)
說明:雖然系統(tǒng)函數(shù)readextfile()也可以讀取文本文件的內(nèi)容,但當(dāng)文本文件比較大時,所獲得的字符串就比較大,對其進(jìn)行處理就會影響程序的運(yùn)行程序,且會受到authorware中字符串的最大字符數(shù)的影響。所以此處使用fileio xtra中的openfile函數(shù)來打開文件,此時實(shí)際上獲得的是指向該文本文件的指針。另外打開一個文件用完后最好馬上關(guān)閉它。
3.拖入一個顯示圖標(biāo)到流程線上,命名為“顯示記錄”,雙擊打開該顯示圖標(biāo)的展示窗口,用文字工具輸入如圖14.15所示的文字。
圖 14.15 顯示圖標(biāo)“顯示記錄”中的標(biāo)簽
然后在“姓名:”后輸入語句:{wen[j][#name]};在“性別:”后輸入語句:{wen[j][#sex]};在“年齡:”后輸入語句:{wen[j][#age]};在“電話:”后輸入語句:{wen[j][#tel]}。
選擇菜單命令modify>icon>properties,.在彈出的顯示圖標(biāo)屬性對話框中選中update displayed variables,單擊ok按鈕關(guān)閉對話框。
[1] [2] [3] 下一頁
新聞熱點(diǎn)
疑難解答