C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: テキストファイル


(過去ログ 133 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■78706 / inTopicNo.1)  テキストファイル
  
□投稿者/ させっち (1回)-(2016/02/11(Thu) 16:17:50)

分類:[.NET 全般] 

VB.netの質問です。

フォーム上に開くボタンとテキストボックスと更新ボタンをセットします。
開くボタンを押して任意のテキストファイルを開きその内容をテキストボックスに表示し
テキストボックスに表示された内容を任意に書き換えたのち、更新ボタンを押すことにより
テキストファイルにその内容が上書きされるようなプログラムが作りたいです。

始めてまだ間もないので、任意のテキストファイルを開いて表示するところまでは
わかったのですが、修正内容をファイルに上書きする方法がわかりません。

よろしくお願いします。
引用返信 編集キー/
■78707 / inTopicNo.2)  Re[1]: テキストファイル
□投稿者/ WebSurfer (812回)-(2016/02/11(Thu) 17:17:55)
No78706 (させっち さん) に返信

> 始めてまだ間もないので、任意のテキストファイルを開いて表示するところまでは
> わかったのですが、修正内容をファイルに上書きする方法がわかりません。

ご自分でできたところまでコードを開示できないでしょうか?

それを見せて頂けると、質問者さんのスキルやどこまで理解できているか、具体的に何
をしたいのかが回答者の方によくわかって、的を得た回答がえやすいと思いますので。

その際、質問者さんの開発環境(OS, .NET, Visual Studio のバージョンなど)も書い
てください。(ホントは開発環境は質問の一番最初に書くべきなのですが)
引用返信 編集キー/
■78710 / inTopicNo.3)  Re[1]: テキストファイル
□投稿者/ kiku (79回)-(2016/02/11(Thu) 19:21:57)

下記は参考にならないでしょうか?
http://dobon.net/vb/dotnet/file/writefile.html
引用返信 編集キー/
■78761 / inTopicNo.4)  Re[2]: テキストファイル
□投稿者/ させっち (2回)-(2016/02/15(Mon) 16:38:25)
No78710 (kiku さん) に返信
>
> 下記は参考にならないでしょうか?
> http://dobon.net/vb/dotnet/file/writefile.html

任意に開いたファイルに上書きしたいので
この回答は的外れな気がします......
引用返信 編集キー/
■78762 / inTopicNo.5)  Re[2]: テキストファイル
□投稿者/ させっち (3回)-(2016/02/15(Mon) 16:59:24)
No78707 (WebSurfer さん) に返信
> ■No78706 (させっち さん) に返信
>
>>始めてまだ間もないので、任意のテキストファイルを開いて表示するところまでは
>>わかったのですが、修正内容をファイルに上書きする方法がわかりません。
>
> ご自分でできたところまでコードを開示できないでしょうか?
>
> それを見せて頂けると、質問者さんのスキルやどこまで理解できているか、具体的に何
> をしたいのかが回答者の方によくわかって、的を得た回答がえやすいと思いますので。
>
> その際、質問者さんの開発環境(OS, .NET, Visual Studio のバージョンなど)も書い
> てください。(ホントは開発環境は質問の一番最初に書くべきなのですが)


windows vb2015を使っております

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim filename As String
Dim filenumber As Integer
Dim buff As String
TextBox1.Text = ""
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
filename = OpenFileDialog1.FileName
Else
Exit Sub



End If
filenumber = FreeFile()
FileOpen(filenumber, filename, OpenMode.Input)
Do Until EOF(filenumber)
buff = LineInput(filenumber)
TextBox1.Text = TextBox1.Text & buff & vbCrLf
Loop
FileClose(filenumber)




End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

End Sub
End Class

ボタン1をおして任意のファイルを開きテキストボックス1に内容を表示します。
そのあとテキストボックスを任意に書き換えボタン3を押せばその内容が開いたファイルに上書きされるというイメージでお願いします。

引用返信 編集キー/
■78763 / inTopicNo.6)  Re[3]: テキストファイル
□投稿者/ ヴァン (17回)-(2016/02/15(Mon) 17:45:34)
こんにちは。

何故的外れなのでしょう。
ファイル名が固定だからでしょうか?
であれば、ファイル名の部分を任意に開いたファイルにすればよいのです。


No78761 (させっち さん) に返信
> ■No78710 (kiku さん) に返信
>>
>>下記は参考にならないでしょうか?
>>http://dobon.net/vb/dotnet/file/writefile.html
>
> 任意に開いたファイルに上書きしたいので
> この回答は的外れな気がします......
引用返信 編集キー/
■78765 / inTopicNo.7)  Re[3]: テキストファイル
□投稿者/ ぽぴ王子 (36回)-(2016/02/15(Mon) 17:51:45)
ぽぴ王子 さんの Web サイト
No78761 (させっち さん) に返信
> ■No78710 (kiku さん) に返信
>>
>>下記は参考にならないでしょうか?
>>http://dobon.net/vb/dotnet/file/writefile.html
>
> 任意に開いたファイルに上書きしたいので
> この回答は的外れな気がします......

質問者さんは「既存のファイルに追加で書き込む」という見出しを見て「的外れだ」と
判断されたのかと思います。
しかし、リンクされているサイトでの解説にはいろいろと重要なヒントが隠されています
ので、一蹴してしまうのはもったいない気がします。

参考になりそうなのは「ストリームを使ってテキストファイルに書き込む」
「.NET Framework 2.0以降で、ストリームを使わずに簡単に書き込む」になるかと
思いますが、特に「.NET Framework 2.0以降で、ストリームを使わずに簡単に書き込む」
のサンプルコードでは TextBox1.Text の内容を WriteAllText メソッドを使用して
ファイルに上書きしているわけで、これこそ求めている内容ではないかと思いますが
いかがでしょうか。

わからない部分について質問することは大事だと思いますが、いただいた回答について
的外れと一蹴してしまえるほど理解できているわけではないと思います。
ひとまず読んでみて「自分にはわかりませんでした。どのあたりが参考になると思われた
のか教えて下さい」ともう一度質問してみるのもアリだと思います。
自分としては「.NET Framework 2.0以降で、ストリームを使わずに簡単に書き込む」で
解決できそうだと思いますが、その部分でわからないところがあれば、繰り返し質問
してみて、わかるまで解説してもらうことは可能だと思います。

まずはコードを読んで考えるところから始めてみてください。
引用返信 編集キー/
■78766 / inTopicNo.8)  Re[3]: テキストファイル
□投稿者/ WebSurfer (822回)-(2016/02/15(Mon) 18:16:34)
No78762 (させっち さん) に返信

> windows vb2015を使っております

OS, .NET のバージョンは何ですか?


コードを拝見すると、まだほとんどできていないという感じですね。

まず、下位互換性のために Visual Basic に用意されているレガシ関数 (FileOpen、
FileClose など)を使うのは止めた方がいいと思います。

以下の記事のように、StreamReader, StreamWriterクラスを使うか、

テキスト・ファイルの内容を読み込むには?[C#、VB]
http://www.atmarkit.co.jp/ait/articles/0306/13/news003.html

ファイルにテキストを書き込むには?[C#、VB]
http://www.atmarkit.co.jp/ait/articles/0711/08/news119.html


もっと簡単にファイルの読み書きを扱える Fileクラスを利用してはいかがですか?

テキスト・ファイルの内容を簡単に読み込むには?[2.0のみ、C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/398readall/readall.html

テキスト・ファイルの内容を簡単かつ効率的に読み込むには?[4以降、C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/1009readlines/readlines.html

テキスト・ファイルの内容を簡単に書き込むには?[2.0のみ、C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/680filewriteall/filewriteall.html

この先に進む前に、上に紹介した記事を参考に、レガシ関数は使わないようにコード
を書き直すことをお勧めします。


#kiku さんが紹介された dobon.net の記事は「的外れ」(かなり失礼な言い方です
 よ)ではないはず。そこまで言うなら、具体的(あくまで具体的に)にどこがどの
 ように「的外れ」か、誰が見ても 100% そうだと分かるように書いてください。
 


引用返信 編集キー/
■78767 / inTopicNo.9)  Re[4]: テキストファイル
□投稿者/ させっち (4回)-(2016/02/15(Mon) 18:42:19)
このプログラムを利用するのは一般の人だと想定しております。
したがってテキストファイルは任意に作成されるわけです。
ゆえにこのコードだと新しく作成されたようなファイルには対応できず、既存のファイルにしか対応できないんじゃないかということです。
説明不足でした、すみません。
引用返信 編集キー/
■78768 / inTopicNo.10)  Re[5]: テキストファイル
□投稿者/ みい (45回)-(2016/02/15(Mon) 19:51:56)
No78767 (させっち さん) に返信
> このプログラムを利用するのは一般の人だと想定しております。
> したがってテキストファイルは任意に作成されるわけです。
> ゆえにこのコードだと新しく作成されたようなファイルには対応できず、既存のファイルにしか対応できないんじゃないかということです。
> 説明不足でした、すみません。

えっと、ご自分で「修正内容をファイルに上書きする」って書かれてますよね。
「上書きする」=「ファイルは既にある」って受け取られますよ。
引用返信 編集キー/
■78772 / inTopicNo.11)  Re[5]: テキストファイル
□投稿者/ WebSurfer (823回)-(2016/02/15(Mon) 23:10:56)
No78767 (させっち さん) に返信
> このプログラムを利用するのは一般の人だと想定しております。
> したがってテキストファイルは任意に作成されるわけです。
> ゆえにこのコードだと新しく作成されたようなファイルには対応できず、既存のファイルにしか対応できないんじゃないかということです。
> 説明不足でした、すみません。

依然として説明不足というかご自分でも自分がやりたいことを説明できない
ように思えます。

それはまあやむを得ないとして、その前にまずは「的外れ」というあなたの
発言を訂正しませんか?
引用返信 編集キー/
■78778 / inTopicNo.12)  Re[6]: テキストファイル
□投稿者/ せば (1回)-(2016/02/16(Tue) 13:42:47)
http://m.chiebukuro.yahoo.co.jp/detail/q11155929206
知恵袋の方へ移動したようです。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -