したがって、年に開催されるイベントの量からフィードバックを得るYearly Summaryを作成する必要があります。これが起こるには、毎月開催されるイベントが必要です。Stream Writerを使用してファイルされた配列から年間サマリーを作成するc#
これまでのところ、私はこのような配列に数ヶ月を格納しています
public string[] sMonths = new string[12] { "01", "02", "03", "04", "05",
"06", "07", "08", "09", "10", "11", "12" };
私は、カウンターと、コンボボックスに配列を開始:
for (iCount = 0; iCount < sMonths.Length; iCount++)
{
cboMonth.Items.Add(sMonths[iCount]);
}
が続いからこの情報を取ります
sEventName = txtEvent.Text;
sVenueName = txtVenue.Text;
lstActivity.Items.Add("Dance");
lstActivity.Items.Add("Theatre");
lstActivity.Items.Add("Music");
}
//summary
private void btnExit_Click(object sender, EventArgs e)
{
DialogResult dialogResult = MessageBox.Show("Are up you sure you want to exit?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dialogResult == DialogResult.Yes)
{
Application.Exit();
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
using (StreamWriter sw = new StreamWriter("EVENTS.TXT", true))
{
sw.WriteLine(txtEvent.Text);
sw.WriteLine(txtVenue.Text);
sw.WriteLine(cboMonth.SelectedItem.ToString());
sw.WriteLine(lstActivity.SelectedItem);
if (rdoRange1.Checked == true)
{
sw.WriteLine(rdoRange1.Text);
}
else if (rdoRange2.Checked == true)
{
sw.WriteLine(rdoRange2.Text);
}
else if (rdoRange3.Checked == true)
{
sw.WriteLine(rdoRange3.Text);
}
else
{
sw.WriteLine(rdoRange4.Text);
}
sw.Close();
}
}
これを正しく実行しているかどうかわからない、または私のカウンターが混乱してしまったり、1以上のものを使う必要があるのであれば?しかし、その後、要約を作成しようとすると、何も表示されません。
private void btnSummary_Click(object sender, EventArgs e)
{
using (StreamReader sr = new StreamReader("EVENTS.TXT"))
{
for (iCount = 12; iCount < sMonths.Length; iCount++)
{
if (iCount == 12)
{
sMonths[iCount] = sr.ReadLine();
listBox1.Items.Add("You held an event every month of the year.");
}
else
{
label1.Text = " ";
listBox1.Items.Add("You cannot produce a yearly summary until you have entered an event for each month");
}
}
私はファイルから情報を読み取ろうとしますが、何も返されません。
私はこれをクラスに転送する前に、ローカル変数を使って動作させようとしています。
私のコードには多くのエラーがあるかもしれませんが、私はこれに新しいです。
ありがとうございました。ありがとうございました。
UPDATE:
私のReadFileのサンプルは次のとおりです。
jdisfhs
ddnsojds
05
Dance
0
それらのそれぞれに12件の記録があります。私は変数ごとに各値をチェックし、結果を生成する必要があります。
読み取りファイルのサンプルを投稿します。 – jdweng
@jdwengが追加されたばかりです – Lorna
毎月読んで5行、12ヶ月で12 * 5 = 60行読む必要があります。 forループは、60行を読み込むように正しく設計されていません。 – jdweng