Объектно-ориентированное программирование системы
Общие сведения
Программа называется «Organizer» и её исполняемым файлом является Organizer.exe. Программа написана на языке программирования высокого уровня C# в среде визуального программирования Microsoft Visual Studio 2005. Текст программы содержится в файлах addNoteDialog.cs, mainMenu.cs, myCalc.cs, myCalendar.cs, myNotebook.cs, а также в приложении А.
Программа совместима с ОС Windows 9x\ME\2000\NT\XP\7.
Сведения о надежности
Было обеспечено надежное (устойчивое) функционирование программы. А именно была обеспечена бесперебойная работа программы, а так же был реализован вывод информационных сообщений, если обнаруживаются некорректные действия пользователя при взаимодействии с программным продуктом.
4 Методика и результаты испытаний
4.1 Объект испытания
Объектом испытаний является разработанное приложение «Органайзер». Для его испытания используется файл Organizer.exe.
4.2 Цель испытаний
Испытания проводятся с целью проверки правильности выполнения программой ее функций. Все возможности, которые должна реализовывать система, представлены в виде диаграммы вариантов использования.
4.3 Порядок проверки программы
Для проверки программного продукта необходимо запустить программу "Органайзер" из среды Microsoft Visual Studio 2005 (или выполнить файл Organizer.exe) и проверить выполнение всех функций.
Для работы с календарем, необходимо нажать на кнопку «Календарь» (см. Рисунок Б. 1). В ответ на это, программа откроет календарь в отдельном окне.
|
|
Для перехода на дату необходимо задать её в поля для ввода числа, месяца и года и нажать на кнопку «Перейти к дате» (см. Рисунок Б. 2). Произойдет переход на заданную пользователем дату. После чего необходимо перейти в окно органайзера.
Для работы с калькулятором, необходимо нажать на кнопку «Калькулятор» (см. Рисунок Б. 1). В ответ на это, программа откроет калькулятор в отдельном окне (см. Рисунок Б. 3).
Для проверки правильности вычислений необходимо задать первый операнд, задать арифметическую операцию, задать второй операнд и нажать на клавишу «=». Результат вычислений выведется в строку ввода, а выражение в строку вывода (см. Рисунок Б. 4). После чего необходимо перейти в окно органайзера.
Для работы с записной книжкой необходимо нажать на кнопку «Записная книжка» (см. Рисунок Б. 1). В ответ на это, программа откроет записную книжку в отдельном окне (см. Рисунок Б. 5).
Для проверки просмотра текста записи необходимо выделить заголовок нужной записи. Текст сохраненной записи занесется в редактор текста (см. Рисунок Б. 6).
Для удаления записи необходимо выделить заголовок записи (см. Рисунок Б. 7) для удаления и нажать кнопку «Удалить запись». После чего выбранная запись будет удалена (см. Рисунок Б. 8).
|
|
Для добавления записи необходимо нажать кнопку «Добавить запись». Откроется диалоговое окно, в строку ввода необходимо ввести название добавляемой записи (это название должно быть уникальным для каждой имеющейся записи) и нажать кнопку «Готово» (см. Рисунок Б. 9). После нажатия введенное название записи будет давлено в список заголовков (см. Рисунок Б. 10).
Для выхода с сохранением изменений необходимо нажать кнопку «Сохранить изменения и выйти». Имеющиеся записи сохранятся в файл «notes.txt» в директорию, где расположен исполняемый файл Organizer.exe (см. Рисунок Б. 11).
4.4 Результаты тестирования программы
Проведенные испытания показали, что требуемые функции программа выполняет.
Заключение
В результате, было разработано приложение «Органайзер». Этот программный позволяет организовывать и планировать деловую жизнь, объединяя в себе функции записной книжки, календаря и микрокалькулятора. Проведенные испытания программы, показали её работоспособность и соответствие функциональным требованиям. Оформлена документация на разработанное программное обеспечение.
Список использованных источников
|
|
1. Зиборов В. В. Visual C# 2010 на примерах. – СПб.: БХВ-Петербург, 2011. – 432 с.: ил. + CD-ROM.
2. Уотсон, Карли, Нейгел, Кристиан, Педерсен, Якоб Хаммер, Рид, Джон Д., Скиннер, Морган, Уб5 Visual C# 2010: полный курс.: Пер. с англ. – М.: ООО «И.Д. Вильямс», 2011. – 960 с.: ил. – Парал. тит. Англ.
3. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. – СПб.: Питер, 2002. – 496 с.
ТЕКСТ ПРОГРАММЫ
Приложение А
(обязательное)
----------------------------------------------------------------------------------
Класс mainMenu
----------------------------------------------------------------------------------
using System;
using System.Windows.Forms;
namespace Organizer
{
public class mainMenu : System.Windows.Forms.Form
{
private Button btn_Calc;
private Button btn_Calendar;
private Button btn_Notebook;
public mainMenu()
{
InitializeComponent();
}
public static myCalendar TheCalendar = null;
public static myNotebook TheNotebook = null;
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.btn_Calc = new System.Windows.Forms.Button();
this.btn_Calendar = new System.Windows.Forms.Button();
this.btn_Notebook = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// btn_Calc
//
this.btn_Calc.Location = new System.Drawing.Point(12, 12);
this.btn_Calc.Name = "btn_Calc";
this.btn_Calc.Size = new System.Drawing.Size(102, 30);
this.btn_Calc.TabIndex = 0;
|
|
this.btn_Calc.Text = "Калькулятор";
this.btn_Calc.UseVisualStyleBackColor = true;
this.btn_Calc.Click += new System.EventHandler(this.btn_Calc_Click);
//
// btn_Calendar
//
this.btn_Calendar.Location = new System.Drawing.Point(120, 12);
this.btn_Calendar.Name = "btn_Calendar";
this.btn_Calendar.Size = new System.Drawing.Size(102, 30);
this.btn_Calendar.TabIndex = 1;
this.btn_Calendar.Text = "Календарь";
this.btn_Calendar.UseVisualStyleBackColor = true;
this.btn_Calendar.Click += new System.EventHandler(this.btn_Calendar_Click);
//
// btn_Notebook
//
this.btn_Notebook.Location = new System.Drawing.Point(12, 48);
this.btn_Notebook.Name = "btn_Notebook";
this.btn_Notebook.Size = new System.Drawing.Size(210, 30);
this.btn_Notebook.TabIndex = 2;
this.btn_Notebook.Text = "Записная книжка";
this.btn_Notebook.UseVisualStyleBackColor = true;
this.btn_Notebook.Click += new System.EventHandler(this.btn_Notebook_Click);
//
// mainMenu
//
this.ClientSize = new System.Drawing.Size(230, 86);
this.Controls.Add(this.btn_Notebook);
this.Controls.Add(this.btn_Calendar);
this.Controls.Add(this.btn_Calc);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.MaximizeBox = false;
this.Name = "mainMenu";
this.Text = "Органайзер 1.0";
this.ResumeLayout(false);
}
#endregion
[STAThread]
static void Main()
{
Application.Run(new mainMenu());
}
private void btn_Calc_Click(object sender, EventArgs e)
{
myCalc TheCalc = new myCalc();
TheCalc.Show();
}
private void btn_Calendar_Click(object sender, EventArgs e)
{
if (TheCalendar == null)
{
TheCalendar = new myCalendar();
TheCalendar.Show();
}
else
{
TheCalendar.WindowState = FormWindowState.Normal;
TheCalendar.Activate();
}
}
private void btn_Notebook_Click(object sender, EventArgs e)
{
if (TheNotebook == null)
{
TheNotebook = new myNotebook();
TheNotebook.Show();
}
else
{
TheNotebook.WindowState = FormWindowState.Normal;
TheNotebook.Activate();
}
}
}
}
----------------------------------------------------------------------------------
Класс myCalc
----------------------------------------------------------------------------------
using System;
using System.Windows.Forms;
namespace Organizer
{
public class myCalc : System.Windows.Forms.Form
{
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btn1 = new System.Windows.Forms.Button();
this.btn2 = new System.Windows.Forms.Button();
this.btn3 = new System.Windows.Forms.Button();
this.btn4 = new System.Windows.Forms.Button();
this.btn5 = new System.Windows.Forms.Button();
this.btn6 = new System.Windows.Forms.Button();
this.btn7 = new System.Windows.Forms.Button();
this.btn8 = new System.Windows.Forms.Button();
this.btn9 = new System.Windows.Forms.Button();
this.btn0 = new System.Windows.Forms.Button();
this.btnChangeSign = new System.Windows.Forms.Button();
this.btnPoint = new System.Windows.Forms.Button();
this.btn_delenie = new System.Windows.Forms.Button();
this.btn_umnojenie = new System.Windows.Forms.Button();
this.btn_minus = new System.Windows.Forms.Button();
this.btn_plus = new System.Windows.Forms.Button();
this.btn_ravno = new System.Windows.Forms.Button();
this.btn_sbros = new System.Windows.Forms.Button();
this.txtOutput = new System.Windows.Forms.TextBox();
this.txtInput = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// btn1
//
this.btn1.Location = new System.Drawing.Point(19, 162);
this.btn1.Name = "btn1";
this.btn1.Size = new System.Drawing.Size(40, 40);
this.btn1.TabIndex = 0;
this.btn1.Tag = "1";
this.btn1.Text = "1";
this.btn1.UseVisualStyleBackColor = true;
this.btn1.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn2
//
this.btn2.Location = new System.Drawing.Point(65, 162);
this.btn2.Name = "btn2";
this.btn2.Size = new System.Drawing.Size(40, 40);
this.btn2.TabIndex = 1;
this.btn2.Tag = "2";
this.btn2.Text = "2";
this.btn2.UseVisualStyleBackColor = true;
this.btn2.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn3
//
this.btn3.Location = new System.Drawing.Point(111, 162);
this.btn3.Name = "btn3";
this.btn3.Size = new System.Drawing.Size(40, 40);
this.btn3.TabIndex = 2;
this.btn3.Tag = "3";
this.btn3.Text = "3";
this.btn3.UseVisualStyleBackColor = true;
this.btn3.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn4
//
this.btn4.Location = new System.Drawing.Point(19, 116);
this.btn4.Name = "btn4";
this.btn4.Size = new System.Drawing.Size(40, 40);
this.btn4.TabIndex = 3;
this.btn4.Tag = "4";
this.btn4.Text = "4";
this.btn4.UseVisualStyleBackColor = true;
this.btn4.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn5
//
this.btn5.Location = new System.Drawing.Point(65, 116);
this.btn5.Name = "btn5";
this.btn5.Size = new System.Drawing.Size(40, 40);
this.btn5.TabIndex = 4;
this.btn5.Tag = "5";
this.btn5.Text = "5";
this.btn5.UseVisualStyleBackColor = true;
this.btn5.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn6
//
this.btn6.Location = new System.Drawing.Point(111, 116);
this.btn6.Name = "btn6";
this.btn6.Size = new System.Drawing.Size(40, 40);
this.btn6.TabIndex = 5;
this.btn6.Tag = "6";
this.btn6.Text = "6";
this.btn6.UseVisualStyleBackColor = true;
this.btn6.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn7
//
this.btn7.Location = new System.Drawing.Point(19, 70);
this.btn7.Name = "btn7";
this.btn7.Size = new System.Drawing.Size(40, 40);
this.btn7.TabIndex = 6;
this.btn7.Tag = "7";
this.btn7.Text = "7";
this.btn7.UseVisualStyleBackColor = true;
this.btn7.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn8
//
this.btn8.Location = new System.Drawing.Point(65, 70);
this.btn8.Name = "btn8";
this.btn8.Size = new System.Drawing.Size(40, 40);
this.btn8.TabIndex = 7;
this.btn8.Tag = "8";
this.btn8.Text = "8";
this.btn8.UseVisualStyleBackColor = true;
this.btn8.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn9
//
this.btn9.Location = new System.Drawing.Point(111, 70);
this.btn9.Name = "btn9";
this.btn9.Size = new System.Drawing.Size(40, 40);
this.btn9.TabIndex = 8;
this.btn9.Tag = "9";
this.btn9.Text = "9";
this.btn9.UseVisualStyleBackColor = true;
this.btn9.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn0
//
this.btn0.Location = new System.Drawing.Point(19, 208);
this.btn0.Name = "btn0";
this.btn0.Size = new System.Drawing.Size(86, 40);
this.btn0.TabIndex = 9;
this.btn0.Tag = "0";
this.btn0.Text = "0";
this.btn0.UseVisualStyleBackColor = true;
this.btn0.Click += new System.EventHandler(this.buttonNum_Click);
//
// btnChangeSign
//
this.btnChangeSign.Location = new System.Drawing.Point(229, 116);
this.btnChangeSign.Name = "btnChangeSign";
this.btnChangeSign.Size = new System.Drawing.Size(40, 40);
this.btnChangeSign.TabIndex = 10;
this.btnChangeSign.Tag = "Sign";
this.btnChangeSign.Text = "+/-";
this.btnChangeSign.UseVisualStyleBackColor = true;
this.btnChangeSign.Click += new System.EventHandler(this.buttonNum_Click);
//
// btnPoint
//
this.btnPoint.Location = new System.Drawing.Point(111, 208);
this.btnPoint.Name = "btnPoint";
this.btnPoint.Size = new System.Drawing.Size(40, 40);
this.btnPoint.TabIndex = 11;
this.btnPoint.Tag = ",";
this.btnPoint.Text = ",";
this.btnPoint.UseVisualStyleBackColor = true;
this.btnPoint.Click += new System.EventHandler(this.buttonNum_Click);
//
// btn_delenie
//
this.btn_delenie.Location = new System.Drawing.Point(183, 70);
this.btn_delenie.Name = "btn_delenie";
this.btn_delenie.Size = new System.Drawing.Size(40, 40);
this.btn_delenie.TabIndex = 12;
this.btn_delenie.Tag = "/";
this.btn_delenie.Text = "/";
this.btn_delenie.UseVisualStyleBackColor = true;
this.btn_delenie.Click += new System.EventHandler(this.buttonFunction_Click);
//
// btn_umnojenie
//
this.btn_umnojenie.Location = new System.Drawing.Point(183, 116);
this.btn_umnojenie.Name = "btn_umnojenie";
this.btn_umnojenie.Size = new System.Drawing.Size(40, 40);
this.btn_umnojenie.TabIndex = 13;
this.btn_umnojenie.Tag = "*";
this.btn_umnojenie.Text = "*";
this.btn_umnojenie.UseVisualStyleBackColor = true;
this.btn_umnojenie.Click += new System.EventHandler(this.buttonFunction_Click);
//
// btn_minus
//
this.btn_minus.Location = new System.Drawing.Point(183, 162);
this.btn_minus.Name = "btn_minus";
this.btn_minus.Size = new System.Drawing.Size(40, 40);
this.btn_minus.TabIndex = 14;
this.btn_minus.Tag = "-";
this.btn_minus.Text = "-";
this.btn_minus.UseVisualStyleBackColor = true;
this.btn_minus.Click += new System.EventHandler(this.buttonFunction_Click);
//
// btn_plus
//
this.btn_plus.Location = new System.Drawing.Point(183, 208);
this.btn_plus.Name = "btn_plus";
this.btn_plus.Size = new System.Drawing.Size(40, 40);
this.btn_plus.TabIndex = 15;
this.btn_plus.Tag = "+";
this.btn_plus.Text = "+";
this.btn_plus.UseVisualStyleBackColor = true;
this.btn_plus.Click += new System.EventHandler(this.buttonFunction_Click);
//
// btn_ravno
//
this.btn_ravno.Location = new System.Drawing.Point(229, 162);
this.btn_ravno.Name = "btn_ravno";
this.btn_ravno.Size = new System.Drawing.Size(40, 86);
this.btn_ravno.TabIndex = 16;
this.btn_ravno.Text = "=";
this.btn_ravno.UseVisualStyleBackColor = true;
this.btn_ravno.Click += new System.EventHandler(this.buttonAction_Click);
//
// btn_sbros
//
this.btn_sbros.Location = new System.Drawing.Point(229, 70);
this.btn_sbros.Name = "btn_sbros";
this.btn_sbros.Size = new System.Drawing.Size(40, 40);
this.btn_sbros.TabIndex = 17;
this.btn_sbros.Tag = "C";
this.btn_sbros.Text = "C";
this.btn_sbros.UseVisualStyleBackColor = true;
this.btn_sbros.Click += new System.EventHandler(this.buttonAction_Click);
//
// txtOutput
//
this.txtOutput.Location = new System.Drawing.Point(19, 10);
this.txtOutput.Name = "txtOutput";
this.txtOutput.ReadOnly = true;
this.txtOutput.Size = new System.Drawing.Size(250, 20);
this.txtOutput.TabIndex = 18;
this.txtOutput.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
//
// txtInput
//
this.txtInput.Location = new System.Drawing.Point(19, 36);
this.txtInput.Name = "txtInput";
this.txtInput.Size = new System.Drawing.Size(250, 20);
this.txtInput.TabIndex = 19;
this.txtInput.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.txtInput.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtInput_KeyDown);
this.txtInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtInput_KeyPress);
//
// myCalc
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(281, 257);
this.Controls.Add(this.txtInput);
this.Controls.Add(this.txtOutput);
this.Controls.Add(this.btn_sbros);
this.Controls.Add(this.btn_ravno);
this.Controls.Add(this.btn_plus);
this.Controls.Add(this.btn_minus);
this.Controls.Add(this.btn_umnojenie);
this.Controls.Add(this.btn_delenie);
this.Controls.Add(this.btnPoint);
this.Controls.Add(this.btnChangeSign);
this.Controls.Add(this.btn0);
this.Controls.Add(this.btn9);
this.Controls.Add(this.btn8);
this.Controls.Add(this.btn7);
this.Controls.Add(this.btn6);
this.Controls.Add(this.btn5);
this.Controls.Add(this.btn4);
this.Controls.Add(this.btn3);
this.Controls.Add(this.btn2);
this.Controls.Add(this.btn1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.MaximizeBox = false;
this.Name = "myCalc";
this.Text = "Калькулятор";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btn1;
private System.Windows.Forms.Button btn2;
private System.Windows.Forms.Button btn3;
private System.Windows.Forms.Button btn4;
private System.Windows.Forms.Button btn5;
private System.Windows.Forms.Button btn6;
private System.Windows.Forms.Button btn7;
private System.Windows.Forms.Button btn8;
private System.Windows.Forms.Button btn9;
private System.Windows.Forms.Button btn0;
private System.Windows.Forms.Button btnChangeSign;
private System.Windows.Forms.Button btnPoint;
private System.Windows.Forms.Button btn_delenie;
private System.Windows.Forms.Button btn_umnojenie;
private System.Windows.Forms.Button btn_minus;
private System.Windows.Forms.Button btn_plus;
private System.Windows.Forms.Button btn_ravno;
private System.Windows.Forms.Button btn_sbros;
private System.Windows.Forms.TextBox txtOutput;
private System.Windows.Forms.TextBox txtInput;
private string firstNumber = "";
private string secondNumber = "";
private string stringToShow = "";
private double calcResult = 0;
private string curFunction = "";
private bool functionEntered = false;
public myCalc()
{
InitializeComponent();
txtInput.Text = null;
txtOutput.Text = null;
// Функциональные клавишы
btn_plus.Tag = "+";
btn_minus.Tag = "-";
btn_delenie.Tag = "/";
btn_umnojenie.Tag = "*";
btn_ravno.Tag = "=";
btn_sbros.Tag = "C";
// Клавишы набора чисел
btn0.Tag = "0";
btn1.Tag = "1";
btn2.Tag = "2";
btn3.Tag = "3";
btn4.Tag = "4";
btn5.Tag = "5";
btn6.Tag = "6";
btn7.Tag = "7";
btn8.Tag = "8";
btn9.Tag = "9";
btnPoint.Tag = "Point";
btnChangeSign.Tag = "Sign";
}
private void buttonNum_Click(object sender, System.EventArgs e)
{
vvodNum(Convert.ToString(((System.Windows.Forms.Button)sender).Tag));
}
private void buttonFunction_Click(object sender, System.EventArgs e)
{
if (curFunction == "")
{
doFunction(Convert.ToString(((System.Windows.Forms.Button)sender).Tag));
}
else
{
doFunction(curFunction);
curFunction = Convert.ToString(((System.Windows.Forms.Button)sender).Tag);
}
}
private void buttonAction_Click(object sender, System.EventArgs e)
{
if (Convert.ToString(((System.Windows.Forms.Button)sender).Tag) == "=")
{
doFunction(curFunction);
txtInput.Text = Convert.ToString(calcResult);
firstNumber = secondNumber = curFunction = "";
}
else
{
firstNumber = secondNumber = curFunction = stringToShow = "";
calcResult = 0;
txtInput.Text = null;
txtOutput.Text = null;
}
}
private void vvodNum(String CurrTag)
{
switch (CurrTag)
{
case "1":
txtInput.Text += "1";
break;
case "2":
txtInput.Text += "2";
break;
case "3":
txtInput.Text += "3";
break;
case "4":
txtInput.Text += "4";
break;
case "5":
txtInput.Text += "5";
break;
case "6":
txtInput.Text += "6";
break;
case "7":
txtInput.Text += "7";
break;
case "8":
txtInput.Text += "8";
break;
case "9":
txtInput.Text += "9";
break;
case "0":
if (txtInput.Text != "0") txtInput.Text += "0";
break;
case "Sign":
if (txtInput.Text.Length > 0 && isNum(txtInput.Text))
{
double stackNumber = Convert.ToDouble(txtInput.Text);
stackNumber = stackNumber * (-1);
txtInput.Text = Convert.ToString(stackNumber);
}
else MessageBox.Show("Некорректный ввод!");
break;
case "Point":
if (txtInput.Text.Contains(","))
{
MessageBox.Show("Повторный ввод разделителя целой части и вещественной запрещен!");
}
else
{
if (txtInput.Text.Length == 0)
{
txtInput.Text += "0,";
}
else
{
txtInput.Text += ",";
}
}
break;
}
}
private void doFunction(String CurrTag)
{
switch (CurrTag)
{
case "+":
if (txtInput.Text.Length > 0 && isNum(txtInput.Text))
{
if (firstNumber == "")
{
firstNumber = txtInput.Text;
calcResult = Convert.ToDouble(firstNumber);
txtInput.Text = stringToShow = "";
stringToShow += firstNumber;
curFunction = "+";
}
else
{
secondNumber = txtInput.Text;
calcResult = Convert.ToDouble(calcResult) + Convert.ToDouble(secondNumber);
txtInput.Text = "";
if (secondNumber[0] == Convert.ToChar("-")) stringToShow = stringToShow + " + (" + secondNumber + ")";
else stringToShow = stringToShow + " + " + secondNumber;
}
}
else MessageBox.Show("Некорректный ввод!");
break;
case "-":
if (txtInput.Text.Length > 0 && isNum(txtInput.Text))
{
if (firstNumber == "")
{
firstNumber = txtInput.Text;
calcResult = Convert.ToDouble(firstNumber);
txtInput.Text = stringToShow = "";
stringToShow += firstNumber;
curFunction = "-";
}
else
{
secondNumber = txtInput.Text;
calcResult = Convert.ToDouble(calcResult) - Convert.ToDouble(secondNumber);
txtInput.Text = "";
if (secondNumber[0] == Convert.ToChar("-")) stringToShow = stringToShow + " - (" + secondNumber + ")";
else stringToShow = stringToShow + " - " + secondNumber;
}
}
else MessageBox.Show("Некорректный ввод!");
break;
case "/":
if (txtInput.Text.Length > 0 && isNum(txtInput.Text))
{
if (firstNumber == "")
{
firstNumber = txtInput.Text;
calcResult = Convert.ToDouble(firstNumber);
txtInput.Text = stringToShow = "";
stringToShow += firstNumber;
curFunction = "/";
}
else
{
secondNumber = txtInput.Text;
calcResult = Convert.ToDouble(calcResult) / Convert.ToDouble(secondNumber);
txtInput.Text = "";
if (secondNumber[0] == Convert.ToChar("-")) stringToShow = stringToShow + " / (" + secondNumber + ")";
else stringToShow = stringToShow + " / " + secondNumber;
}
}
else MessageBox.Show("Некорректный ввод!");
break;
case "*":
if (txtInput.Text.Length > 0 && isNum(txtInput.Text))
{
if (firstNumber == "")
{
firstNumber = txtInput.Text;
calcResult = Convert.ToDouble(firstNumber);
txtInput.Text = stringToShow = "";
stringToShow += firstNumber;
curFunction = "*";
}
else
{
secondNumber = txtInput.Text;
calcResult = Convert.ToDouble(calcResult) * Convert.ToDouble(secondNumber);
txtInput.Text = "";
if (secondNumber[0] == Convert.ToChar("-")) stringToShow = stringToShow + " * (" + secondNumber + ")";
else stringToShow = stringToShow + " * " + secondNumber;
}
}
else MessageBox.Show("Некорректный ввод!");
break;
}
txtInput.Focus();
txtOutput.Text = stringToShow;
}
private bool isNum(String inputText)
{
double stackNumber;
return double.TryParse(inputText, out stackNumber);
}
private void txtInput_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Divide:
functionEntered = true;
buttonFunction_Click(btn_delenie, null);
break;
case Keys.Multiply:
functionEntered = true;
buttonFunction_Click(btn_umnojenie, null);
break;
case Keys.Subtract:
functionEntered = true;
buttonFunction_Click(btn_minus, null);
break;
case Keys.Add:
functionEntered = true;
buttonFunction_Click(btn_plus, null);
break;
case Keys.Enter:
functionEntered = true;
buttonAction_Click(btn_ravno, null);
break;
}
}
private void txtInput_KeyPress(object sender, KeyPressEventArgs e)
{
if (functionEntered)
{
e.Handled = true;
functionEntered = false;
}
}
}
}
----------------------------------------------------------------------------------
Класс myCalendar
----------------------------------------------------------------------------------
using System;
using System.Windows.Forms;
namespace Organizer
{
public class myCalendar : System.Windows.Forms.Form
{
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
///
private void InitializeComponent()
{
this.monthCalendar1 = new System.Windows.Forms.MonthCalendar();
this.btn_toDate = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.dayUpDown = new System.Windows.Forms.NumericUpDown();
this.monthUpDown = new System.Windows.Forms.NumericUpDown();
this.yearUpDown = new System.Windows.Forms.NumericUpDown();
((System.ComponentModel.ISupportInitialize)(this.dayUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.monthUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.yearUpDown)).BeginInit();
this.SuspendLayout();
//
// monthCalendar1
//
this.monthCalendar1.BackColor = System.Drawing.SystemColors.Info;
this.monthCalendar1.CalendarDimensions = new System.Drawing.Size(3, 1);
this.monthCalendar1.FirstDayOfWeek = System.Windows.Forms.Day.Monday;
this.monthCalendar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.monthCalendar1.Location = new System.Drawing.Point(18, 18);
this.monthCalendar1.MaxDate = new System.DateTime(2089, 12, 31, 0, 0, 0, 0);
this.monthCalendar1.MaxSelectionCount = 1;
this.monthCalendar1.MinDate = new System.DateTime(1960, 1, 1, 0, 0, 0, 0);
this.monthCalendar1.Name = "monthCalendar1";
this.monthCalendar1.ScrollChange = 1;
this.monthCalendar1.ShowWeekNumbers = true;
this.monthCalendar1.TabIndex = 1;
this.monthCalendar1.TitleBackColor = System.Drawing.Color.Purple;
this.monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;
this.monthCalendar1.TrailingForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
//
// btn_toDate
//
this.btn_toDate.Location = new System.Drawing.Point(370, 181);
this.btn_toDate.Name = "btn_toDate";
this.btn_toDate.Size = new System.Drawing.Size(103, 29);
this.btn_toDate.TabIndex = 5;
this.btn_toDate.Text = "Перейти к дате";
this.btn_toDate.UseVisualStyleBackColor = true;
this.btn_toDate.Click += new System.EventHandler(this.btn_toDate_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(61, 194);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(42, 13);
this.label1.TabIndex = 6;
this.label1.Text = "Число:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(252, 194);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(28, 13);
this.label2.TabIndex = 7;
this.label2.Text = "Год:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(160, 194);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(43, 13);
this.label3.TabIndex = 8;
this.label3.Text = "Месяц:";
//
// dayUpDown
//
this.dayUpDown.Location = new System.Drawing.Point(99, 187);
this.dayUpDown.Maximum = new decimal(new int[] {
31,
0,
0,
0});
this.dayUpDown.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.dayUpDown.Name = "dayUpDown";
this.dayUpDown.Size = new System.Drawing.Size(37, 20);
this.dayUpDown.TabIndex = 9;
this.dayUpDown.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// monthUpDown
//
this.monthUpDown.Location = new System.Drawing.Point(199, 187);
this.monthUpDown.Maximum = new decimal(new int[] {
12,
0,
0,
0});
this.monthUpDown.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.monthUpDown.Name = "monthUpDown";
this.monthUpDown.Size = new System.Drawing.Size(37, 20);
this.monthUpDown.TabIndex = 10;
this.monthUpDown.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// yearUpDown
//
this.yearUpDown.Location = new System.Drawing.Point(277, 187);
this.yearUpDown.Maximum = new decimal(new int[] {
2089,
0,
0,
0});
this.yearUpDown.Minimum = new decimal(new int[] {
1960,
0,
0,
0});
this.yearUpDown.Name = "yearUpDown";
this.yearUpDown.Size = new System.Drawing.Size(75, 20);
this.yearUpDown.TabIndex = 11;
this.yearUpDown.Value = new decimal(new int[] {
1960,
0,
0,
0});
//
// myCalendar
//
this.ClientSize = new System.Drawing.Size(529, 213);
this.Controls.Add(this.yearUpDown);
this.Controls.Add(this.monthUpDown);
this.Controls.Add(this.dayUpDown);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.btn_toDate);
this.Controls.Add(this.monthCalendar1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.MaximizeBox = false;
this.Name = "myCalendar";
this.Text = "Календарь";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.myCalendar_FormClosed);
((System.ComponentModel.ISupportInitialize)(this.dayUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.monthUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.yearUpDown)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private Button btn_toDate;
private Label label1;
private Label label2;
private Label label3;
private NumericUpDown dayUpDown;
private NumericUpDown monthUpDown;
private NumericUpDown yearUpDown;
private System.Windows.Forms.MonthCalendar monthCalendar1;
public myCalendar()
{
InitializeComponent();
yearUpDown.Value = monthCalendar1.TodayDate.Year;
monthUpDown.Value = monthCalendar1.TodayDate.Month;
dayUpDown.Value = monthCalendar1.TodayDate.Day;
}
private void btn_toDate_Click(object sender, EventArgs e)
{
try
{
DateTime dt = new DateTime(Convert.ToInt32(yearUpDown.Value), Convert.ToInt32(monthUpDown.Value), Convert.ToInt32(dayUpDown.Value));
monthCalendar1.SetDate(dt);
}
catch (ArgumentOutOfRangeException)
{
MessageBox.Show("Дата задана неверно!");
}
}
private void myCalendar_FormClosed(object sender, FormClosedEventArgs e)
{
mainMenu.TheCalendar = null;
}
}
}
----------------------------------------------------------------------------------
Класс myNotebook
----------------------------------------------------------------------------------
using System;
using System.IO;
using System.Windows.Forms;
namespace Organizer
{
public class myNotebook : System.Windows.Forms.Form
{
private ListBox notesList;
private Button btn_add;
private Button btn_delete;
private Button btn_find;
private TextBox txtFind;
private Button btn_save;
private RichTextBox txtBox;
private Button btn_exit;
private String[] notesArray = new String[0];
public myNotebook()
{
InitializeComponent();
FileInfo fi = new FileInfo("notes.txt");
if (fi.Exists)
{
StreamReader sr = new StreamReader("notes.txt");
int count = System.Convert.ToInt32(sr.ReadLine());
notesArray = new String[count];
for (int i = 0; i < count; i++)
{
String header = sr.ReadLine();
String text = sr.ReadLine().Replace("---newline---", "\n");
notesList.Items.Add(header);
notesArray[i] = text;
}
sr.Close();
}
}
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.notesList = new System.Windows.Forms.ListBox();
this.btn_add = new System.Windows.Forms.Button();
this.btn_delete = new System.Windows.Forms.Button();
this.btn_find = new System.Windows.Forms.Button();
this.txtFind = new System.Windows.Forms.TextBox();
this.btn_save = new System.Windows.Forms.Button();
this.btn_exit = new System.Windows.Forms.Button();
this.txtBox = new System.Windows.Forms.RichTextBox();
this.SuspendLayout();
//
// notesList
//
this.notesList.FormattingEnabled = true;
this.notesList.Location = new System.Drawing.Point(12, 38);
this.notesList.Name = "notesList";
this.notesList.Size = new System.Drawing.Size(210, 368);
this.notesList.TabIndex = 1;
this.notesList.SelectedIndexChanged += new System.EventHandler(this.notesList_SelectedIndexChanged);
//
// btn_add
//
this.btn_add.Location = new System.Drawing.Point(12, 412);
this.btn_add.Name = "btn_add";
this.btn_add.Size = new System.Drawing.Size(71, 34);
this.btn_add.TabIndex = 3;
this.btn_add.Text = "Добавить запись";
this.btn_add.UseVisualStyleBackColor = true;
this.btn_add.Click += new System.EventHandler(this.btn_add_Click);
//
// btn_delete
//
this.btn_delete.Location = new System.Drawing.Point(89, 412);
this.btn_delete.Name = "btn_delete";
this.btn_delete.Size = new System.Drawing.Size(71, 34);
this.btn_delete.TabIndex = 4;
this.btn_delete.Text = "Удалить запись";
this.btn_delete.UseVisualStyleBackColor = true;
this.btn_delete.Click += new System.EventHandler(this.btn_delete_Click);
//
// btn_find
//
this.btn_find.Location = new System.Drawing.Point(147, 12);
this.btn_find.Name = "btn_find";
this.btn_find.Size = new System.Drawing.Size(75, 23);
this.btn_find.TabIndex = 5;
this.btn_find.Text = "Найти";
this.btn_find.UseVisualStyleBackColor = true;
this.btn_find.Click += new System.EventHandler(this.btn_find_Click);
//
// txtFind
//
this.txtFind.Location = new System.Drawing.Point(12, 12);
this.txtFind.Name = "txtFind";
this.txtFind.Size = new System.Drawing.Size(129, 20);
this.txtFind.TabIndex = 6;
//
// btn_save
//
this.btn_save.Location = new System.Drawing.Point(318, 412);
this.btn_save.Name = "btn_save";
this.btn_save.Size = new System.Drawing.Size(119, 34);
this.btn_save.TabIndex = 7;
this.btn_save.Text = "Сохранить изменения и выйти";
this.btn_save.UseVisualStyleBackColor = true;
this.btn_save.Click += new System.EventHandler(this.btn_save_Click);
//
// btn_exit
//
this.btn_exit.Location = new System.Drawing.Point(443, 412);
this.btn_exit.Name = "btn_exit";
this.btn_exit.Size = new System.Drawing.Size(119, 34);
this.btn_exit.TabIndex = 8;
this.btn_exit.Text = "Выйти без сохранения";
this.btn_exit.UseVisualStyleBackColor = true;
this.btn_exit.Click += new System.EventHandler(this.btn_exit_Click);
//
// txtBox
//
this.txtBox.Enabled = false;
this.txtBox.Location = new System.Drawing.Point(228, 12);
this.txtBox.Name = "txtBox";
this.txtBox.Size = new System.Drawing.Size(334, 394);
this.txtBox.TabIndex = 9;
this.txtBox.Text = "";
this.txtBox.TextChanged += new System.EventHandler(this.txtBox_TextChanged);
//
// myNotebook
//
this.ClientSize = new System.Drawing.Size(571, 451);
this.Controls.Add(this.txtBox);
this.Controls.Add(this.btn_exit);
this.Controls.Add(this.btn_save);
this.Controls.Add(this.txtFind);
this.Controls.Add(this.btn_find);
this.Controls.Add(this.btn_delete);
this.Controls.Add(this.btn_add);
this.Controls.Add(this.notesList);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.MaximizeBox = false;
this.Name = "myNotebook";
this.Text = "Записная книжка";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.myNotebook_FormClosed);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private void myNotebook_FormClosed(object sender, FormClosedEventArgs e)
{
mainMenu.TheNotebook = null;
}
private void btn_exit_Click(object sender, EventArgs e)
{
this.Close();
}
private void btn_add_Click(object sender, EventArgs e)
{
addNoteDialog theDialog = new addNoteDialog();
if (theDialog.ShowDialog() == DialogResult.OK)
{
if (theDialog.nameInput.Text != "")
{
int i = notesList.Items.IndexOf(theDialog.nameInput.Text);
if (i == -1)
{
notesList.Items.Add(theDialog.nameInput.Text);
String[] newNotes = new String[notesArray.Length + 1];
for (int j = 0; j < notesArray.Length; j++)
{
newNotes[j] = notesArray[j];
}
notesArray = newNotes;
}
else
{
MessageBox.Show("Запись с таким именем уже имеется! Выберите другое имя!");
}
}
else
{
MessageBox.Show("Запись не может иметь пустое имя!");
}
}
}
private void btn_delete_Click(object sender, EventArgs e)
{
if (notesList.SelectedIndex != -1)
{
String[] newNotes = new String[notesArray.Length - 1];
for (int j = 0; j < newNotes.Length; j++)
{
if (j >= notesList.SelectedIndex)
{
newNotes[j] = notesArray[j + 1];
}
else
{
newNotes[j] = notesArray[j];
}
}
notesArray = newNotes;
notesList.Items.RemoveAt(notesList.SelectedIndex);
txtBox.Text = "";
txtBox.Enabled = false;
}
else
{
MessageBox.Show("Выберите запись для удаления!");
}
}
private void btn_find_Click(object sender, EventArgs e)
{
if (txtFind.Text != "")
{
if (notesList.SelectedIndex != -1)
{
for (int i = notesList.SelectedIndex + 1; i < notesList.Items.Count; i++)
{
if (notesList.Items[i].ToString().Contains(txtFind.Text))
{
notesList.SelectedIndex = i;
return;
}
}
}
for (int i = 0; i < notesList.Items.Count; i++)
{
if (notesList.Items[i].ToString().Contains(txtFind.Text))
{
notesList.SelectedIndex = i;
return;
}
}
MessageBox.Show("Запись не найдена!");
}
else
{
MessageBox.Show("Необходимо ввести название записи для поиска!");
}
}
private void btn_save_Click(object sender, EventArgs e)
{
StreamWriter sw = new StreamWriter("notes.txt");
sw.WriteLine(notesList.Items.Count);
for (int i = 0; i < notesList.Items.Count; i++)
{
sw.WriteLine(notesList.Items[i]);
sw.WriteLine(notesArray[i]==null ? "" : notesArray[i].Replace("\n","---newline---"));
}
sw.Close();
this.Close();
}
private void notesList_SelectedIndexChanged(object sender, EventArgs e)
{
txtBox.Enabled = true;
try
{
txtBox.Text = notesArray[notesList.SelectedIndex];
}
catch (Exception ex)
{
//if (ex.ToString() == "A") return;
}
}
private void txtBox_TextChanged(object sender, EventArgs e)
{
if (notesList.SelectedIndex != -1)
{
notesArray[notesList.SelectedIndex] = txtBox.Text;
}
}
}
}
----------------------------------------------------------------------------------
Класс addNoteDialog
----------------------------------------------------------------------------------
using System;
using System.Windows.Forms;
namespace Organizer
{
public class addNoteDialog : System.Windows.Forms.Form
{
public System.Windows.Forms.Button OKButton;
public System.Windows.Forms.Button CancelBtn;
public System.Windows.Forms.Label label1;
public TextBox nameInput;
public addNoteDialog()
{
InitializeComponent();
}
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.OKButton = new System.Windows.Forms.Button();
this.CancelBtn = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.nameInput = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// OKButton
//
this.OKButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.OKButton.Location = new System.Drawing.Point(12, 58);
this.OKButton.Name = "OKButton";
this.OKButton.Size = new System.Drawing.Size(80, 24);
this.OKButton.TabIndex = 0;
this.OKButton.Text = "Готово";
//
// CancelBtn
//
this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.CancelBtn.Location = new System.Drawing.Point(98, 58);
this.CancelBtn.Name = "CancelBtn";
this.CancelBtn.Size = new System.Drawing.Size(80, 24);
this.CancelBtn.TabIndex = 1;
this.CancelBtn.Text = "Отмена";
//
// label1
//
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(142, 16);
this.label1.TabIndex = 2;
this.label1.Text = "Введите название записи:";
//
// nameInput
//
this.nameInput.Location = new System.Drawing.Point(12, 32);
this.nameInput.Name = "nameInput";
this.nameInput.Size = new System.Drawing.Size(166, 20);
this.nameInput.TabIndex = 3;
//
// addNoteDialog
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(191, 90);
this.Controls.Add(this.nameInput);
this.Controls.Add(this.label1);
this.Controls.Add(this.CancelBtn);
this.Controls.Add(this.OKButton);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "addNoteDialog";
this.Text = "Добавление записи";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
}
}
РЕЗУЛЬТАТЫ ИСПЫТАНИЙ
Приложение Б
(обязательное)
Рисунок 1
Рисунок 2
Рисунок 3
Рисунок 4
Рисунок 5
Рисунок 6
Рисунок 7
Рисунок 8
Рисунок 9
Рисунок 10
Рисунок 11
Дата добавления: 2018-05-12; просмотров: 302; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!