苦肉の策、配列をリングみたく使ってみた苦肉の策、配列をリングみたく使ってみた本文(発行内容)<苦肉の策、配列をリングみたく使ってみた>こんにちは、Ken3です。今回は、テキストファイルのデータを逆順に読んでみたくって、チャレンジしたけど、うまく行かなかった話です。おい三流プログラマー、うまく行かない話をメルマガにするの?ええ、笑ってもらおうと思って。(ホンネは、途中まで書いてて、出来ないことに気が付いて方向転換です(笑))たいした話じゃないので、あまり期待しないでね。)に時刻と評価が下記のように書かれています。不正なパラメーターですとテキストファイルがあって、これを表示するプログラム、をいろいろと作ってました。登録順(ファイルの上から順)の処理でした。ある話で、最近の10件を知りたい、、、なんて話がありますよね。今回の要望は、最近の(最新の)10件を表示してみたい。そんなの後ろから1行単位で読んで戻ればいいんだろ、簡単ジャン。ほんと、サスガ三流と言ってもプログラマーさんだね、よろしくです。2.ウソだろ?テキストファイルにランダムアクセスできない?(戻れないの?)*/一般的な考え方として、ファイルポインタを一行戻しながら読み、(一行戻してから読み、2行戻すと1つ前に行くのかなぁ)を繰り返せばいいのかなぁと安易に考える。ファイルポインタを移動させるような命令を探してみる。-2とかできないのかなぁ。残念、できないみたいだ。ファイルへランダムにアクセス可能か、調べないと。して、テキストストリームじゃダメだけど、ほかの方法があるかもしれない。3.配列をリング的に使う*/リングって映画、怖いらしいねぇ。私も知ってればいろいろと例を出せるけど知らないからなぁ、じゃなくって、配列にデータをリング上に入れるイメージで処理してみます。ソースを見る前に、イメージはリング(円)です。円だったらサークルじゃないの?って思うけど、どうなんだろう。下記が小手先技で最新10件を表示したソースです。'読みこみ表示関数をコール%><hr>終了です。Sub%>----なんか複雑なことやってるよね。そんなこと無いですよ。True)いつもの、FileSystemObjectを生成とテキストストリームをオープンしてます。私は前回のソースをコピーで作成してます。'*1文字列のバッファを10個取る読みこんだデータを入れるバッファを10個用意しました。0123456789って感じですかねぇ。配列へのセット位置を変数で管理したいので、1つ変数を用意。初めは0で初期化してます。ts.ReadLine何をしてるか?命令見るとnSETIndex番目の配列にデータをセット。初めは0だから0番目にセットされてます。'セット位置を+1する(次に移動)次の位置に移動してます。Ifここがポイントで、10になったら0にセット位置を戻してます。0123456789012....とセットする位置が循環します。'使ったファイルは閉じようよ(もうファイルは使わないので)データは読み終わったので、閉めます。Next表示は10個なので、10回のループを作ってます。'ポインタを1つ前にするで、3だったカウンターが2に戻ります。カウンターnSETIndexは次の3になっているでセットは、終わってましたね。こんな簡単な仕掛けだったんですね~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~なんて、強がって言ってる割には、苦労したけど。テストの表示は、↓で試してください。http://www.ken3.org/cgi-bin/test/test023-1.asp元データTEST008.TXTと確認すると、なんとか逆順で表示されてます。・10、20、30...は(10)にセットが、わかりやすかったかなぁ。*書き直せよな、読者がわかりやすいように。・テキストストリームのポインタ前の行に戻せないの?(勘違いかも)・配列をリング的に使うでした。今回みたいな小細工必要だったり、、、そろそろDBかなぁやはり。素朴な疑問あったら、気軽に、メール、掲示板に書き込んでくださいね。ASP、VBScript勉強中の三流プログラマーのKen3でした。ページフッターここまで、読んでいただきどうもです。三流君へメッセージを送る。下記のフォームからメッセージを送ることができます。気軽に書いてください(感想や質問・要望・苦情はHPで記事に載せることがあります。↓を選択してください。基本はデータの受け取りかなぁ。・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。テキストを読み出した。・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽くVBScriptでFormat関数が無いなど、微妙にVBAと違うけど[VBScript関数関係の説明]・・・少し、処理を書いてみた。[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。何かの参考となれば幸いです。バックナンバー目次]広告:。