- •1. Введение.
- •2. Постановка задачи.
- •3. Математическая формулировка задачи и выбор метода обработки информации
- •4. Разработка алгоритма, схема алгоритма и его описание.
- •Messagedlg
- •Cleansg
- •Memo1.Lines.Insert
- •Messagedlg
- •Cleansg
- •Cleanedit messagedlg
- •Autorachet
- •Пояснения к алгоритму 6:
- •Пояснения к алгоритму 7:
- •Пояснения к алгоритму 8:
- •Cleansg
- •Autorachet
- •Пояснения к алгоритму 9:
- •Autorachet
- •Пояснения к алгоритму 10:
- •Пояснения к алгоритму 11:
- •Пояснения к алгоритму 12:
- •5. Форма представления исходных данных
- •6. Разработка интерфейса
- •7. Листинг программы
- •8. Результаты проведенных расчетов и их анализ.
- •Список использованной литературы
- •Приложения
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.