Головна

ПЕРЕВІРКА ПРОГРАМИ

  1. END. {Кінець програми}.
  2. I. Сутність програми соціологічного дослідження.
  3. II. Основні розділи програми соціологічного дослідження та їх призначення.
  4. II. Вимоги до результатів освоєння основної освітньої програми
  5. II. Вимоги до результатів освоєння основної освітньої програми початкової загальної освіти
  6. II. Вимоги до результатів освоєння основної освітньої програми початкової загальної освіти
  7. II. Вимоги до результатів освоєння основної освітньої програми початкової загальної освіти

5.4.1 Опис способів перевірки

Працездатність програми «Щоденник» перевіряється описаними нижче способами:

1) До початку перевірки, перейменуйте бінарний файл Database.mdb, в каталозі «C: \ Program Files \ DIARY \». Після цього запустити програму, яка видасть повідомлення про помилку, описане в розділі 5. «Повідомлення системному програмісту» даного програмного керівництва.

2) Запустити програму і видалити бінарний файл Database.mdb. Проаналізувати за дією програми.

3) Запустити програму з файлом Database.mdb і додати, відредагувати і видалити запис.

5.4.2 Методи прогону

5.4.2.1 Перевірка працездатності програми

1) При запущеній програмі «Щоденник» додайте запис, внесіть її і закрийте програму.

2) Запустіть програму «Щоденник» і перегляньте ті записи, які створили.

3) Створіть ще запили і закрийте програму.

4) Запустіть програму і введіть в пошук заголовок запису і знайдіть створену запис.

5) Натисніть перегляд всіх записів і перевірте чи вивелися.

6) Видаліть одну запис і перевірте пішла вона.

7) Видаліть всі записи і закрийте програму.

8) Запустіть програму і перегляньте чи записи.

5.4.2.2 Перевірка на повідомлення про помилку

1) До початку перевірки, перейменуйте бінарний файл Database.mdb, в каталозі «C: \ Program Files \ DIARY \». Після цього запустіть програму «Щоденник». Програма повинна видати повідомлення про помилку, описане в розділі 5. «Повідомлення системному програмісту» даного програмного керівництва.

2) При запущеній програмі «Щоденник» перейменуйте файл Database.mdb і перевірте на реакцію програми.

3) По закінченню перевірки поверніть попереднє найменування файлу Database.mdb і перевірте на працездатність програми.

5.5 ПОВІДОМЛЕННЯ системних програмістів

Програма «Щоденник» видає повідомлення про помилку, показане на рис. 1.

Малюнок 1.

ПРИЧИНА. Зазначений в повідомленні файл (Database.mdb) не найден в каталозі C: ??\ Program Files \ DIARY \, або даний каталог не існує.

Програма «Щоденник» видає повідомлення про помилку, показане на рис. 2.

Малюнок 2.

ПРИЧИНА. Зазначений в повідомленні файл (Database.mdb) був замінений.

ДІЇ програмістів. Перевірити за вказаною шляху наявність файлу Database.mdb і в разі відсутності створити його. Якщо файл існує, то відкрити його для читання, щоб його неможливо було змінити при запущеній програмі.

6 ТЕКСТ ПРОГРАМИ

6.1 ОСНОВНА ПРОГРАМА

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace AbstractCourse1

{

public partial class Form1: Form

{

DataEngine dt;

string tableName = "data";

string fileName = "Database.mdb";

public Form1 () // Ініціалізація форми

{

InitializeComponent ();

foreach (IceButton.IceButton i in tmenu.Controls)

{

i.Text = i.Tag.ToString ();

}

try

{

if (! System.IO.File.Exists (fileName))

{

System.IO.File.WriteAllBytes (fileName, Source.template);

}

}

catch (Exception ex)

{

MessageBox.Show (ex.Message);

System.Threading.Thread.CurrentThread.Abort ();

}

dt = new DataEngine (fileName, "ID", "Dates", "Header", "Body", "Worker", "IsDone");

LoadToGrid (dt.SelectAllTasks (tableName));

iceButton1.Click + = new EventHandler (iceButton1_Click); // Sea

iceButton2.Click + = new EventHandler (iceButton2_Click); // Add

iceButton5.Click + = new EventHandler (iceButton5_Click); // Delete one

iceButton6.Click + = new EventHandler (iceButton6_Click); // ToDay

iceButton4.Click + = new EventHandler (iceButton4_Click);

iceButton3.Click + = new EventHandler (iceButton3_Click);

t_search.KeyDown + = new KeyEventHandler (t_search_KeyDown);

dataGridView1.CellDoubleClick + = new DataGridViewCellEventHandler (dataGridView1_CellDoubleClick);

}

void t_search_KeyDown (object sender, KeyEventArgs e) // Пошук

{

if (e.KeyCode == Keys.Enter)

{

label1_Click (sender, e);

}

}

void dataGridView1_CellDoubleClick (object sender, DataGridViewCellEventArgs e) // Відкриття записи

{

if (e.RowIndex> = 0)

{

long id = Convert.ToInt64 (dataGridView1.Rows [e.RowIndex] .Cells [0] .Value);

Task tmp = dt.SelectById (tableName, id);

UseE_Form (EditForm.EditType.Edit, tmp);

}

}

void UseE_Form (EditForm.EditType editMode, Task StartValue) // Створення і відображення діалогу створення / редагування

{

EditForm e_form;

e_form = new EditForm (editMode, StartValue);

e_form.Cancel + = new Action (e_form_Cancel);

e_form.JustClose + = new Action (e_form_JustClose);

e_form.Save + = new Action (e_form_Save);

e_form.ShowDialog ();

}

#region UsingEvents

void e_form_Cancel (Task arg1, EditForm arg2)

{

arg2.Close ();

}

void e_form_JustClose (Task arg1, EditForm arg2)

{

DialogResult d;

d = MessageBox.Show ("Хочете зберегти?", "Save", MessageBoxButtons.YesNoCancel);

switch (d)

{

case DialogResult.Yes:

{

e_form_Save (arg1, arg2);

LoadToGrid (dt.SelectAllTasks (tableName));

arg2.Close ();

break;

}

case DialogResult.Cancel:

{

break;

}

case DialogResult.No:

{

arg2.Close ();

LoadToGrid (dt.SelectAllTasks (tableName));

break;

}

}

}

void e_form_Save (Task arg1, EditForm arg2)

{

if (arg1.ID> = 0)

{

dt.UpdateTask (arg1, tableName);

}

else

{

dt.InsertNewTask (arg1, tableName);

}

MessageBox.Show ("Збережено");

}

#endregion

void iceButton2_Click (object sender, EventArgs e) // Додавання нового завдання. Виводить форму редагування

{

Task tmp;

tmp = new Task ();

tmp.Date = DateTime.Now;

UseE_Form (EditForm.EditType.New, tmp);

}

void iceButton5_Click (object sender, EventArgs e) // Видалення. Видалення вибраної записи з підтвердженням

{

if (dataGridView1.SelectedCells.Count> 0)

{

DialogResult d;

long id = Convert.ToInt64 (dataGridView1.Rows [dataGridView1.SelectedCells [0] .RowIndex] .Cells [0] .Value);

Task tmp = dt.SelectById (tableName, id);

d = MessageBox.Show ("Ви точно хочете видалити цей запис?" + "\ n" + tmp.Header + "\ n" +

tmp.Body.PadRight (100), "Видалення", MessageBoxButtons.YesNo);

switch (d)

{

case DialogResult.Yes:

{

dt.DeleteTask (tableName, tmp);

MessageBox.Show ("Вилучено");

break;

}

}

LoadToGrid (dt.SelectAllTasks (tableName));

}

else

{

MessageBox.Show ("Спочатку потрібно записати новий");

}

}

void iceButton1_Click (object sender, EventArgs e) // Завантаження елементів в форму

{

LoadToGrid (dt.SelectAllTasks (tableName));

}

void iceButton4_Click (object sender, EventArgs e) // Вихід. Завершення поточного потоку

{

System.Threading.Thread.CurrentThread.Abort ();

}

void iceButton6_Click (object sender, EventArgs e) // Поточні справи. Вибірка за датою. Дата вважається по лоакльному часу

{

LoadToGrid (dt.SelectByDate (tableName, DateTime.Now));

}

void iceButton3_Click (object sender, EventArgs e) // Видалення всього. Очітстка бази завдань.

{

DialogResult dr;

dr = MessageBox.Show ("Ви точно хочете видалити всі записи?", "Стерти всі", MessageBoxButtons.YesNo);

switch (dr)

{

case DialogResult.Yes:

{

dt.DeleteAllTask ??(tableName);

LoadToGrid (dt.SelectAllTasks (tableName));

MessageBox.Show ("Вилучено");

break;

}

case DialogResult.No:

{

break;

}

}

}

private void LoadToGrid (Task Onetask) // Завантаження одного елемента в таблицю

{

dataGridView1.Rows.Add (Onetask.ToValues ??());

}

private void LoadToGrid (Angar tasks) // Масова завантаження елементів в таблицю зі сховища

{

dataGridView1.Rows.Clear ();

foreach (Task t in tasks.Storage)

{

dataGridView1.Rows.Add (t.ToValues ??());

}

}

private void Form1_Load (object sender, EventArgs e)

{

comboBox1.SelectedIndex = 0;

}

public enum WordEn

{

/ *

номер,

Заголовок,

опис,

Дата,

виконавець

 * /

ID, Header, Body, TargetDate, Worker

}

private void label1_Click (object sender, EventArgs e) // Пошук

{

WordEn we;

we = (WordEn) comboBox1.SelectedIndex;

try

{

switch (we)

{

case WordEn.ID:

{

if (t_search.Text! = "")

LoadToGrid (dt.SelectTask (tableName, we.ToString (), Convert.ToInt64 (t_search.Text) .ToString (), ""));

break;

}

default:

{

LoadToGrid (dt.SelectTask (tableName, we.ToString (),

t_search.Text.Replace (" '", "'"), " '"));

break;

}

}

MessageBox.Show ("Готово");

}

catch (Exception ex)

{

MessageBox.Show (ex.Message);

}

}

private void toolStripStatusLabel1_Click (object sender, EventArgs e) // Про автора

{

Author at;

at = new Author ();

at.ShowDialog ();

}

private void iceButton1_Load (object sender, EventArgs e)

{

}

}

}

6.2 ПІДПРОГРАМА РЕДАГУВАННЯ І ЗБЕРЕЖЕННЯ

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace AbstractCourse1

{

public partial class EditForm: Form

{

public event Action Save;

public event Action JustClose;

public event Action Cancel;

public enum EditType

{

Edit, New

}

EditType _editmode;

Task _task;

public EditForm (EditType EditMode, Task StartValue)

{

InitializeComponent ();

this.FormClosing + = new FormClosingEventHandler (EditForm_FormClosing);

_editmode = EditMode;

_task = StartValue;

Fill ();

switch (_editmode)

{

case EditType.New:

{

_task.ID = -1;

break;

}

case EditType.Edit:

{

break;

}

}

}

private void UpdateTask ()

{

_task.Date = t_dates.Value;

_task.Header = t_header.Text;

_task.IsDone = t_IsDone.Checked;

_task.Body = t_memo.Text;

_task.Worker = t_worker.Text;

}

private void Fill ()

{

t_dates.Value = _task.Date;

t_header.Text = _task.Header;

t_IsDone.Checked = _task.IsDone;

t_memo.Text = _task.Body;

t_worker.Text = _task.Worker;

}

private void закритьToolStripMenuItem_Click (object sender, EventArgs e)

{

try

{

UpdateTask ();

JustClose.Invoke (_task, this);

}

catch (Exception ex)

{

}

}

private void сохранітьToolStripMenuItem_Click (object sender, EventArgs e)

{

try

{

UpdateTask ();

Save.Invoke (_task, this);

}

catch (Exception ex)

{

}

}

private void отменітьToolStripMenuItem_Click (object sender, EventArgs e)

{

try

{

UpdateTask ();

Cancel.Invoke (_task, this);

}

catch (Exception ex)

{

}

}

void EditForm_FormClosing (object sender, FormClosingEventArgs e)

{

}

private void labelN_Click (object sender, EventArgs e)

{

}

}

}

алгоритми | технологічна частина


Короткий опис вироби | Результуючі компоненти вироби | Узгодження заявок на перевірку | позначення | Безпека і секретність системи |

© 2016-2022  um.co.ua - учбові матеріали та реферати