環境はVB.net2003です。
URLをダウンロード後テキストファイルに書き込む前に
すでにそのURLがテキストファイルに書き込まれてるとダブるので
チェック機能を作ろうとしてます。
現時点であるURLをReadToEndで読み込んで一度リッチテキストに表示しようとしたら、一瞬だけひょうじされてすぐに消えます。
ためしにfsw.WriteLineを「’」で消して動かしてもだめでした。
一応ビルドはできます。
初心者の質問ですがよろしくお願いします。
’urllist.txtにはすでに5個リストがある
Dim fsk As FileStream = New FileStream("c:\urllist.txt", FileMode.OpenOrCreate)
Dim fsr As StreamReader = New StreamReader(fsk)
Dim fsw As StreamWriter = New StreamWriter(fsk)
Dim fsrr As String = fsr.ReadToEnd()
RichTextBox1.Text = fsrr ’ここの時点でおかしい
If -1 = fsrr.IndexOf(url) Then
fsw.WriteLine(url)
End If
・
・
・
fsw.close()
fsr.close()
>一瞬だけひょうじされてすぐに消えます。
提示されたコードでは判断できませんが、そのようなコードになっているのでしょう。
問題の部分にブレークポイントを設定して、ステップで実行すれば、どこでRichTextBox1.Textが
書き換わっているかはすぐわかると思いますが。
>現時点であるURLをReadToEndで読み込んで一度リッチテキストに表示しようとしたら、一瞬だけひょうじされてすぐに消えます。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200510/05100020.txt
↑の続きの話なら、ループして長さ0の文字列で上書きしてる可能性が一番高いです。
> Dim fsrr As String = fsr.ReadToEnd()
> RichTextBox1.Text = fsrr ’ここの時点でおかしい
> fsw.Close()
> fsr.Close()
このコードのみでは、そのような現象は起きません。
Text プロパティに書き込んだ文字列は、上書きされるか、
プログラム終了まで変化しません。
もしくは RichTextBox の文字列に追加して書き込みたいという事ですか?
RichTextBox1.Text = RichTextBox1.Text & fsrr
レス遅くなってすいません。
前回、For〜Next内での宣言でうまく動作しなかったんで気をつけてたんですが、今度は他のループに入ってました。
おさわがせしました。
ステップ実行は知らなかったので勉強になりました。
次から困ったときは、F5押すだけじゃなく他の操作もやってみます。
ツイート | ![]() |