tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル NullReferenceException?
投稿日: 2005/02/09(Wed) 15:04
投稿者さち
[OSのVer]:Windows xp   [VBのVer]:VB.NET  

じゃんぬねっとさん、たくボンさんありがとうございます。
結構調べたつもりなんですが、まだまだのようです。
配列に格納、までのコーディング中2点ほど
エラーが出てしまいます。
一つは NullReferenceExceptionで
以下のコードの sss(i) = ss のところです。

また昨日頂いたご返答に「4行まとめて読み込み」
というのがありましたがこれはどうされるのでしょうか
ReadLineを使用して1行づつというところまではできたのですが・・・
また「CSV形式に変換」に関してエクセルを使ったり
そういったソフトがあるのかと思い探しもしたのですが
たくボンさんが仰った変換方法はどれを指していたのでしょうか。
また下記コメントにもありますが毎回vbCrLfの挿入で
エラーが出てしまいこれを使用するのを避けていました。
長くなりましたがお気づきの点などございましたら教えて下さい。
よろしくお願いします。

++++++++++++++++++++++++++++++++++++++++++++++++++++

Dim found As String
            
If comboBox1.Text = "A" Then
found = "data/A.txt"
ElseIf comboBox1.Text = "B" Then
found = "data/B.txt"    
Else Exit Sub            
End If
            
Dim sr As New System.IO.StreamReader(found, System.Text.Encoding.Default)
Dim sb As New System.Text.StringBuilder(CInt(Microsoft.VisualBasic.FileSystem.FileLen(found)
* 1.1))
Dim ss As String
Dim sss() As String
Dim i As Integer = 0

'ファイルの最後までループ
Do Until sr.Peek = -1
'空白行にぶつかるまで変数ssに各行を格納
Do Until sr.ReadLine.Trim() = ""
  'ss = ss & sr.ReadLine & vbCrLf
  'としたいのですがここでもvbCrLfが宣言されてませんとのメッセージが出ます。    
  ss = ss & sr.ReadLine
Loop
sss(i) = ss
ss = ""
i += 1
Loop

sr.Close()
'ためしに6つめのデータを表示
TextBox2.Text = sss(5).ToString()
            
「オブジェクト参照がインスタンスに設定されていません。」
とのメッセージですが変数ssにはなにも入ってないのでしょうか・・・


**********************************
Arrayクラスに関して
見様見真似で使ってみたのですが
Arrayクラスの使い方自体はこれで良かったのでしょうか・・・

(中略)
Dim sr As New System.IO.StreamReader(findee, System.Text.Encoding.Default)
Dim sb As New System.Text.StringBuilder(CInt(Microsoft.VisualBasic.FileSystem.FileLen(findee) * 1.1))
Dim ss As String
Dim sss() As String
Dim i As Integer = 0
Dim myarray As Array  
'ファイルの最後までループ
Do Until sr.Peek = -1
'1行づつ読込む(文字列の連結が高速に処理される)
Do Until sr.ReadLine.Trim() = ""
'ss = ss & sr.ReadLine & vbCrLf    
ss = ss & sr.ReadLine
Loop
myarray.SetValue(ss,i)
ss = ""
i += 1
Loop

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。