Indexing Sectuion
Indexing Sectuion
{
public partial class Form1 : Form
{
FileStream fs;
StreamWriter sw;
StreamReader sr;
StreamWriter isw;
StreamReader isr;
SortedDictionary<int, int> dic = new SortedDictionary<int,
int>();
//OPEN BUTTON
private void button1_Click(object sender, EventArgs e)
{
fs = new FileStream("test.txt", FileMode.OpenOrCreate,
FileAccess.ReadWrite);
sw = new StreamWriter(fs);
sr = new StreamReader(fs);
MessageBox.Show("Opened");
button2.Enabled = true;
}
//READ BUTTON
private void button4_Click(object sender, EventArgs e)
{
string line;
if ((line = sr.ReadLine()) != null)
{
string[] fields = line.Split('|');
textBox2.Text = fields[0];
textBox3.Text = fields[1];
textBox4.Text = fields[2];
}
else
fs.Seek(0, SeekOrigin.Begin);
}
//SEARCH BUTTON
private void button5_Click(object sender, EventArgs e)
{
sr.DiscardBufferedData();
int[] arr = dic.Keys.ToArray();
if (BST(arr, int.Parse(textBox2.Text)))
{
int l = dic[int.Parse(textBox2.Text)];
fs.Seek(l, SeekOrigin.Begin);
string line = sr.ReadLine();
string[] fields = line.Split('|');
textBox3.Text = fields[1];
textBox4.Text = fields[2];
MessageBox.Show("Found");
return;
}
MessageBox.Show("Not Found");
}
//DELETE BUTTON
private void button6_Click(object sender, EventArgs e)
{
sr.DiscardBufferedData();
int[] arr = dic.Keys.ToArray();
if (BST(arr, int.Parse(textBox2.Text)))
{
int l = dic[int.Parse(textBox2.Text)];
fs.Seek(l, SeekOrigin.Begin);
sw.Write("*");
sw.Flush();
dic.Remove(int.Parse(textBox2.Text));
MessageBox.Show("Deleted");
return;
}
MessageBox.Show("Not Found");
}
//REWRITE BUTTON
private void button7_Click(object sender, EventArgs e)
{
isw = new StreamWriter("index.txt");
foreach (KeyValuePair<int,int> item in dic)
{
isw.WriteLine(item.Key + "|" + item.Value);
isw.Flush();
}
isw.Close();
}
//CLEAR BUTTON
private void button8_Click(object sender, EventArgs e)
{
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
//CLOSE BUTTON
private void button9_Click(object sender, EventArgs e)
{
sw.Close();
fs.Close();
MessageBox.Show("Closed");
button2.Enabled = false;
button3.Enabled = false;
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
button7.Enabled = false;
button8.Enabled = false;
button9.Enabled = false;
button1.Enabled = true;
}
}
}