Российская международная академия туризма
Опубликован: 09.09.2008 | Доступ: свободный | Студентов: 811 / 38 | Оценка: 4.33 / 4.33 | Длительность: 13:07:00
Темы: Базы данных, Программирование
Специальности: Администратор баз данных
Теги:
Лекция 9:
Добавление-удаление записей
Шаг 9. А теперь из выборки отбираем товар в корзину щелчком мыши
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e) {//Выбираем строки из листбокса 1 s_new=listBox1.SelectedItem.ToString(); listBox2.Items.Add(s_new); this.textBox6.Text=s_new; this.tabControl1.SelectedIndex=2; // смотрим корзинку edit_row(); // вызываем функцию подсчета стоимости товара в корзинке } // хотя этой функции пока нет - напишем.
Шаг 10. Создаем функцию подсчета стоимости товара в корзине
// заполняем поля редактора и считаем корзину покупателя private void edit_row() { // вычисляем длину выбранной строки из листбокса int i_len=s_new.Length; string s_goods=s_new.Substring(0,L_goods); string s_firma=s_new.Substring(L_goods+1,L_firma-1); string s_unit=s_new.Substring(L_goods+L_firma+1,L_unit-1); string s_price=s_new.Substring(L_goods + L_firma + L_unit + 1, i_len-(L_goods + L_firma + L_unit+1)); // преобразуем текст в сумму и считаем сумму выборки i_sum=float.Parse(s_price)+i_sum; textBox1.Text=i_sum.ToString(); textBox2.Text=s_goods; textBox3.Text=s_firma; textBox4.Text=s_unit; textBox5.Text=s_price; }
Шаг 11. Создаем процедуру удаления записи из корзины по щелчку мыши
private void listBox2_SelectedIndexChanged_1 (object sender, System.EventArgs e) { if (listBox2.SelectedItem != null) { // вычисляем длину выбранной строки из листбокса int i_len=listBox2.SelectedItem.ToString().Length; string s_pay = listBox2.SelectedItem.ToString().Substring (L_goods + L_firma + L_unit+1, i_len-(L_goods+L_firma+L_unit+1)); // преобразуем текст в сумму и считаем сумму выборки i_sum=float.Parse(textBox1.Text)-float.Parse(s_pay); textBox1.Text=i_sum.ToString(); // удаляем строки из listbox2 listBox2.Items.Remove(listBox2.SelectedItem.ToString()); } }
Шаг 12. Создаем процедуру вызова формы диалога удаления записи
Для кнопки "Удалить" в закладке "Редактор" пишем:
private void button3_Click(object sender, System.EventArgs e) { ss=this.textBox6.Text; if (ss = = "") { MessageBox.Show("Нет записи для удаления!","Ошибка"); return;} //Создаем место в памяти для объекта Форма2 Form Form_Del=new Form2(); // позиционируем форму 2 в форме 1 Form_Del.Parent=this.Parent; // Вызываем как модальную форму Form_Del.ShowDialog(); }
Шаг 13. В текстовое поле Form2 переносим значение выбранной для удаления записи
public Form2() { InitializeComponent(); this.textBox1.Text=Form1.ss; }
Шаг 14. Если в Form2 удалять запись раздумали
//Для кнопки "Нет" в форме 2 пишем: private void button2_Click(object sender, System.EventArgs e) { this.Close(); }
Шаг 15. Если в Form2 запись решили удалить
// Для кнопки "Да" в форме 2 пишем: private void button1_Click(object sender, System.EventArgs e) { this.label2.Visible=true; //Считываем значения из файла в листбокс 1 // Тестируем наличие файла с данными о ценах FileStream fin; try { fin=new FileStream("Товары.txt",FileMode.Open); } catch(IOException exc) { MessageBox.Show ("Невозможно открыть файл.","Ошибка"); return;} // Считываем значения из файла string s; StreamReader fstr_in=new StreamReader(fin); while((s=fstr_in.ReadLine())!=null) { listBox1.Items.Add(s); progressBar2.Value=progressBar2.Value+1; } fstr_in.Close(); progressBar2.Value=0; this.label2.Visible=false; this.label3.Visible=true; // Стираем все в файле StreamWriter fin_out; try { fin_out=new StreamWriter("Товары.txt", false); } catch(IOException exc) { MessageBox.Show ("Невозможно открыть файл.","Ошибка"); return;} fin_out.Write(""); fin_out.Close(); //переписываем файл try { fin_out=new StreamWriter("Товары.txt", true); } catch(IOException exc) { MessageBox.Show ("Невозможно открыть файл.","Ошибка"); return;} if (listBox1.Items.Count!=0) { string s_sym=this.textBox1.Text; string s_name; for(int i=0; i<listBox1.Items.Count;i++) { s_name=listBox1.Items[i].ToString(); progressBar2.Value=progressBar2.Value+1; if (s_sym!=s_name) { fin_out.Write(s_name+"\r\n"); } } fin_out.Close(); this.Close(); } }
Шаг 16. Последний штрих – о программе
Для опции главного меню формы 1 пишем:
private void menuItem1Click(object sender, System.EventArgs e) { MessageBox.Show("Калькулятор потребительской корзины в универсаме,"+ " чтобы не ошибиться на кассе и удачно выбрать товар по соотношению"+ " цена/качество.\n"+ "!!! Рекомендую копию базы Товары.txt хранить и на ПК, и на FlashDisk.\n"+ "Платформа C#.Net FrameWork v1.1 (C)Родигин Л.А. 02-2006", "О программе"); }