Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторні делфі.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать

Лабораторна робота №10 Створення зручного інтерфейсу програми розрахунку партії деталей

10.1 Мета роботи

Навчитись створювати табличні розрахунки з автоматичним вивільненням рядків при введенні наступних даних. Навчитись застосовувати змінні величини типу array, внесення їх користувачем з клавіатури і програмним їх опрацюванням.

10.2 Теоретичні відомості

У попередній роботі попри отримані для користувача ряд зручностей виявилась одна велика незручність. ЇЇ прояв відбувається тоді, коли після попереднього розрахунку якості деталей при величині партії m вводиться в поле редагування наступна величина m не більша, а менша за значенням від попередньої. Кількість деталей, зазначених в правому стовпці таблиці при цьому залишається попередньою. Тобто не відбувається очищення рядків об’єкта StringGrid1 від попередніх результатів. Для цього слід запрограмувати відповідну процедуру.

10.3 Хід роботи

10.3.1 Входять у середовище Delphi, відкривши проект лабораторної роботи №9.

10.3.2 Вводять у форму ще одну таблицю рядків StringGrid2 із значенням властивостей ColCount = 2 i RowCount=101.

10.3.3 Над таблицею розміщають два текстових поля, одне з яких (Label9) матиме заголовок “Сума”, а друге (Label10) – “-“.

10.3.4 Запрограмовують процедуру очистки попередніх результатів таблиці рядків. Для цього відкривають вікно текста програми і після розділу implementation вводять опис методу Refresh таблиці рядків StringGrid2.

procedure TForm1.Refresh;

var

j: Integer;

begin

for j:=1 to 100 do

StringGrid2.Cells[0, j]: = ' ';

end;

10.3.5 Аналогічним чином вводять опис методу Refresh1 для очистки рядків StringGrid1.

procedure TForm1.Refresh1;

var

j, i: Integer;

s: string;

begin

for j:=0 to 100 do

for i:=0 to 100 do

StringGrid1.Cells[j+1, i+1]:=' ';

end;

10.3.6 Програмують подію включення кнопки SpeedButton2 “Розрахунок вартості партії деталей”.

procedure TForm1.SpeedButton2Click(Sender: TObject);

var

money: array[1..100] of Integer;

j, m, n, sum, cod: Integer;

s : string;

begin

n:=2; {коефіціент накладних витрат}

Val(Edit1.Text,m,cod);

Refresh;

StringGrid2.Cells[1,0]:=’назва деталі';

j:=-1;sum:=0;

while j< m do

begin

j:=j+1;

Str(j,s); Form1.StringGrid2.Cells[0,j]:='деталь'+s;

Val(StringGrid2.Cells[1,j+1], money[j], cod);

sum:=sum+money[j]*n;

Str(sum,s); Label10.Caption:=s;

end;

end;

10.3.7 Враховуючи зміни, остаточно процедура включення кнопки “Розрахунок якості деталей” набуде такого вигляду:

procedure TForm1.SpeedButton1Click(Sender: TObject);

var

n, q, qual, qual2, x, z, z1, komp, komp2, a, b, m, cod: Integer;

s: string;

begin

Refresh1;

Val(Edit2.Text, b, cod);

q:=100-b*10; z:=0; z1:=0; qual:=0;

Val(Edit1.Text, m, cod);

case RadioGroup1.ItemIndex of:

0: a:=1;

1: a:=2;

2: a:=3;

3: a:=4;

4: a:=5;

end;

for n:=1 to m do

begin

qual:=qual+Round(((a/10+2.6)*(Abs(Sin(Pi/2*n/m)))));

if qual>100 then qual:=100;

Str(qual,s); Form1.StringGrid1.Cells[1,n]:= s+'балів’;

Randomize;

qual2:=Random(b); qual2:= Round((q+qual2)*qual/100);

if qual2>100 then qual:=100;

Str(qual2,s); Form1.StringGrid1.Cells[2,n]:= s+’балів’;

if qual < 75 then x:=0

else x:=1;

z:=z+x;

komp:=Trunc(z/5);

if qual2 < 75 then x:=0

else x:=1;

z1:=z1+x;

komp2:=Trunc(z1/5);

end;

Str(z,s); Label3.Caption:=s+'штук';

Str(z1,s); Label5.Caption:=s+'штук';

Str(komp,s); Label4.Caption:= s;

Str(komp2,s);Label6.Caption:=s;

end;

10.3.8 Для попереднього оголошення процедур очищення рядків таблиць у вікні Редактора коду в розділі type розроблюваного програмного модуля вкладають рядки

procedure Refresh;

procedure Refresh1;

10.3.9 Для поля редагування Edit1 вводять підказку (властивість Hint) “не більше 100шт.”. Появу підказки при наведенні на дану кнопку курсора забезпечують властивістю Show hint, надаючи їй значення True.

10.3.10 В той же спосіб вводять підказку для Edit2 - “введіть кількість балів від 1 до 5”.

10.3.11 Зберігають програму, перевіряють її роботу і при відсутності помилок створюють її ехе-файл.