Reputation: 15
Totally new to this. Depending on which event button I click I need to write to the appropriate text file. However, the input data writes to the same text file. How do I specify the appropriate text file it writes to and is saved.
The coding, identical apart from the name of the text file, I'm currently using is:
private void btnItemAdd_Click(object sender, EventArgs e)
{
string sItem;
string sNumber;
if (rdoDrinks.Checked == false && rdoConfectionary.Checked == false)
{
//Message to remind user to select category
MessageBox.Show("Please select a category");
txtItem.Focus();
}
{
{
if ((rdoDrinks.Checked == true) && (txtItem.Text != "") && (txtItemNumber.Text == ""))
//Message to remind user to enter a number
MessageBox.Show("Please input a number");
txtItemNumber.Focus();
if ((txtItem.Text != "") && (txtItemNumber.Text != ""))
{
//add Item to end of list
lstItems.Items.Add(string.Format("{0, -15} {1, -20}", txtItem.Text, txtItemNumber.Text));
txtCount.Text = lstItems.Items.Count.ToString();
//set focus to the text box
txtItem.Focus();
StreamWriter sw = File.AppendText("Drinks.txt");
{
sItem = txtItem.Text;
sw.WriteLine(sItem);
sNumber = txtItemNumber.Text;
sw.WriteLine(sNumber);
}
MessageBox.Show("Details have been saved");
txtItem.Clear();
txtItemNumber.Clear();
sw.Close();
}
else if ((rdoConfectionary.Checked == true) && (txtItem.Text != "") && (txtItemNumber.Text == ""))
//Message to remind user to enter a number
MessageBox.Show("Please input a number");
txtItemNumber.Focus();
if ((txtItem.Text != "") && (txtItemNumber.Text != ""))
{
//add Item to end of list
lstItems.Items.Add(string.Format("{0, -15} {1, -20}", txtItem.Text, txtItemNumber.Text));
txtCount.Text = lstItems.Items.Count.ToString();
//set focus to the text box
txtItem.Focus();
StreamWriter sw = File.AppendText("Confectionary.txt");
{
sItem = txtItem.Text;
sw.WriteLine(sItem);
sNumber = txtItemNumber.Text;
sw.WriteLine(sNumber);
}
MessageBox.Show("Details have been saved");
txtItem.Clear();
txtItemNumber.Clear();
sw.Close();
}
}
}
}
Upvotes: 0
Views: 110
Reputation: 157136
You have several issues:
You are missing an else after the first if
.
The code below can never end up being true
.
The two if
statement collide (the txtItemNumber.Text
comparison is the problem). Hence you will never end up writing to Drinks.txt:
if ((rdoDrinks.Checked == true) && (txtItem.Text != "") && (txtItemNumber.Text == ""))
...
if ((txtItem.Text != "") && (txtItemNumber.Text != ""))
Upvotes: 1