на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Специфікація якості програми
p align="left">На цьому закінчується підготовчий етап установки. Клацання по кнопці Next відкриває діалогове вікно Start Copying Files (Початок копіювання файлів). У цьому вікні в списку Current Settings (Поточні установки) зазначена інформація про обраний варіант установки: тип установки, імена каталогів, куди будуть копіюватися файли Delphi, і ім'я програмної папки, переглядом спису Current Settings (Поточні установки), варто перевірити параметри, що будуть використовуватися під час безпосередньої установки Delphi.

Якщо всі параметри установки задані правильно, необхідно натиснути кнопку Install (Інсталювати). Після цього починається процес копіювання файлів Delphi з CD-ROM на жорсткий диск комп'ютера.

Після копіювання всіх необхідних файлів відкривається діалогове вікно Readme Information (Інформація). Натискання кнопки Next у цьому вікні відкриває останнє діалогове вікно програми установки -- Setup Complete (Установка завершена).

У цьому вікні шляхом установки перемикача в одне з двох можливих положень вибирається варіант завершення роботи програми установки Delphi.

Варіантом завершення, що рекомендується, програми установки є перезапуск комп'ютера.

Після натискання кнопки Finish виконується перезавантаження Windows (якщо обраний варіант перезапуску комп'ютера). На цьому установка Delphi завершується.

Запуск Delphi

Delphi, як і будь-яка програма Windows, може бути запущена двома способами: вибором команди головного меню Windows чи клацанням на ярлику, що ідентифікує Delphi і розташовується, як правило, на робочому столі.

Основні вікна Delphi

Вид екрана після запуску Delphi трохи незвичайний. Замість одного вікна на екрані з'являються чотири: головне вікно Delphi 5, вікно форми Form1, вікно інспектора об'єктів Object Inspector і вікно редактора коду Unitl.pas, що майже цілком закрито вікном форми.

У головному вікні Delphi 5 знаходиться меню команд Delphi, панель інструментів і палітра компонентів.

Вікно форми Form1 являє собою заготовку (макет) вікна розроблювального додатка.

Вікно інспектора об'єктів Object Inspector дозволяє змінювати властивості (характеристики) об'єктів: форми, командних кнопок, полів введення і т.д. Після запуску Delphi у діалоговому вікні Object Inspector (Інспектор об'єктів) знаходяться властивості форми Form1.

У термінології візуального проектування об'єктами проекту є діалогові вікна і елементи керування, що знаходяться в діалогових вікнах (командні кнопки, поля введення текстової інформації, перемикачі і т.д.).

Вікно редактора коду, яке можна побачити, відсунувши убік вікно чи форми натиснувши клавішу <F12>, містить сформований Delphi шаблон тексту (коду) програми.

Для демонстрації можливостей Delphi і технології візуального проектування займемося розробкою програми перерахування ваги з фунтів у кілограми.

Робота над новим проектом, так у Delphi називається розроблювальний додаток, починається зі створення стартової форми -- вікна, що з'являється при запуску додатка.

Стартова форма створюється шляхом зміни властивостей (характеристик) форми Form1. Властивості форми визначають її зовнішній вигляд: розмір, положення на екрані, текст заголовка, вид рамки. Властивості перераховані на вкладці Properties (Властивості) діалогового вікна Object Inspector (Інспектор об'єктів). У лівому стовпчику знаходяться імена властивостей, а в правій -- їхні значення. При створенні форми в першу чергу потрібно змінити значення властивості caption (Заголовок). У нашому прикладі треба замінити Form1 на Фунти - кілограми. Аналогічним образом можна установити значення властивостей Height і Width, що визначають висоту і ширину форми. Цим властивостям треба привласнити значення 185 і 290.

Розмір форми і її положення на екрані, а також розмір і положення елементів керування на поверхні форми задаються в пікселах, тобто крапках екрана.

Розмір форми можна змінити так само, як і розмір будь-якого іншого вікна Windows, тобто захопленням і переміщенням (за допомогою миші) границі вікна. По закінченні переміщення границь автоматично зміняться значення властивостей Height і Width. Вони будуть відповідати встановленому розміру форми.

При виборі деяких властивостей, наприклад, властивості Color (Колір), що визначає колір фону форми, праворуч від значення властивості виводиться значок (стрілка), що вказує на наявність списку, що розкривається. Клацання на стрільці розкриває список припустимих значень властивості, з якого можна вибрати потрібне значення.

Об'єкти, у тому числі і форми, крім звичайних властивостей можуть мати і складні властивості. Перед ім'ям складної властивості розташований значок "плюс". При подвійному щиглику на імені складної властивості розкривається список уточнюючих властивостей, а значок "плюс" міняється на "мінус". У поле значення складної властивості Font розташована командна кнопка з трьома крапками, при натисканні якої з'являється стандартне діалогове вікно Windows, що дозволяє вибрати шрифт і задати його параметри.

Більшість властивостей визначають зовнішній вигляд форми. Властивість Name, що визначає ім'я форми, використовується в програмі для керування формою.

Практичне завдання

З використанням засобів візуального програмування розробити програму для автоматичного розрахунку значень складної функції:

Приклад файлу форми Delphi6 для табулювання функції:

unit Func_tab;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, Grids, Menus;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Edit3: TEdit;

StringGrid1: TStringGrid;

BitBtn1: TBitBtn;

Label4: TLabel;

ListBox1: TListBox;

Memo1: TMemo;

BitBtn2: TBitBtn;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N3: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

BitBtn3: TBitBtn;

Procedure BitBtn1Click (Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure Edit3KeyPress(Sender: TObject; var Key: Char);

procedure Edit1Exit(Sender: TObject);

procedure Edit2Exit(Sender: TObject);

procedure Edit3Exit(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

X,Xn,Xk,H:real;//Параметри табулювання

fname:String[25];//

f:textfile;

implementation

{$R *.dfm}

Повідомлення про помилку у завданні інтервалів табулювання

procedure P1;

begin

MessageDlg ('"Xп" не може бути більшим ніж "Хк".' +#13

+'Введіть значення правильно.', mtWarning, [mbCancel], 0);

Form1.Edit1.Text:='';

Form1.Edit2.Text:='';

end;

//Повідомлення про помилку у значенні кроку табулювання по відношенню до

// меж табулювання

procedure P2;

begin

MessageDlg ('Крок табулювання "H" не може приймати таких значень.' +#13

+'Введіть значення правильно.', mtWarning, [mbCancel], 0);

Form1.Edit3.Text:='';

end;

//Повідомлення про помилку перевищення допустимої розмірності даних

procedure P3;

begin

MessageDlg ('Введене значення знаходться за межами допустимого.' +#13

+'Введіть значення правильно.', mtWarning, [mbCancel], 0);

end;

procedure P4;

begin

MessageDlg ('Треба ввести всі дані.', mtWarning, [mbCancel], 0);

end;

//Процедура очищення даних у формі

procedure P5;

begin

Form1.Edit1.Text:='';

Form1.Edit2.Text:='';

Form1.Edit3.Text:='';

Form1.Edit1.SetFocus;

Form1.Height:=167;

Form1.Position:=poScreenCenter;

Form1.Label4.Visible:=False;

Form1.Label5.Visible:=False;

Form1.Label6.Visible:=False;

Form1.Label7.Visible:=False;

Form1.StringGrid1.Visible:=False;

Form1.ListBox1.Items.Clear;

Form1.Memo1.Lines.Clear;

Form1.ListBox1.Visible:=False;

Form1.Memo1.Visible:=False;

end;

//Контроль введення даних у поля фории

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

case Key of

'0'..'9',Chr(8):;

'-': if (pos('-',Edit1.Text)= 0) and (length(Edit1.Text) = 0)

Then Key := '-'

else Key := Chr(0);

',': if pos(',',Edit1.Text)<>0

THen Key := Chr(0);

else Key := Chr(0);

end;

end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

case Key of

'0'..'9',Chr(8):;

'-': if (pos('-',Edit2.Text)= 0) and (length(Edit2.Text) = 0)

Then Key := '-'

else Key := Chr(0);

',': if pos(',',Edit2.Text)<>0

THen Key := Chr(0);

else Key := Chr(0);

end;

end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

case Key of

'0'..'9',Chr(8):;

',': if pos(',',Edit3.Text)<>0

THen Key := Chr(0);

else Key := Chr(0);

end;

end;

procedure TForm1.Edit1Exit(Sender: TObject);

begin

If Edit1.Text='' Then Exit;

If (Abs(StrToFloat(Edit1.Text))>100000)Then

begin

P3;

Edit1.Text:='';

Edit1.SetFocus;

end;

end;

procedure TForm1.Edit2Exit(Sender: TObject);

begin

If Edit2.Text='' Then Exit;

If (Abs(StrToFloat(Edit2.Text))>100000)Then

begin

P3;

Edit2.Text:='';

Edit2.SetFocus;

end;

end;

procedure TForm1.Edit3Exit(Sender: TObject);

begin

If Edit3.Text='' Then Exit;

If (StrToFloat(Edit3.Text)>10000)Then

begin

P3;

Edit3.Text:='';

Edit3.SetFocus;

end;

end;

//Основна процедура програми

rocedure TForm1.BitBtn1Click(Sender: TObject);

var

I,K:integer;

Y :array[0..1000] of Real;

label L1;

begin

//Перевірка наявності правильних значень в полях введення і їх взаємної

//коректності, з виведенням відповдних повідомлень і формуванням переходів

IF (Edit1.Text = '') or (Edit2.Text = '') or(Edit3.Text = '') then

begin

P4;

Exit;

end;

IF Edit3.Text = '0' then

begin

MessageDlg ('Треба задати крок табулювання,'

+ #13 +' який має ненульове значення', mtWarning, [mbCancel], 0);

Edit3.Text := '';

Edit3.SetFocus;

goto l1;

end;

Xn:=StrToFloat(Edit1.Text);

Xk:=StrToFloat(Edit2.Text);

H:=StrToFloat(Edit3.Text);

If Xk<Xn Then

begin

P1;

goto L1;

end;

If (H<=0) Or (H>=Abs(Xk-Xn)) Then

begin

P2;

goto L1;

end;

X:=Xn-H;

K:= Round((Abs((Xk-Xn))/H));

If K>1000 Then

begin

MessageDlg ('Переповнення масиву даних.'

+#13 +'Треба зменшити інтервал або'

+#13 +' збільшити крок табулювання', mtWarning, [mbCancel], 0);

Edit1.Text := '';

Edit2.Text := '';

Edit3.Text := '';

goto l1;

end;

//Фомування компонентів для виведення результатів

StringGrid1.RowCount:= K+2;

Form1.Height:=430;

Form1.Position:=poScreenCenter;

Label4.Visible:=True;

Label5.Visible:=True;

Label6.Visible:=True;

Label7.Visible:=True;

StringGrid1.Visible:=True;

Label7.Caption:='у полі memo';

ListBox1.Items.Clear;

Memo1.Lines.Clear;

ListBox1.Visible:=True;

Memo1.Visible:=True;

StringGrid1.Cells[0,0]:='X';

StringGrid1.Cells[1,0]:='Y';

//Розрахунок і виведення результатів

For I:=0 to K do

begin

Y[I]:=(1+ln(2-Xn+H*I))/(1-Xn+H*I+0.1);

//Наступний рядок забезпечує виведення результату

// з точністю до тисячних

Y[I]:= Round(Y[I]*1000)/1000;

StringGrid1.Cells[0,I+1]:=FloatToStr(Xn+H*I);//Виведення у таблицю

StringGrid1.Cells[1,I+1]:=FloatToStr(Y[I]);

ListBox1.Items.Add(FloatToStr(Xn+H*I)+' '+FloatToStr(Y[i])); //Виведення у список

Memo1.Lines.Add(FloatToStr(Xn+H*I)+' '+FloatToStr(Y[i])); //Виведення у пол Мемо

end;

l1:;

end;

//Запис результатів у файл

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

ListBox1.Items.SaveToFile('result.txt');

end;

//Збереження у файлі

rocedure TForm1.N4Click(Sender: TObject);

begin

ListBox1.Items.SaveToFile(fname);

end;

//Зчитати з файла і вивести у поле Мемо із скриттям зайвих компоентів

procedure TForm1.N3Click(Sender: TObject); begin

If FileExists('result.txt')= False Then

Begin

MessageDlg('Файла не існує', mtWarning, [mbCancel], 0);

Exit;

end;

Label7.Visible:=True;

Label7.Caption := 'Результати зчитування з файлу';

Memo1.Lines.LoadFromFile('result.txt');

Memo1.Visible:=True;

Label4.Visible:=False;

Label5.Visible:=False;

Label6.Visible:=False;

ListBox1.Visible:=False;

StringGrid1.Visible:=False;

Form1.Height:=430;

Memo1.SetFocus;

Form1.Position:=poScreenCenter;

end;

//Створення файлу з перевіркою його існування

rocedure TForm1.FormActivate(Sender: TObject);

begin

fname:='result.txt';

AssignFile (f, fname);

If FileExists('result.txt')= False Then

begin

rewrite(f);

CloseFile(f);

end;

end;

//Очищення полів введення

rocedure TForm1.BitBtn3Click(Sender: TObject);

begin

P5;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

P5;

end;

//Вихід з програми

rocedure TForm1.N7Click(Sender: TObject);

begin

Close;

end;

//Виведення довідки

rocedure TForm1.N8Click(Sender: TObject);

begin

end;

procedure TForm1.N9Click(Sender: TObject);

begin

ShowMessage('Навчальна програма табулювання функції.' + #13 +

' Версія 1.0');

end;

end.

Список використаної літератури

1. Б.Іванов “Дискретная математика. Алгоритмы и программы”.

2. В. Турский. «Методология программирования».

3. «Требования и спецификации в разработке программ.» М. Мир, 1984.

4. Конспект лекцій з предмету.

5. Інтернет мережа..

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.