![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() 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. Код:
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. на формах 2,3,4 находися стрингриды и эдиты для выбора максимального значения.. помогите пожалуйсто ![]() ![]() ![]() |
#2
|
||||
|
||||
![]() а что собственно не понятно в написании блок-схемы??
|
#3
|
|||
|
|||
![]() Чесно говоря практически все((((
|