Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач.rtf
Скачиваний:
1
Добавлен:
25.11.2019
Размер:
23.87 Mб
Скачать

Messagedlg

Блок 2 – запрос удаления несохраненных данных.

Блок 3 – вызов процедуры.

Cleansg

3

Блок 4 – вывод в поле memo подтверждение создания базы.

4

Memo1.Lines.Insert

7

Конец

5. процедура добавления записи: button1click.

Пояснения к алгоритму 5:

Блок 2 – проверка edit-ов на не пустые строки.

Блок 3 – попытка присвоить строке целочисленные переменные.

сообщение о необходимости полей 2…5 быть числом.

Блок 4 – задание начального условия цикла.

Блоки 5,6 – цикл очистки типового массива.

Блок 7 – задание начального условия цикла.

Блоки 8,9,10 – цикл перевода строки StringGrid в массив записей.

Блок 11 – задание начального условия цикла.

Блоки 12,13,14 – цикл нахождения количества записей больших добавленного значения.

Блок 13 – выполнение условия сравнения текстовых переменных.

Блоки 15,16 – междустрочное добавление записи в массив.

Блок 17 – вызов процедуры.

Блок 18 – задание начального условия цикла.

Блоки 19,20,21,22,23 – цикл перевода массива в StrinпGrid.

Блок 24 – вызов процедуры очистки edit-ов.

Блок 25 – вызов процедуры авторасчета.

сообщение о необходимости всех полей к обязательному заполнению.

Начало

1

Да

Нет

If edit1.text <>'' and edit2.text <>'' and edit3.text <>'' and edit4.text <>'' and edit5.text <>''

2

А

Да

Нет

B

Messagedlg

Try:n=strtoint(edit2…5)

3

n = 0

4

n = 0, 200, 1

5

6

Mzap[n].prod:='';

Mzap[n].onng:=0;

Mzap[n].plan:=0;

Mzap[n].onkg:=0;

Mzap[n].svocep:=0;

7

n = 1

8

n = 1, sg1.rowcount, 1

sg1.Cells[0,n]<>''

Нет

Да

9

D

C

B

А

D

C

B

А

Mzap[2*n].prod:=sg1.Cells[0,n];

Mzap[2*n].onng:=strtoint(sg1.cells[1,n]);

Mzap[2*n].plan:=strtoint(sg1.cells[2,n]);

Mzap[2*n].onkg:=strtoint(sg1.cells[3,n]);

Mzap[2*n].svocep:=strtofloat(sg1.cells[5,n]);

10

n = 1, n = 0

11

12

n = 1, 200, 1

Нет

Да

13

(Mzap[2*n].prod<>'') and (CompareText(edit1.Text,Mzap[2*n].prod)>0)

14

L = L + 1

15

k = 2L + 1

Mzap[k].prod:=edit1.Text;

Mzap[k].onng:=strtoint(edit2.text);

Mzap[k].plan:=strtoint(edit3.text);

Mzap[k].onkg:=strtoint(edit4.text);

Mzap[k].svocep:=strtofloat(edit5.text);

16

Cleansg

17

18

n = 1, k = 1

19

n = 1, 200, 1

Нет

Да

20

Mzap[n].prod<>''

D

C

B

А

D

C

B

А

sg1.Cells[0,k]:=Mzap[n].prod;

sg1.Cells[1,k]:=inttostr(Mzap[n].onng);

sg1.Cells[2,k]:=inttostr(Mzap[n].plan);

sg1.Cells[3,k]:=inttostr(Mzap[n].onkg);

sg1.Cells[5,k]:=floattostr(Mzap[n].svocep);

21

22

k = k +1

n = n + 1

23

B

А

24

Cleanedit messagedlg

25

Autorachet

Конец

26

6. процедура автоматического расчета: autorachet.