間違った用語を使用している場合は事前にお詫び申し上げます。
リストボックスに4つのテキストフィールドを追加し、リストボックスの1つのレコードの一部またはすべてのフィールドを編集し、4つのフィールドすべてを削除する(単一のレコードで)という3つのことを行うC#でプログラムを作成しようとしています。
データをテキストファイル「test1.txt」に保存し、StreamWriter を使用してファイルを書き込み、StreamReader を使用して読み取ります。レコードを追加することはできましたが、レコードを削除または編集することはできません。これは私のコードがどのように見えるかです:
string path = "test1.txt";
int index = -1;
public Form1()
{InitializeComponent();}
private void Form1_Load(object sender, EventArgs e)
{
readFile();
}
private void readFile()
{
displayEventsBox.Items.Clear();
StreamReader sr = new StreamReader(path);
string record = sr.ReadLine();
{
displayEventsBox.Items.Add(record);
record = sr.ReadLine();
}
sr.Close();
}
private void displayEventsBox_SelectedIndexChanged(object sender, EventArgs e)
{
index = displayEventsBox.SelectedIndex;
if (index > -1)
{
string record = displayEventsBox.Items[index].ToString();
char[] delim = { ',' };
string[] tokens = record.Split(delim);
txtTaskName.Text = tokens[0];
txtTaskDescription.Text = tokens[1];
txtDateCreated.Text = tokens[2];
txtDateCompleted.Text = tokens[3];
}
}
private void butAddTask_Click(object sender, EventArgs e)
{
StreamWriter sw = new StreamWriter(path, true);
sw.WriteLine(txtTaskName.Text + "," + txtTaskDescription.Text + "," + txtDateCreated.Text + "," + txtDateCompleted.Text);
sw.Close();
readFile();
clearText();}
private void butEditTask_Click(object sender, EventArgs e)
{
File.Delete(path);
StreamWriter sw = new StreamWriter(path, true);
for (int i = 0; i < displayEventsBox.Items.Count; i++)
{
if (i != index)
{
sw.WriteLine(displayEventsBox.Items[i].ToString());
}
else
{
sw.WriteLine(txtTaskName.Text + "," + txtTaskDescription.Text + "," + txtDateCreated.Text + "," + txtDateCompleted.Text);
}
}
}
private void butDeleteTask_Click(object sender, EventArgs e)
{
File.Delete(path);
StreamWriter sw = new StreamWriter(path, true);
for (int i = 0; i < displayEventsBox.Items.Count; i++)
{
if (i != index)// write from listbox
{
sw.WriteLine(displayEventsBox.Items[i].ToString());
}
}
sw.Close();
readFile();
}
誰かがレコードを削除または更新できない理由を特定するのを手伝ってくれませんか
ここで明確にするのに役立つ場合は、コード内のすべてへのリンク http://collabedit.com/83rev