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