Помогите с написанием блок-схемы к программе в delphi
Unit1
Код:
unit Unit1;
procedure TForm1.Button3Click(Sender: TObject);
begin
Table2.Append;
Table2.FieldByName('Mater_name').AsString:=Edit7.Text;
Table2.FieldByName('cena(grn)').AsString:=Edit8.Text;
Table2.FieldByName('kachestvo').AsString:=Edit9.Text;
Table2.FieldByName('Srok_postavki(dni)').AsString:=Edit10.Text;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;
Table2.Post;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Table3.Append;
Table3.FieldByName('Nazvanie_postavshika').AsString:=Edit11.Text;
Table3.FieldByName('material_name').AsString:=Edit12.Text;
Table3.FieldByName('adress').AsString:=Edit13.Text;
Table3.FieldByName('fin_sostojanie').AsString:=Edit14.Text;
Table3.FieldByName('Kachestvo').AsString:=Edit15.Text;
Table3.FieldByName('nadegnost').AsString:=Edit16.Text;
Table3.FieldByName('assortiment(shtuk)').AsString:=Edit17.Text;
Table3.FieldByName('cena(grn)').AsString:=Edit18.Text;
Table3.FieldByName('vremja_postavki(dni)').AsString:=Edit19.Text;
Edit11.Clear;
Edit12.Clear;
Edit13.Clear;
Edit14.Clear;
Edit15.Clear;
Edit16.Clear;
Edit17.Clear;
Edit18.Clear;
Edit19.Clear;
Table3.Post;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
If Application.MessageBox('Вы действительно хотите удалить эту запись','Предупреждение',MB_OKCANCEL)=id_OK then
begin
IF DBGrid2.DataSource=Form1.DataSource2 then
Form1.Table2.Delete
end;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
If Application.MessageBox('Вы действительно хотите удалить эту запись','Предупреждение',MB_OKCANCEL)=id_OK then
begin
IF DBGrid3.DataSource=Form1.DataSource3 then
Form1.Table3.Delete
end;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
If Application.MessageBox('Вы действительно хотите удалить эту запись','Предупреждение',MB_OKCANCEL)=id_OK then
begin
IF DBGrid3.DataSource=Form1.DataSource3 then
Form1.Table3.Delete
end;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
form1.Close;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
form1.Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Append;
Table1.FieldByName('Izdel_name').AsString:=Edit1.Text;
Table1.FieldByName('Mater_name').AsString:=Edit2.Text;
Table1.FieldByName('cena(grn)').AsString:=Edit3.Text;
Table1.FieldByName('kachestvo').AsString:=Edit4.Text;
Table1.FieldByName('srok_proiz(dni)').AsString:=Edit5.Text;
Table1.FieldByName('Assortiment(sht)').AsString:=Edit6.Text;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Table1.Post;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
If Application.MessageBox('Вы действительно хотите удалить эту запись','Предупреждение',MB_OKCANCEL)=id_OK then
begin
IF DBGrid1.DataSource=Form1.DataSource1 then
Form1.Table1.Delete
end;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Form1.Close;
end;
end.
Unit2
Код:
unit Unit2;
procedure TForm2.Button1Click(Sender: TObject);
var
i,j:Integer;
begin
with Form2.StringGrid1 do
for i := 0 + FixedRows to RowCount - 1 do
for j := 0 + FixedCols to ColCount - 1 do
Cells[j,i]:='';
begin
i:=0;
Form1.Table3.First;
While not Form1.Table3.eof do
begin
Form2.StringGrid1.Cells[0,i+1]:=(Form1.Table3.FieldByName('Nazvanie_postavshika').AsString);
inc(i);
Form1.Table3.Next;
end;
begin
i:=0;
Form1.Table3.First;
While not Form1.Table3.eof do
begin
if form1.Table3.FieldByName('cena(grn)').AsInteger <= 25 then Form2.StringGrid1.Cells[1,i+1]:='1';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 50 then Form2.StringGrid1.Cells[1,i+1]:='2';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 75 then Form2.StringGrid1.Cells[1,i+1]:='3';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 100 then Form2.StringGrid1.Cells[1,i+1]:='4';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 150 then Form2.StringGrid1.Cells[1,i+1]:='5';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 200 then Form2.StringGrid1.Cells[1,i+1]:='6';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 300 then Form2.StringGrid1.Cells[1,i+1]:='7';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 400 then Form2.StringGrid1.Cells[1,i+1]:='8';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 500 then Form2.StringGrid1.Cells[1,i+1]:='9';
if form1.Table3.FieldByName('cena(grn)').AsInteger >= 1000 then Form2.StringGrid1.Cells[1,i+1]:='10';
inc(i);
Form1.Table3.Next;
end;
begin
i:=0;
Form1.Table3.First;
While not Form1.Table3.eof do
begin
Form2.StringGrid1.Cells[2,i+1]:=(Form1.Table3.FieldByName('Kachestvo').AsString);
inc(i);
Form1.Table3.Next;
end;
begin
i:=0;
Form1.Table3.First;
While not Form1.Table3.eof do
begin
Form2.StringGrid1.Cells[3,i+1]:=(Form1.Table3.FieldByName('nadegnost').AsString);
inc(i);
Form1.Table3.Next;
end;
begin
i:=0;
Form1.Table3.First;
While not Form1.Table3.eof do
begin
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger <= 99 then Form2.StringGrid1.Cells[4,i+1]:='1';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 200 then Form2.StringGrid1.Cells[4,i+1]:='2';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 300 then Form2.StringGrid1.Cells[4,i+1]:='3';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 500 then Form2.StringGrid1.Cells[4,i+1]:='4';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 750 then Form2.StringGrid1.Cells[4,i+1]:='5';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 1000 then Form2.StringGrid1.Cells[4,i+1]:='6';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 1250 then Form2.StringGrid1.Cells[4,i+1]:='7';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 1500 then Form2.StringGrid1.Cells[4,i+1]:='8';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 2000 then Form2.StringGrid1.Cells[4,i+1]:='9';
if form1.Table3.FieldByName('assortiment(shtuk)').AsInteger >= 2500 then Form2.StringGrid1.Cells[4,i+1]:='10';
inc(i);
Form1.Table3.Next;
end;
end;
end;
end;
end;
end;
end;
procedure TForm2.N2Click(Sender: TObject);
begin
form1.Show;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
Form2.StringGrid1.Cells[0,0]:='Поставщик';
Form2.StringGrid1.Cells[1,0]:='Оценка цены(0-10)';
Form2.StringGrid1.Cells[2,0]:='Оценка качества(0-10)';
Form2.StringGrid1.Cells[3,0]:='Оценка надежности(0-10)';
Form2.StringGrid1.Cells[4,0]:='Оценка ассортимента(0-10)';
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Form2.Hide;
Form3.show;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
Form2.Hide;
Form1.Show;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
Form2.Close;
end;
end.
Unit3
Код:
unit Unit3;
var
Form3: TForm3;
implementation
uses Unit4, Unit2, Unit1;
{$R *.dfm}
procedure TForm3.Button2Click(Sender: TObject);
var
i: integer;
max, tmp: real;
begin
form4.Show;
max := Low(Integer);
form4.stringgrid1.RowCount := 1;
form4.stringgrid1.ColCount := 2;
form4.stringgrid1.FixedCols := 1;
if strtofloat(form3.edit1.Text) + strtofloat(form3.edit2.Text) + strtofloat(form3.edit3.Text) + strtofloat(form3.edit4.Text) <> 1 then
begin
showmessage('Сумма удаленных весов критериев не равна 1');
exit;
end;
Form3.Hide;
form4.Show;
for i := 1 to form2.stringgrid1.rowcount - 1 do
if (length(form2.stringgrid1.Cells[1, i]) <> 0) and
(length(form2.stringgrid1.Cells[2, i]) <> 0) and
(length(form2.stringgrid1.Cells[3, i]) <> 0) and
(length(form2.stringgrid1.Cells[4, i]) <> 0) then
begin
form4.stringgrid1.RowCount := form4.stringgrid1.RowCount + 1;
tmp :=
strtofloat(form2.stringgrid1.Cells[1, i]) * strtofloat(form3.edit1.Text) +
strtofloat(form2.stringgrid1.Cells[2, i]) * strtofloat(form3.edit2.Text) +
strtofloat(form2.stringgrid1.Cells[3, i]) * strtofloat(form3.edit3.Text) +
strtofloat(form2.stringgrid1.Cells[4, i]) * strtofloat(form3.edit4.Text);
form4.stringgrid1.Cells[1, form4.stringgrid1.RowCount - 1] := floattostr(tmp);
if tmp > max then
max := tmp;
end;
if form4.stringgrid1.RowCount = 1 then
begin
form4.stringgrid1.RowCount := 0;
form4.stringgrid1.ColCount := 0;
form4.stringgrid1.cells[0, 0] := '';
form4.label3.Caption := '';
end
else
begin
form4.stringgrid1.FixedRows := 1;
form4.label3.Caption := floattostr(max);
end;
for i := 1 to form2.stringgrid1.rowcount - 1 do
Form4.StringGrid1.Cells[0,i]:=form2.stringgrid1.cells[0,i];
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.Hide;
Form2.Show;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
Form3.Close;
end;
end.
Unit4
Код:
var
Form4: TForm4;
implementation
uses Unit3;
{$R *.dfm}
procedure TForm4.FormCreate(Sender: TObject);
begin
Form4.StringGrid1.Cells[0,0]:='Поставщик';
Form4.StringGrid1.Cells[1,0]:='Рейтинг';
end;
procedure TForm4.Button1Click(Sender: TObject);
begin
Form4.Hide;
Form3.Show;
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
Form4.Close;
end;
end.
краткое описание на форме 1 находится 3 базы данных (добавление, удаление)
на формах 2,3,4 находися стрингриды и эдиты для выбора максимального значения.. помогите пожалуйсто 
|