ASPプログラミング入門ステップ(18):FPOコンポーネントのファイル操作(中)


FPOからファイル値を抽出し、ファイルに情報を入力することもできました。次は応用します。あなたはこのような習慣がありますか?ファイルを見て、無意識に右ボタンでメモ帳で開けます。へへ,ほとんどどのファイルがないといけません。したがって、すべてのファイルはテキストであり、拡張子の名前が異なるだけです。つまり、どのファイルの内容情報を抽出することができます。OKです。想像してみます。1ファイルのパスを抽出します。2パスファイルを開いて、すべての行3を読み取り、読み取った情報を表示します。1、viewcode.asp
<%Function ShowCode(filename)Set fso=Server.reate Object(Script.FileSystemObject)Set cnrs=fso.OpenTextFile(filename)1)While Not cnrs.AtEntEndOfStreamrsline=cnrs.Readlinersline=server.HTMLEncode(rsline)Reponse.Write(rsline&")Wendend Function%>
<%file=request.form(「file name」)reponse.write(file&ソースプログラムなど下
")If trim(>""thenCall ShowCode(file)End If%以上のプログラムをデバッグした場合、選択できます。aspページで、任意のアプリケーションなどを開くこともできます。定義されたShowCode関数は、ファイル内のすべての情報の内容を開いたり読み取ったり表示することが主な役割です。注意server.HTMLEncodeを追加しました。標準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 t t t t t=fso.OpenTextFile(whifile,1)rline=txt.ReadAlllinline=Edededededededededededederererererererererererettttttttttttttttxtttttttttttttttttttttttxxxt=Ededededededededededededededededededededededededede何の役になりますか?へへ,アマゾンのネットのストーリは竜をつないでこのようにします:竜を継ぐことができるのはまず元からあるストーリを表示しなければならなくて、それから自分でストーリを添加してファイルに書きます。この中の書き込みファイルの一番のこだわりは追加書きです。だから次は実現できます。二、story.asp
<%If not request.Form("NextLine")="thenSet fso=Server.reate Object("Script.FileSystemobject")textfile 1=Server.MapPath("story.txt")set cnfirs=Text 18)cnrs.WriteLine(Request.Form(NextLine)cnrs.Closeend if%>物語は以下の通りです。「%Set fso=Server.CreatObject(Scrippting.FileSystemObject)」textfile1=Server.Mapth Paxtttttttttffftttttttttttfffffttttttttttttttttttttfffffffffttttttttttttfile1=EEEttttttttttttttttttStream Resonse.Write"&cnrs.Readlinewers.cnrs.close%>< hr>
この物語の新しい行を入力してください。もちろんstory.txtファイルが足りません。物語の書き出しを書いてください。デバッグアドレス:http://www.cnbruce.com/code/story.aspより下の方に来てください。このポイントは主にいくつかの関数の使い方を練習します。1,instr関数:他の文字列で最初に現れる文字列の位置を返します。例えば、文字列「A 10 B 121 C 191 D 161」で初めてアルファベット「A」を検索すると、「script laguage=vbs」となります。
my_string="A 110 B 121 C 191 D 181"
a_num=instr(my_)string「A」)
alert(a_)num

[Ctrl+Aは全部選択してコピーします。一部のコードを修正してから実行をクリックしてもいいです。]同じ文字の「B」の位置も確定できます。ここで一番重要なのは、前倒しの文字「A」と「B」の中間値「110」です。mid関数を覚えていますか?mid関数の主な役割は、文字列から指定された数の文字を返すことです。例えば、現在の「110」は文字列の第2位から3単位の値を取得するべきです。script laguage=vbs>
my_string="A 110 B 121 C 191 D 181"
a_value=midstring、2、3)
alert(a_)value)

[Ctrl+Aは全部選択してコピーして提示します。部分コードを修正してから実行をクリックしてもいいです。だから考えてみます。抽出した値はいつもアルファベットのAの後ろにあり、値も永遠にアルファベットのAとBの間にあるので、それぞれAとBの位置を抽出すれば、中間値の先頭はアルファベットのAのビット+1であるべきです。中間値の長さはアルファベット「B」ビット-アルファベット「A」ビット-1であるべきです。そうすると、プログラムを完璧にすることができます。
my_string="A 110 B 121 C 191 D 181"
a_num=instr(my_)string「A」)
b_num=instr(my_)string「B」)
a_value=midstring、a_num+1,b_num-a_num-1)
alert(a_)value)

[Ctrl+Aは全部選択してコピーして提示します。部分コードを修正してから実行をクリックしてもいいです。]OKであれば、文字の「B」、「C」、「D」の後の値を一つ一つ抽出することができます。もちろん注意しなければならないのは「D」の後に何人がどうやって取りますか?文字列の総長さ-文字Dの位置数を使用すればいいです。script laguage=vbs>
my_string="A 110 B 121 C 191 D 181"
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=midstring、a_num+1,b_num-a_num-1)
b_value=midストリングnum+1,c_num-b_num-1)
c_value=midstringnum+1,d_num-c_num-1)
d_value=midストリングnum+1,total_num-d_num
alert(a_)value)
alert(b_value)
alert(c_)value)
alert(d_value)

[Ctrl+Aは全部選択してコピーして提示します。一部のコードを修正してからクリックして実行します。]今まで使って、確かに多くのことを学んだかもしれませんが、これはFPOファイルの操作において何の効果がありますか?次は私たちのテーマです。FPOで簡単なテキスト投票をします。投票ページでは、まず各項目の投票数を表示し、それに応じて変数を付与します。そして今回の投票の选相を判断し、それに対して投票数値を1つ加算し、终わったらすべての値をテキストに书き続けます。1,HTMLフォームページwebsites.は投票クリックを行うためのプラットフォームです。form action=「result.asp」method=「post」
<input type=“radio”name=“website”value=“A”checked>cnbaruce.com
<input type=「radio」name=「website」value=「B」blueidea.com
t 365 c n.com
5 d.cn
<input type=「submit」>
<input type=「reet」>
[Ctrl+Aは全部選択してコピーします。一部のコードを修正してから実行をクリックしてもいいです。]2、フォームページの値のreult.aspを受け取ります。
<%whichfile=server.mappath(「site.txt」)set fso=createobject(「Scrripting.FileSystem Object」)set thisfile=fso.opentextfile(whifile)mustring=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_)stringvalue=midstring、a_num+1,b_num-a_num-1)b_value=midストリングnum+1,c_num-b_num-1)c_value=midstringnum+1,d_num-c_num-1)d_value=midストリング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 selectmynew_string=「A」とcstrvalue)&B&c str(b_)value)&C&c str(c_)value)&D&cstr(d_)value set newfile=fso.creat extfile(whichfile)newfile.writeLine(mynew_)string)newfile.closet fso=nothings%現在投票:
cnbal.com:<%=a_value%
blueidea.com:<%=b_value%
it 356 cn.com:<%=c_value%
5 d.cn:<%=d_value%
戻るって続けます。上の関数の基础があります。これを见ると难しいです。3、最後に忘れられないようにしてください。メモファァァのsit.txtフォ-マ-ト:A 1 B 1 C 1デパ-ドアレス:http://www.cnbruce.com/code/website.html OK、三つのファイルは簡単な投票システムができます。強化するには、細かい知識が必要です。一度投げたらsessionやcookiesをセットして、もう一度投票する時にsessionやcookiesが存在すれば許されないと判断します。つまり簡単な投票防止のための偽者セクションです。もちろんもっと多くのものは自分で実践したいです。