亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP編程入門進階(十八):FSO組件之文件操作(中)

2020-07-27 13:19:11
字體:
來源:轉載
供稿:網友
學會了FSO提取文件值,也學會了將信息輸入到文件中,那下面就再來應用應用下。

不知道你有沒有這樣的習慣:看到一個文件,不自覺的右鍵選擇用記事本打開。呵呵,幾乎沒有哪個文件是不可以的。所以現在,可以默認所有文件都是文本,只是后綴名不同而已;那么也就是說,現在可以提取任一文件的內容信息。OK,就來想象一下:

1,提取一個文件的路徑(采用file按鈕進行查找定位)
2,將該路徑文件打開,并讀取所有行
3,顯示讀取的信息

一、viewcode.asp


<%
Function ShowCode(filename)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set cnrs = fso.OpenTextFile(filename, 1)
While Not cnrs.AtEndOfStream
rsline = cnrs.ReadLine
rsline = server.HTMLEncode(rsline)
Response.Write(rsline & "<br>")
Wend
end Function
%>

<form action="viewcode.asp" method="post">
輸入文件名<input type="file" name="filename">
<input type="submit" value="查看源程序">
</form>

<%
file=request.form("filename")
response.write (file & "源程序如下<hr>")
If trim(file)<> "" then
Call ShowCode(file)
End If
%>


以上程序調試時,可以選擇html,asp頁面,也可以打開任一應用程序等。

定義的ShowCode函數,主要作用是打開、讀取并顯示文件中所有信息內容。注意添加了server.HTMLEncode(rsline),針對含有標準HTML代碼的文件。

顯示文件中所有行即用一條件循環進行遍歷顯示了。
While Not cnrs.AtEndOfStream
...
Wend

接著,下面的這個例題具體就涉及open方法的問題了,還記得?正常情況之下打開文件是采用fso.OpenTextFile("c:/testfile.txt",1),參數1的作用是:以只讀模式打開文件。不能對此文件進行寫操作。如果現在已經存在一文件,需要進行追加寫入,則該怎么辦呢?簡單,參數為8即可。

PS:這里還有一種讀取的方法。



<%
whichfile=server.mappath("test.txt")
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.OpenTextFile(whichfile,1)
rline = txt.ReadAll
rline=replace(Server.HtmlEncode(rline),Chr(13),"<br>")
Response.Write rline
txt.Close
%>



這有什么用呢?呵呵,亞瑪遜的網絡故事接龍就是如此:能接龍就需要首先要顯示原有故事,然后自己添加故事寫入文件。這其中的寫入文件最講究的就是追加寫入了。所以下面就可以實現。

二、story.asp



<%
If not request.Form("NextLine")="" then
Set fso=Server.CreateObject("Scripting.FileSystemobject")
textfile1=Server.MapPath("story.txt")
set cnrs=fso.OpenTextFile(textfile1,8)
cnrs.WriteLine(Request.Form("NextLine"))
cnrs.Close
end if
%>
故事如下:
<%
Set fso=Server.CreateObject("Scripting.FileSystemObject")
textfile1=Server.MapPath("story.txt")
set cnrs=fso.OpenTextFile(textfile1,1)
while not cnrs.AtEndOfStream
Response.Write "&nbsp;" & cnrs.ReadLine
wend
cnrs.close
%>
<hr>
<form method="post" action="story.asp">
請輸入這個故事的新行:<input name="NextLine" type="text" size="70">
<input type="submit" value="提交">
</form>



整個就是一很簡單的讀取信息和加入信息的混合利用,相信有了前面的基礎看懂應該不成問題。當然還缺少個story.txt文件,里面寫好故事開頭就可以了。

調試地址:
http://www.cnbruce.com/code/story.asp

再下面,繼續來,該側重點主要就是練習一些函數的使用技巧了。

1,instr函數:返回某字符串在另一字符串中第一次出現的位置。
比如現在查找字母“A”在字符串“A110B121C119D1861”中第一次出現的位置,則可以

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

同樣字母“B”的位置也就能確定?,F在就來最關鍵的:提前字母“A”和“B”中間的值“110”。
還記得mid函數嗎?mid函數的主要作用是:從字符串中返回指定數目的字符。
比如現在的“110”則應該是從字符串的第2位取得3個單位的值。

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

但設想一下:如果不是“110”,而是“1100”,那是不是要提取4位……這樣就顯出程序的不夠完美。
所以繼續思考:所提取的值,永遠是在字母“A”后面的,且值也永遠是在字母“A”和“B”之間的,那么只要分別提取出“A”、“B”的位置,則中間數值的起始位應是字母“A”位+1,中間數值的長度應是字母“B”位-字母“A”位-1
那么現在就可以讓程序完美起來:


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

OK,那么現在你也就完全可以把字母“B”、“C”、“D”后面的值一一提取了。
當然需要注意的就是“D”后面有幾位怎么取呢?采用字符串總長度-字母D所在位置數就可以了。


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

用到現在,你也許確實學到了不少,但也許會提出疑問:這個放在FSO文件操作里有什么作用呢?
那下面才是我們的正題:用FSO進行簡單的文本投票。

投票頁面首要的就是顯示各類項目的投票數,并相應賦于某個變量。然后判斷本次投票的選相,相對應地將投票數值加1,完畢后再將所有值繼續寫入文本。

1,一個HTML表單頁website.html
以做投票點擊的平臺。

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

2,接受表單頁值的result.asp


<%
whichfile=server.mappath("site.txt")
set fso=createobject("Scripting.FileSystemObject")
set thisfile=fso.opentextfile(whichfile)
my_string=thisfile.readline

a_num = instr(my_string,"A")
b_num = instr(my_string,"B")
c_num = instr(my_string,"C")
d_num = instr(my_string,"D")
total_num = len(my_string)

a_value = mid(my_string,a_num+1,b_num-a_num-1)
b_value = mid(my_string,b_num+1,c_num-b_num-1)
c_value = mid(my_string,c_num+1,d_num-c_num-1)
d_value = mid(my_string,d_num+1,total_num-d_num)

select case request.form("website")
case "A": a_value=a_value+1
case "B": b_value=b_value+1
case "C": c_value=c_value+1
case "D": d_value=d_value+1
end select

mynew_string="A" & cstr(a_value) & "B" & cstr(b_value) & "C" & cstr(c_value) & "D" & cstr(d_value)
set newfile=fso.createtextfile(whichfile)
newfile.writeLine(mynew_string)
newfile.close
set fso=nothing
%>
當前投票:<br>
cnbruce.com:<%=a_value%><br>
blueidea.com:<%=b_value%><br>
it356cn.com:<%=c_value%><br>
5d.cn:<%=d_value%><br>
<a href="website.html">返回繼續</a>



有了上面函數的基礎,看這個應該不是很難的

3,最后不要忘了的記數文件site.txt

格式:A1B1C1D1

調試地址:
http://www.cnbruce.com/code/website.html

OK,三個文件就可以勝任一個很簡單的投票系統了,如果要加強,需要細化的則結合以前的知識吧,比如投過一次后設置session或者cookies,當再次投票時候判斷如果session或者cookies存在則不允許,也就是簡單的投票防作假手段了……當然更多的還是要自己去想去實踐了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美一区二区精品久久久| 成人写真视频福利网| 91av免费观看91av精品在线| 国内免费精品永久在线视频| 欧美人与性动交| 一本大道亚洲视频| 国产精品mp4| 精品亚洲一区二区三区在线播放| 一区二区三区四区精品| 亚洲999一在线观看www| 久久亚洲一区二区三区四区五区高| 欧美成人亚洲成人日韩成人| 国产精品电影网站| 日韩美女av在线| 26uuu另类亚洲欧美日本一| 欧美性猛交xxxx久久久| 亚洲一二在线观看| 国产精品在线看| 欧美激情在线观看视频| 久久精品国产清自在天天线| 日韩欧美视频一区二区三区| 亚洲黄页网在线观看| 成人av电影天堂| 欧美最猛性xxxxx亚洲精品| 久久夜色精品亚洲噜噜国产mv| 国产精品夜间视频香蕉| 国产精品第一视频| 欧美在线视频网| 亚洲区在线播放| 91产国在线观看动作片喷水| 国产一区二区三区在线| 欧美高清无遮挡| 亚洲成人动漫在线播放| 欧美激情喷水视频| 伊人久久免费视频| 国产福利精品在线| 欧美高清视频在线观看| 亚洲一区二区免费在线| 色综合久久久888| 国产一区二区动漫| 97精品视频在线观看| 精品国产精品三级精品av网址| 日韩欧美国产网站| 成人免费黄色网| 欧美性猛交99久久久久99按摩| 日韩精品视频免费| 一区二区三区四区视频| 91在线播放国产| 久久久久久这里只有精品| 国产高清在线不卡| 美女久久久久久久久久久| 国产一区二区黄| www.久久久久| 欧美成人一二三| 亚洲精品www久久久久久广东| 国产精品大陆在线观看| 国产精品自拍网| 性欧美xxxx视频在线观看| 91亚洲人电影| 日韩福利视频在线观看| 亚洲精品色婷婷福利天堂| 国产精品无av码在线观看| 51ⅴ精品国产91久久久久久| 97视频免费在线观看| 中日韩美女免费视频网站在线观看| 欧美精品www在线观看| 欧美电影免费观看| 日韩视频亚洲视频| 欧美中文在线视频| 亚洲欧美国产精品va在线观看| 日韩欧美中文第一页| 亚洲欧美国产高清va在线播| 国产精品91久久| 色婷婷综合成人| 91av国产在线| 久久久久久中文| 色噜噜狠狠狠综合曰曰曰| 亚洲性线免费观看视频成熟| 美女福利精品视频| 777精品视频| 欧美性猛交xxxx久久久| 国产一区二区丝袜| 亚洲人成电影在线播放| 这里只有精品视频在线| 欧美日韩高清在线观看| 亚洲国产毛片完整版| 一色桃子一区二区| 久久在线免费观看视频| 久久躁狠狠躁夜夜爽| 欧美激情亚洲自拍| 久热精品视频在线免费观看| 亚洲国产精品小视频| 中文字幕自拍vr一区二区三区| 久久久久成人网| 成人免费高清完整版在线观看| 国产成人精品日本亚洲专区61| 91麻豆国产语对白在线观看| 精品视频在线播放| 欧美自拍视频在线观看| 精品露脸国产偷人在视频| 久久久91精品| 精品久久久久久久大神国产| 伊人久久大香线蕉av一区二区| 91精品国产高清自在线| 成人午夜激情免费视频| 国产一区香蕉久久| 久久亚洲欧美日韩精品专区| 色婷婷久久一区二区| 亚洲成人三级在线| 亚洲aa中文字幕| 亚洲va欧美va国产综合久久| 欧美精品aaa| 精品国产欧美成人夜夜嗨| 欧洲精品毛片网站| 欧美日韩在线看| 国产精品海角社区在线观看| 日韩精品视频在线观看网址| 中文在线资源观看视频网站免费不卡| 在线一区二区日韩| 亚洲欧美日韩精品久久亚洲区| 九九久久久久久久久激情| 欧美日韩亚洲视频一区| 国产精品日韩在线播放| 久久韩国免费视频| 欧美精品久久久久久久久久| 九九热精品视频国产| 久久精品国产亚洲精品| 欧美性视频精品| 亚洲精品久久久久| **欧美日韩vr在线| 国产欧美欧洲在线观看| 97成人超碰免| 国产69久久精品成人看| 久久人人爽人人爽人人片av高请| 日韩av网站大全| 色小说视频一区| 国产91精品在线播放| 欧美日韩国产在线看| 国产精品一区二区三| 亚洲欧美国产精品va在线观看| 538国产精品一区二区免费视频| 一区二区三区视频免费在线观看| 久久精品电影网| 中文字幕精品影院| 日日摸夜夜添一区| 日韩视频免费大全中文字幕| 成人国产精品免费视频| 91精品国产色综合久久不卡98口| 久久久久免费精品国产| 中文国产成人精品| 欧美日韩国产精品一区二区不卡中文| 丝袜亚洲欧美日韩综合| 亚洲美女在线视频| 最新国产精品拍自在线播放| 久久99国产综合精品女同| 精品久久久久久中文字幕大豆网| 成人羞羞国产免费| 欧美激情三级免费| 亚洲欧洲在线看| 一区二区三区四区在线观看视频| 国产丝袜视频一区| 欧美午夜激情在线| 夜夜嗨av一区二区三区免费区| 亚洲国产精品久久久久秋霞蜜臀|