Ликероводочный завод
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
доступный только на чтение, то будет получено такое сообщение, рисунок 16:
Рисунок 16 - Попытка сохранить в файл, доступный только на чтение
5. ТЕСТИРОВАНИЕ
Для тестирования программы производились различные манипуляции с данными.
Проводились следующие тесты:
- ввод неверных значений;
открытие некорректного XML-файла;
запись в защищенный от записи файл;
доступ к несуществующим элементам списка;
другие операции в хаотическом порядке, призванные выявить ошибки в программе.
Тестирование выявило мелкие недочеты, которые в последствии были устранены.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.Э. Троелсен. С# и платформа .NET. Библиотека программиста. - СПб.: Питер, 2004. -796 с.: ил.
2.Е.А. Жоголев. Технология программирования - М., Научный мир, 2004, 216 с
3.Т. А. Павловская. С#. Программирование на языке высокого уровня. Учебник для вузов - СПб.: Питер, 2007. - 432 с.
4.Microsoft Developer Network(MSDN). [Электронный ресурс]. - Режим доступа: msdn.microsoft.com, свободный.
5.СТО 01.04 - 2005. Работы студентов. Общие требования и правила оформления. - введ. 2005 - 04 - 01. - Архангельск: Изд-во Арханг. гос. техн. ун-та, 2005.
ПРИЛОЖЕНИЕ А. ЛИСТИНГ ПРОГРАММЫ
(обязательное)
Главная форма: System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;Classes;System.IO;System.Xml;System.Xml.Serialization;System.Text.RegularExpressions;LVZ
{IRemove
{Remove();
}partial class Form1 : Form, IRemove
{sv = null;class SaveOpen
{
#region Метод LoadXML - загрузка данных из файла
/// Статичный метод для считывания данных из XML-файла. Возвращает ListDelos
///
///
///
/// static ListLVZ LoadXML(string filename, ListLVZ listlvz)
{Serializer = new XmlSerializer(typeof(ListLVZ));
{(StreamReader reader = new StreamReader(filename))
{= (ListLVZ)Serializer.Deserialize(reader);
}
}(FileNotFoundException)
" + \n + @"";(StreamWriter writer = new StreamWriter(filename))
{.Write(newXML);
}
}listlvz;
}
#endregion
///
/// Статичный метод для сохранения данных в XML-файл.
///
///
///
#region Save - сохранение экземляра класса Delo в файлstatic void Save(ListLVZ listlvz, string filename)
{sr = new XmlSerializer(listlvz.GetType());sb = new StringBuilder();SW = new StreamWriter(filename);.Serialize(SW, listlvz);.Close();
}
#endregion
}class ListLVZ
{List();
}ListLVZ l = new ListLVZ();Form1()
{();
}void butWork_Click(object sender, EventArgs e)
{wr = new Workers();.famil = Famil.Text;.name = Imya.Text;.otche = Otche.Text;.dolgn = Dolg.Text;.telef = Telef.Text;.Zarplata = Zarpl.Text;.AllWork.Add(wr);.Rows.Clear();(int i = 0; i < l.AllWork.Count; i++)
{.Rows.Add();[0, i].Value = l.AllWork[i].famil;[1, i].Value = l.AllWork[i].name;[2, i].Value = l.AllWork[i].otche;[3, i].Value = l.AllWork[i].dolgn;[4, i].Value = l.AllWork[i].telef;[5, i].Value = l.AllWork[i].Zarplata;
}
}void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
{(saveFileDialog1.ShowDialog() == DialogResult.OK)
{
{.Save(l, saveFileDialog1.FileName);.Show("Файл сохранен");
}(UnauthorizedAccessException)
{.Show("Невозможно сохранить файл: доступ закрыт");
}
}
}void открытьToolStripMenuItem_Click(object sender, EventArgs e)
{((openFileDialog1.ShowDialog() == DialogResult.OK))
{
{= SaveOpen.LoadXML(openFileDialog1.FileName, l);= openFileDialog1.FileName;
}(InvalidOperationException)
{.Show("Невозможно прочитать данные из этого XML-файла");
}
}s = openFileDialog1.FileName;
}void показатьToolStripMenuItem_Click(object sender, EventArgs e)
{.Items.Clear();.Items.Clear();.Rows.Clear();.Rows.Clear();.Rows.Clear();.Rows.Clear();(int i = 0; i < l.AllClient.Count; i++)
{s = (l.AllClient[i].famil + " " + l.AllClient[i].name + " " + l.AllClient[i].otche);.Items.Add(s);
}(int i = 0; i < l.AllProduct.Count; i++)
{s = (l.AllProduct[i].name + "(" + l.AllProduct[i].clas + ")");.Items.Add(s);
}(int i = 0; i < l.AllWork.Count; i++)
{.Rows.Add();[0, i].Value = l.AllWork[i].famil;[1, i].Value = l.AllWork[i].name;[2, i].Value = l.AllWork[i].otche;[3, i].Value = l.AllWork[i].dolgn;[4, i].Value = l.AllWork[i].telef;[5, i].Value = l.AllWork[i].Zarplata;
}(int i = 0; i < l.AllClient.Count; i++)
{.Rows.Add();[0, i].Value = l.AllClient[i].famil;[1, i].Value = l.AllClient[i].name;[2, i].Value = l.AllClient[i].otche;[3, i].Value = l.AllClient[i].dolgn;[4, i].Value = l.AllClient[i].telef;[5, i].Value = l.AllClient[i].predrp;[6, i].Value = l.AllClient[i].adress;
}(int i = 0; i < l.AllProduct.Count; i++)
{.Rows.Add();[0, i].Value = l.AllProduct[i].name;[1, i].Value = l.AllProduct[i].clas;[2, i].Value = l.AllProduct[i].kolproiz;[3, i].Value = l.AllProduct[i].kolskl;[4, i].Value = l.AllProduct[i].price;
}(int i = 0; i < l.AllOrders.Count; i++)
{.Rows.Add();[0, i].Value = l.AllOrders[i].namecl;[1, i].Value = l.AllOrders[i].nameprod;[2, i].Value = l.AllOrders[i].adresscl;[3, i].Value = l.AllOrders[i].kolzak;[4, i].Value = l.AllOrders[i].symm;
}
}void butClients_Click(object sender, EventArgs e)
{cl = new Clients();.famil = textBox1.Text;.name = textBox2.Text;.otche = textBox3.Text;.dolgn = textBox4.Text;.telef = textBox5.Text;.predrp = textBox6.Text;.adress = textBox7.Text;.AllClient.Add(cl);.Rows.Clear();(int i = 0; i < l.AllClient.Count; i++)
{.Rows.Add();[0, i].Value = l.AllClient[i].famil;[1, i].Value = l.AllClient[i].name;[2, i].Value = l.AllClient[i].otche;[3, i].Value = l.AllClient[i].dolgn;[4, i].Value = l.AllClient[i].telef;[5, i].Value = l.AllClient[i].predrp;[6, i].Value = l.AllClient[i].adress;
}
}void butProd_Click(object sender, EventArgs e)
{pr = new Product();.name = prName.Text;.clas = prClass.Text;.kolproiz = prKolProi.Text;.kolskl = prKolSkl.Text;.price = prPrice.Text;.AllProduct.Add(pr);.Rows.Clear();(int i = 0; i < l.AllProduct.Count; i++)
{.Rows.Add();[0,i].Value = l.AllProduct[i].name;[1,i].Value = l.AllProduct[i].clas;[2,i].Value = l.AllProduct[i].kolproiz;[3,i].Value = l.AllProduct[i].kolskl;[4, i].Value = l.AllProduct[i].price;
}
}void butOrders_Click(object sender, EventArgs e)
{or = new Orders();.namecl = orNameCl.Text;.nameprod = orNamePr.Text;.adresscl = orAdressCl.Text;.kolzak = orKolZak.Text;.symm = orSymm.Text;.AllOrders.Add(or);.Rows.Clear();(int i = 0; i < l.AllOrders.Count; i++)
{.Rows.Add();[0,i].Value = l.AllOrders[i].namecl;[1,i].Value = l.AllOrders[i].nameprod;[2,i].Value = l.AllOrders[i].adresscl;[3,i].Value = l.AllOrders[i].kolza