出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
[5492] Re:ありがとうございます、でも新たな問題が・・・ |
投稿者:Lightningさん 2005/11/28 9:44:25 |
いろいろ略 > datafile = Server.MapPath("anketo1.csv") > > Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") > Set InStream = ObjFSO.OpenTextFile(datafile, 1, False, False) > Do While InStream.AtEndOfStream <> True > pfile = InStream.ReadLine > n = CInt(Left(pfile, InStr(1, pfile, ",") - 1)) > If n >= 1 And n <= 2 Then > q(n) = q(n) + 1 > cnt = cnt + 1 > End If > Loop > InStream.Close まずは基本から。 FileSystemObjectを使う場合は Do until objTS.AtEndOfStream loop ってしたほうがわかり良い。っていうか、BooleanにTrueとかFalseを問い合わせるのはナンセンス〜 他の方もかかれていますがCSVを取り出すときは n = split(pfile, ",") でOK ただし、取り出すときには temp = objTS.ReadLine if instr(temp,",") <> 0 then temp_CSV = split(temp,",") end if みたいに区切り文字が存在することを確認しておくこと。 splitを使うとCSVのを右から順にtemp_CSV(0)と言う感じで使用できます。 > 今は、 > n = CInt(Left(pfile, InStr(1, pfile, ",") - 1)) > r = Int(q(i) / cnt * 100)・・・実行するとオーバーフローしましたと出てきます オーバーフローの直前の状態のq(i) cntの値を調べるてみてください。 予想外の値が入ってませんか?cnt=0とかってこれじゃ0除算エラーか |
![]() ![]() |
![]() ![]() ![]() ![]() ![]() |
TreeBBS For ASP V.0.1.3 |