
目次
前回のおさらい
前回はイベント処理とパネルコントロールについてご紹介しました。
今回は実際に入力したデータを保存する処理をご紹介します。
保存処理
保存した旨のメッセージだけではなく、実際に保存する処理を実装します。
下記のコードの 「StatusText.Text = “保存しました”; 」部分を二つ目のコードの内容に変更します。
<code>private void SaveButton_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("保存しますか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { StatusText.Text = "保存しました"; }</code>
下記のコードに変更
<code>using (var sw = new System.IO.StreamWriter("save.txt", true, System.Text.Encoding.GetEncoding("shift_jis"))) { sw.Write("書きました"); }</code>
変更後に実行し、登録画面で「保存」をクリックすると下の画像のように「書きました」と書かれたテキストファイルが保存されました。
こちらは追加したコードにて「save.txt」に「書きました」という文字を保存する処理を行っています。
最後に文字コードを引数にしています。
文字コードはファイルを書くときにどのような形態で書くかの約束事です。
書く側と読む側で一致していないと正しく読むことができません。
通常日本語と英語しか扱わない場合はShift-jisで問題ないです。

「sw.Write(“書きました”);」の部分で実際にファイルへ書き込んでいます。
この状態で保存を行うとsave.txtファイルに「書きました」と保存されます。
save.txtファイルは下記のフォルダーに生成されました。
【プログラムのあるフォルダー】\bin\Debug
実際の値保存処理
ファイルへの書き込みが確認できたので、実際の値を保存する処理に書き換えます。
<code>using (var sw = new System.IO.StreamWriter("save.csv", true, System.Text.Encoding.GetEncoding("shift_jis"))) { sw.Write(IdTextBox.Text + ","); sw.Write(MailCheckBox.Checked + ","); sw.Write(MailAdressTextBox.Text + ","); if (MenRadioButton.Checked) { sw.Write("男性" + ","); } else { sw.Write("女性" + ","); } sw.Write(EnableComboBox.Text); sw.WriteLine(""); }</code>
画面の項目を「,」カンマ区切りで繋げて1行分のデータにしています。
カンマ区切りのcsv形式で保存しているため、ファイルの拡張子を「.txt」から「.csv」に変更しています。


上記の2ユーザーを実際に登録してみると「save.csv」という名前のcsvファイルが作成されます。
ファイルを開いてみると…
下の画像のようにcsv形式で値が出力されているのが分かります。

まとめ
今回は登録画面で登録したデータをcsv形式でファイル出力する部分を行いました。
次回はデータの一覧表示をする部分と画面遷移について紹介します。