Як і для елемента керування Text Box, що відображається текст задається властивістю Text. В елементі управління Rich Text Box міститься безліч властивостей для форматування текста. Сведенія про ці властивості див. в розділах Практичне керівництво. Завдання атрибутів шрифту для елементу управління Rich Text Box в Windows Forms і Практичний посібник. Встановлення відступів, виступів і маркерів абзаців за допомогою елемента керування Rich Text Box в Windows, Forms. Для управління файлами використовуються методи LoadFile і SaveFile, які відображатимуть і зберігають безліч форматів файлів, у тому числі звичайний текст, звичайний текст Юнікод і форматується текст (RTF). Можливо формати файлів представлені у .frlrf System Windows Forms Rich Text Box Stream Type Class Topic. З допомогою методу знайти виконується пошук текстових рядків або певних символів.
Елемент управління Rich Text Box можна також використовувати для створення веб-посилань; для цього треба задати для властивості Detect Urls значення вірно і створити код для обробки події Link Clicked.. Відображення посилань веб-типу за допомогою елемента керування Rich Text Box в Windows, Forms. Можна заборонити користувачеві управляти частиною тексту або всім текстом в елементі управління, задавши для властивості SelectionProtected значення вірно.
Більшу частину операцій редагування в елементі управління
RichTextBox можна скасувати і відновити за допомогою виклику методів Скасувати
і Redo. Метод CanRedo дозволяє визначити, чи можна заново застосувати виконане
останнім і скасоване дію, до елементу управління.
Структура програми являє собою набір функцій. Наша програми містить 6 функцій:
Void dialog Tool Strip Menu Item_Click (System::Object sender, System::Event Args e)
Функція викликається шляхом натиснення клавішою миші на вкладку меню dialog. Під час виконання цієї функції ми здійснюємо зчитування даних з поля для вводу, і відповідно до введеного числа відображаємо наступні поля для вводу чисел.
Void run Tool Strip Menu Item_Click (System::Object sender, System::Event Args e)
Функція викликається шляхом натиснення клавішою миші на вкладку меню run. Під час виконання цієї функції ми здійснюємо зчитування даних з поля для вводу, і скриваємо ці поля.
Void result Tool Strip Menu Item_Click (System::Object sender, System::Event Args e)
Функція викликається шляхом натиснення клавішою миші на вкладку меню result. Під час виконання цієї функції ми здійснюємо виклик необхідної функції з dll і запускаємо її на виконання. Результати виводимо на екран.
Void delete Tool Strip Menu Item_Click (System::Object sender, System::Event Args e)
Функція викликається шляхом натиснення клавішою миші на вкладку меню delete. Під час виконання цієї функції ми здійснюємо очищення всіх полів і повертаємо початкове вікно на екран.
Void save Tool Strip Menu Item_Click (System::Object sender, System::Event Args e)
Функція викликається шляхом натиснення клавішою миші на вкладку меню save. Функція зберігає поточний результат у файл.
Void open Tool Strip Menu Item_Click (System::Object sender, System::Event Args e)
Функція викликається шляхом натиснення клавішою миші на вкладку меню open. Функція зчитує з файлу останній збережений результат.
Програма під час виконання використовує DLL бібліотеку, яка містить описані функції для обчислення поставленого виразу.
При роботі програми використовується IBM-сумісний комп'ютер. Будь-яких інших специфічних чи додаткових пристроїв програма не потребує
Виклик програми виконується завантаженням на виконання файлу app3.exe
Адреса завантаження визначається операційною системою автоматично.
.3 Відомості про використання оперативної пам'яті
Програма при роботі не ініціює запити на виділення
оперативної пам’яті, крім тої, що виділена їй для роботи операційною системою.
Файл Project1.cpp має
обсяг 22 Кб , файл Project1.exe - 103 Кб
Вхідні дані для роботи програми являють введені початкові
дані для обчислень з клавіатури в поле для вводу
Вхідні дані організовуються у вигляді вхідних цифр.
Попередня підготовка вхідних даних не обов’язкова.
Вихідними даними є результати обчислень програми.
Вихідні дані організовані у вигляді повідомлення, що видає програма на екран.
Текстові повідомлення, що виводяться на екран.
Після програмування нашого проекту його необхідно відкомпілювати. Для цього натискаємо клавішу F5. Якщо програма не містить помилок то компілятор видасть повідомлення про успішне завершення і запустить наш проект на виконання. Тут ми вже зможемо протестувати створену програму. Тестування повинне забезпечити перевірку працездатності функцій для всіх варіантів вхідних даних.
Тестування програмного забезпечення (англ. Software Testing) - це процес технічного дослідження, призначений для виявлення інформації про якість продукту відносно контексту, в якому він має використовуватись. Техніка тестування також включає як процес пошуку помилок або інших дефектів, так і випробування програмних складових з метою оцінки. Може оцінюватись:
· відповідність вимогам, якими керувалися проектувальники та розробники
· правильна відповідь для усіх можливих вхідних даних
· виконання функцій за прийнятний час
· практичність
· сумісність з програмним забезпеченням та операційними системами
· відповідність задачам замовника.
Оскільки число можливих тестів навіть для нескладних програмних компонент практично нескінченне, тому стратегія тестування полягає в тому, щоб провести всі можливі тести з урахуванням наявного часу та ресурсів. Як результат програмне забезпечення (ПЗ) тестується стандартним виконанням програми з метою виявлення баґів (помилок або інших дефектів).
Тестування ПЗ може надавати об'єктивну, незалежну інформацію про якість ПЗ, ризики відмови, як для користувачів так і для замовників.
Тестування може проводитись, як тільки створено виконуваний код (навіть частково завершено). Процес розробки зазвичай передбачає коли та як буде відбуватися тестування. Наприклад, при поетапному процесі, більшість тестів відбувається після визначення системних вимог і тоді вони реалізуються в тестових програмах. На противагу цьому, відповідно до вимог гнучкої розробки ПЗ, програмування і тестування часто відбувається одночасно.
Тестування - це одна з технік контролю якості, що включає в себе
· Проектування тестів (Test Design)
· Виконання тестування (Test Execution)
· Аналіз отриманих результатів (Test Analysis).
Верифікація (Verification) - це процес оцінки системи або її компонентів з метою визначити чи задовольняють результати поточного етапу розробки умовам, сформованим на початку цього етапу. Тобто чи виконуються цілі, терміни, завдання з розробки проекту, визначені на початку поточної фази. Валідація (Validation) - це визначення відповідності розроблюваного програмного забезпечення між очікуваннями і потребами користувача, вимогам до системи.
План Тестування (Test Plan) - це документ, що описує весь обсяг робіт з тестування, починаючи з опису об'єкта, стратегії, розкладу, критеріїв початку і закінчення тестування, до необхідного в процесі роботи обладнання, спеціальних знань, а також оцінки ризиків з варіантами їх вирішення.
Тест дизайн (Test Design) - це етап процесу тестування програмного забезпечення, на якому проектуються і створюються тестові випадки (тест кейси), відповідно до визначених раніше критеріями якості та цілями тестування.
Тестовий випадок (Test Case) - це документ, що описує сукупність кроків, конкретних умов і параметрів, необхідних для перевірки реалізації тестованої функції або її частини.
Баг/Дефект Репорт (Bug Report) - це документ, що описує ситуацію або послідовність дій (Steps), що призвела до некоректної роботи об'єкта тестування (Misbehavior), із зазначенням причин та очікуваного результату (Expected Result).
Тестове Покриття (Test Coverage) - це одна з метрик оцінки якості тестування, що представляє із себе щільність покриття тестами вимог або коду, що виконується.
Деталізація Тест Кейсів (Test Case Specification) - це рівень деталізації опису тестових кроків і необхідного результату, при якому забезпечується розумне співвідношення часу проходження до тестового покриття.
Час Проходження Тест Кейса (Test Case Pass Time) - це час від початку проходження кроків тест кейса до отримання результату тесту.
Отже перейдемо до безпосередньої перевірки нашої програми на працездатність.
Наша програма розпочинатиметься виводом на екран монітора
комп’ютера головного вікна (див рис.8.1).
Рис. 8.1
Головне вікно програми
В даному вікні ми вводимо значення х і натискаємо вкладку Dialog. (див. рис. 8.2)
Перед нами з’явилось вікно вводу змінних. Тут ми вводимо початкові дані для обчислення (див рис 8.3).
Рис. 8.2 Введення х
Рис. 8.3 Введення змінних
Після цього ми можемо натиснути Run а потім Result для обчислення і виводу результату
(див рис 8.4)
Рис. 8.4 Виведення результату
Поточний результат ми можемо зберегти в текстовому файлі. Для
цього вибираємо вкладку File і пункт Save.
Поточний результат збережеться у зовнішньому файлі (див рис 8.5)
Рис. 8.5 Збережений результат
В ході виконання завдання курсової роботи мною було розроблено проект програми для обчислення заданого виразу з використанням dll.
Програма повноцінно працює при будь-яких вхідних даних і може бути
впроваджена у виробництво і застосовуватись кінцевими користувачами для проведення математичних обчислень
1. Інформатика. Мова програмування С++. Спецкурс. 10-12 класи. Навчальний посібник / Лєхан С.А. - Шепетівка, «Аспект», 2007 - 160 с.
2. Об’єтно-орієнтоване програмування мовою С++, Навчальний посібник,Т.Є.Рак, Львів,2011 - 401с
. Борис
Пахомов - C C++ и MS Visual С++ 2010 для начинающих - БХВ-Петербург, 2011 - 736
с.
#pragma once
#include "classHeader.h"
#include <fstream>
#include <stdio.h>
#include <string>
#include <vcclr.h>
app3 {
namespace System;namespace System::ComponentModel;namespace
System::Collections;namespace System::Windows::Forms;namespace
System::Data;namespace System::Drawing;namespace System::IO;namespace
System::Text;
/// <summary>
/// Summary for Form1
///
/// WARNING: If you change the name of this class, you will need to change
/// 'Resource File Name' property for the managed resource compiler tool
/// associated with all .resx files this class depends on. Otherwise,
/// the designers will not be able to interact properly with localized
/// resources associated with this form.
/// </summary>ref class Form1 : public System::Windows::Forms::Form
{:(void)
{();
//
//TODO: Add the constructor code here
//
}
:
/// <summary>
/// Clean up any resources being used.
/// </summary>
~Form1()
{(components)
{components;
}
}: System::Windows::Forms::Label^ label1;: System::Windows::Forms::MenuStrip^ menuStrip1;
: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::TextBox^ textBox1;: System::Windows::Forms::TextBox^ textBox2;: System::Windows::Forms::Label^ label2;: System::Windows::Forms::TextBox^ textBox3;: System::Windows::Forms::Label^ label3;: System::Windows::Forms::TextBox^ textBox4;: System::Windows::Forms::Label^ label4;: System::Windows::Forms::TextBox^ textBox5;: System::Windows::Forms::Label^ label5;: System::Windows::Forms::TextBox^ textBox6;: System::Windows::Forms::Label^ label6;: System::Windows::Forms::TextBox^ textBox7;: System::Windows::Forms::Label^ label7;: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::ToolStripMenuItem^ ;: System::Windows::Forms::TextBox^ textBox8;: System::Windows::Forms::Label^ label8;: System::Windows::Forms::TextBox^ textBox9;: System::Windows::Forms::Label^ label9;:
:
/// <summary>
/// Required designer variable.
/// </summary>::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>InitializeComponent(void)
{>label1 = (gcnew System::Windows::Forms::Label());>menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());>dialogToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>aboutToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>runToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>resultToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>fileToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>renameToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>saveToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>deleteToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>quidToolStripMenuItem = (gcnew ::Windows::Forms::ToolStripMenuItem());>textBox1 = (gcnew System::Windows::Forms::TextBox());>textBox2 = (gcnew System::Windows::Forms::TextBox());>label2 = (gcnew System::Windows::Forms::Label());>textBox3 = (gcnew System::Windows::Forms::TextBox());>label3 = (gcnew System::Windows::Forms::Label());>textBox4 = (gcnew System::Windows::Forms::TextBox());>label4 = (gcnew System::Windows::Forms::Label());>textBox5 = (gcnew System::Windows::Forms::TextBox());>label5 = (gcnew System::Windows::Forms::Label());>textBox6 = (gcnew System::Windows::Forms::TextBox());>label6 = (gcnew System::Windows::Forms::Label());>textBox7 = (gcnew System::Windows::Forms::TextBox());>label7 = (gcnew System::Windows::Forms::Label());>textBox8 = (gcnew System::Windows::Forms::TextBox());>label8 = (gcnew System::Windows::Forms::Label());>textBox9 = (gcnew System::Windows::Forms::TextBox());>label9 = (gcnew System::Windows::Forms::Label());>menuStrip1->SuspendLayout();>SuspendLayout();
//
// label1
//>label1->AutoSize = true;>label1->Location = System::Drawing::Point(51, 48);>label1->Name = L"label1";>label1->Size = System::Drawing::Size(54, 13);>label1->TabIndex = 0;>label1->Text = L"Введіть а";>label1->Visible = false;
//
// menuStrip1
//>menuStrip1->Items->AddRange(gcnew cli::array< ::Windows::Forms::ToolStripItem^ >(5) {this-
>dialogToolStripMenuItem,>aboutToolStripMenuItem, this->runToolStripMenuItem, this-
>resultToolStripMenuItem, this->fileToolStripMenuItem});>menuStrip1->Location = System::Drawing::Point(0, 0);>menuStrip1->Name = L"menuStrip1";>menuStrip1->Size = System::Drawing::Size(264, 24);>menuStrip1->TabIndex = 1;>menuStrip1->Text = L"menuStrip1";
//
// dialogToolStripMenuItem
//>dialogToolStripMenuItem->Name = L"dialogToolStripMenuItem";>dialogToolStripMenuItem->Size = System::Drawing::Size(53, 20);>dialogToolStripMenuItem->Text = L"Dialog";>dialogToolStripMenuItem->Click += gcnew ::EventHandler(this, &Form1::dialogToolStripMenuItem_Click);
//
// aboutToolStripMenuItem
//>aboutToolStripMenuItem->Name = L"aboutToolStripMenuItem";>aboutToolStripMenuItem->Size = System::Drawing::Size(52, 20);>aboutToolStripMenuItem->Text = L"About";
//
// runToolStripMenuItem
//>runToolStripMenuItem->Name = L"runToolStripMenuItem";>runToolStripMenuItem->Size = System::Drawing::Size(40, 20);>runToolStripMenuItem->Text = L"Run";>runToolStripMenuItem->Click += gcnew System::EventHandler(this,
&Form1::runToolStripMenuItem_Click);
//
// resultToolStripMenuItem
//>resultToolStripMenuItem->Name = L"resultToolStripMenuItem";>resultToolStripMenuItem->Size = System::Drawing::Size(51, 20);>resultToolStripMenuItem->Text = L"Result";>resultToolStripMenuItem->Click += gcnew ::EventHandler(this, &Form1::resultToolStripMenuItem_Click);
//
// fileToolStripMenuItem
//>fileToolStripMenuItem->DropDownItems->AddRange(gcnew ::array< System::Windows::Forms::ToolStripItem^ >(4) {this-
>renameToolStripMenuItem,>saveToolStripMenuItem, this->deleteToolStripMenuItem, this-
>quidToolStripMenuItem});>fileToolStripMenuItem->Name = L"fileToolStripMenuItem";>fileToolStripMenuItem->Size = System::Drawing::Size(37, 20);>fileToolStripMenuItem->Text = L"File";
//
// renameToolStripMenuItem>renameToolStripMenuItem->Name = L"renameToolStripMenuItem";>renameToolStripMenuItem->Size = System::Drawing::Size(152, 22);>renameToolStripMenuItem->Text = L"Open";>renameToolStripMenuItem->Click += gcnew ::EventHandler(this, &Form1::renameToolStripMenuItem_Click);
//
// saveToolStripMenuItem
//>saveToolStripMenuItem->Name = L"saveToolStripMenuItem";>saveToolStripMenuItem->Size = System::Drawing::Size(152, 22);>saveToolStripMenuItem->Text = L"Save";>saveToolStripMenuItem->Click += gcnew System::EventHandler(this,