Расчет стоимости пластиковых оконных конструкций и дверей
Создание программы в среде Delphi 7 для упрощения и автоматизации расчетов стоимости пластиковых оконных конструкций и дверей. Разработка программы с учётом расчёта стоимости заказываемых изделий, сохранением заказов в файлы, вывод отчетов на печать.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 29.05.2008 |
Размер файла | 463,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
procedure TForm6.SpeedButton9Click(Sender: TObject);
var
B: TBitmap;
srcRect,dstRect: TRect;
begin
B:=TBitmap.Create;
with dstRect do begin
Left:=0;
Top:=0;
Right:=Panel2.Width+1;
Bottom:=Panel2.Height+1;
end;
with srcRect do begin
Left:=Panel2.Left+15;
Right:=Panel2.Left+Panel2.Width+12;
Top:=Panel2.Top;
Bottom:=Panel2.Top+Panel2.Height+12;
end;
B.Width:=Panel2.Width;
B.Height:=Panel2.Height;
B.Canvas.CopyRect(dstRect,Self.Canvas,srcRect);
B.PixelFormat:=pf1bit;
B.SaveToFile(dir+'\Шаблоны\'+nam+'.bmp');
ShowMessage('Шаблон успешно сохранился!');
B.Free;end;
procedure TForm6.SpeedButton8Click(Sender: TObject);
begin close;end;end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,unit1, ComCtrls, Buttons, Grids, Spin, jpeg;
type
TForm7 = class(TForm)
Panel1: TPanel; Panel2: TPanel; SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton;
SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton;
SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton;
Image1: TImage; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton;
ComboBox1: TComboBox; Label4: TLabel;Label3: TLabel;
ComboBox3: TComboBox; Label2: TLabel; ComboBox2: TComboBox;
UpDown1: TUpDown; UpDown2: TUpDown; Image2: TImage;
OpenDialog1: TOpenDialog; SpeedButton4: TSpeedButton;
SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton; SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton; SpeedButton13: TSpeedButton;
SpeedButton17: TSpeedButton; Label1: TLabel; Label5: TLabel; Label6: TLabel;
Label7: TLabel;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure Panel2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure SpeedButton17Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
procedure CmFocusChanged (var Msg: TCmFocusChanged);
message cm_FocusChanged;
{ Public declarations }
end; const n=15 ;
var Form7: TForm7; j,pay1,okn,tek:integer; b1 : TBitBtn; fail,put,Activ,odn:string;
Msg1: TCmFocusChanged; nam:string;
implementation
uses Unit9, Unit8;
{$R *.dfm}
procedure TForm7.CmFocusChanged (var Msg: TCmFocusChanged);
begin Msg1:=Msg; end;
procedure TForm7.SpeedButton1Click(Sender: TObject);
begin
b1 := TBitBtn.Create(Self);
nam:=nam+'#Глухой';
with b1 do begin
b1.Hint:='1';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Parent := Panel2;
Glyph.LoadFromFile(dir+'\Иконки\глухой.bmp');end;end;
procedure TForm7.SpeedButton2Click(Sender: TObject);
begin
nam:=nam+'#Поворотный';
b1 := TBitBtn.Create(Self);
with b1 do begin
b1.Hint:='2';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Parent := Panel2;
Glyph.LoadFromFile(dir+'\Иконки\поворотный.bmp');end;end;
procedure TForm7.SpeedButton3Click(Sender: TObject);
begin
nam:=nam+'#Откидной';
b1 := TBitBtn.Create(Self);
with b1 do begin
b1.Hint:='3';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Glyph.LoadFromFile(dir+'\Иконки\откидной.bmp');
Parent := Panel2;end;end;
procedure TForm7.SpeedButton4Click(Sender: TObject);
begin
nam:=nam+'#балкон1';
b1 := TBitBtn.Create(Self);
with b1 do begin
b1.Hint:='4';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Glyph.LoadFromFile(dir+'\Иконки\балкон1.bmp');
Parent := Panel2;end;end;
procedure TForm7.SpeedButton5Click(Sender: TObject);
begin
nam:=nam+'#Балкон2';
b1 := TBitBtn.Create(Self);
with b1 do begin
b1.Hint:='5';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Glyph.LoadFromFile(dir+'\Иконки\балкон2.bmp');
Parent := Panel2;end;end;
procedure TForm7.SpeedButton6Click(Sender: TObject);
begin
nam:=nam+'#Вход';
b1 := TBitBtn.Create(Self);
with b1 do begin
b1.Hint:='6';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Glyph.LoadFromFile(dir+'\Иконки\вход.bmp');
Parent := Panel2;end;end;
procedure TForm7.Panel2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
if Msg1.Sender.ClassName='TBitBtn' then
msg1.Sender.perform(WM_SysCommand, SC_DragMove, 0);
end;
procedure TForm7.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Text='Оконные модули' then begin
SpeedButton1.Visible:=True;SpeedButton2.Visible:=True;
SpeedButton14.Visible:=True;SpeedButton15.Visible:=True;
SpeedButton16.Visible:=True;SpeedButton3.Visible:=True;
SpeedButton4.Visible:=False;SpeedButton5.Visible:=False;
SpeedButton6.Visible:=False; end else begin
SpeedButton4.Visible:=True;SpeedButton5.Visible:=True;
SpeedButton6.Visible:=True;SpeedButton1.Visible:=False;
SpeedButton2.Visible:=False;SpeedButton3.Visible:=False;
SpeedButton14.Visible:=False;SpeedButton15.Visible:=False;
SpeedButton16.Visible:=False;end;end;
procedure TForm7.FormCreate(Sender: TObject);
begin okn:=1;
SpeedButton1.Visible:=False;SpeedButton2.Visible:=False;
SpeedButton3.Visible:=False;SpeedButton4.Visible:=False;
SpeedButton5.Visible:=False;SpeedButton6.Visible:=False;
SpeedButton14.Visible:=False;SpeedButton15.Visible:=False;
SpeedButton16.Visible:=False; end;
procedure TForm7.SpeedButton8Click(Sender: TObject);
begin
if (Combobox3.Text='') or (Combobox2.Text='') then
Showmessage('Укажите тип профиля и ст.-пакета')
else begin
prof:=Combobox3.Text;
spak:=Combobox2.Text;
close;end;end;
procedure TForm7.SpeedButton9Click(Sender: TObject);
var B: TBitmap; srcRect,dstRect: TRect;
begin
if (put='') or (nam='')then Showmessage('Сначала загрузите цену!!!')
else begin
B:=TBitmap.Create;
with dstRect do begin
Left:=0;
Top:=0;
Right:=Panel2.Width+1;
Bottom:=Panel2.Height+1; end;
with srcRect do begin
Left:=Panel2.Left+145;
Right:=Panel2.Left+Panel2.Width+145;
Top:=Panel2.Top+10;
Bottom:=Panel2.Top+Panel2.Height+10; end;
B.Width:=Panel2.Width;
B.Height:=Panel2.Height;
B.Canvas.CopyRect(dstRect,Self.Canvas,srcRect);
B.PixelFormat:=pf1bit;
B.SaveToFile(dir+'\temp\'+inttostr(okn)+'.bmp');
B.Free;form8.Show;end;end;
procedure TForm7.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
if Msg1.Sender.ClassName='TBitBtn' then
msg1.Sender.Width:=UpDown1.Position*3;end;
procedure TForm7.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
if Msg1.Sender.ClassName='TBitBtn' then
msg1.Sender.Height:=UpDown2.Position*3;end;
procedure TForm7.SpeedButton11Click(Sender: TObject);
Var p:integer;begin
if Msg1.Sender.ClassName='TBitBtn' then begin
if msg1.Sender.Hint='1' then begin p:=pos('#Глухой',nam);delete(nam,p,7);msg1.Sender.Destroy;end;
if msg1.Sender.Hint='2' then begin p:=pos('#Поворотный',nam);delete(nam,p,11);msg1.Sender.Destroy;end;
if msg1.Sender.Hint='3' then begin p:=pos('#Откидной',nam);delete(nam,p,9);msg1.Sender.Destroy;end;
if msg1.Sender.Hint='4' then begin p:=pos('#балкон1',nam);delete(nam,p,8);msg1.Sender.Destroy;end;
if msg1.Sender.Hint='5' then begin p:=pos('#Балкон2',nam);delete(nam,p,8);msg1.Sender.Destroy;end;
if msg1.Sender.Hint='6' then begin p:=pos('#Вход',nam);delete(nam,p,5);msg1.Sender.Destroy;end;end;end;
procedure TForm7.SpeedButton13Click(Sender: TObject);
var B: TBitmap; srcRect,dstRect: TRect;
begin
B:=TBitmap.Create;
with dstRect do begin
Left:=0;
Top:=0;
Right:=Panel2.Width+1;
Bottom:=Panel2.Height+1; end;
with srcRect do begin
Left:=Panel2.Left+145;
Right:=Panel2.Left+Panel2.Width+145;
Top:=Panel2.Top+10;
Bottom:=Panel2.Top+Panel2.Height+10; end;
B.Width:=Panel2.Width;
B.Height:=Panel2.Height;
B.Canvas.CopyRect(dstRect,Self.Canvas,srcRect);
B.PixelFormat:=pf1bit;
B.SaveToFile(dir+'\Шаблоны\'+nam+'.bmp');
ShowMessage('Шаблон успешно сохранился!');
B.Free;end;
procedure TForm7.SpeedButton12Click(Sender: TObject);
Var s:string;d,a:integer;
begin
if form7.OpenDialog1.Execute then begin
image2.Top:=Panel2.Top-10;
image2.Left:=Panel2.Left-130;
image2.AutoSize:=true;
image2.Transparent:=FaLSE;
Image2.Picture.LoadFromFile(OpenDialog1.FileName);
nam:=OpenDialog1.FileName;
getdir(0,s);d:=pos(s,nam);a:=pos('#',nam);
delete(nam,d,a-1);d:=pos('.',nam);
delete(nam,d,4);end;end;
procedure TForm7.SpeedButton14Click(Sender: TObject);
begin
nam:=nam+'#Поворотный';
b1 := TBitBtn.Create(Self);
with b1 do begin
b1.Hint:='2';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Parent := Panel2;
Glyph.LoadFromFile(dir+'\Иконки\поворотный1.bmp');end;end;
procedure TForm7.SpeedButton15Click(Sender: TObject);
begin
nam:=nam+'#Поворотный';
b1 := TBitBtn.Create(Self);
with b1 do begin
b1.Hint:='2';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Parent := Panel2;
Glyph.LoadFromFile(dir+'\Иконки\поворотный2.bmp');end;end;
procedure TForm7.SpeedButton16Click(Sender: TObject);
begin
nam:=nam+'#Откидной';
b1 := TBitBtn.Create(Self);
with b1 do begin
b1.Hint:='3';
Left := 20;
Top := 20;
Width := 60;
Height := 100;
Glyph.LoadFromFile(dir+'\Иконки\откидной2.bmp');
Parent := Panel2;end;end;
procedure TForm7.SpeedButton17Click(Sender: TObject);
begin
if (Combobox1.Text='')or(Combobox3.Text='')or(Combobox2.Text='') then
Showmessage('Введите все необходимые данные!') else begin
if combobox1.Text='Оконные модули' then
fail:='\Цены\Окна\'
else fail:='\Цены\Двери\';
if (Combobox3.Text='Exprof58mm')and (Combobox2.Text='Однокамерный') then
Put:=fail+'Exprof58mm24.dat';
if (Combobox3.Text='Exprof58mm')and (Combobox2.Text='Двухкамерный') then
Put:=fail+'Exprof58mm32.dat';
if (Combobox3.Text='Exprof58mm')and (Combobox2.Text='Одно стекло') then begin
Put:=fail+'Exprof58mm24.dat';
odn:='1';end;
if (Combobox3.Text='Exprof101mm')and (Combobox2.Text='Однокамерный') then
Put:=fail+'Exprof101mm24.dat';
if (Combobox3.Text='Exprof101mm')and (Combobox2.Text='Двухкамерный') then
Put:=fail+'Exprof101mm32.dat';
if (Combobox3.Text='Exprof101mm')and (Combobox2.Text='Одно стекло') then begin
Put:=fail+'Exprof101mm24.dat';odn:='1';
end; Showmessage('Цена успешно загружена!');end;end;
procedure TForm7.SpeedButton10Click(Sender: TObject);
var f: LongInt;
begin
if itog<>'' then begin
if kolok>0 then kolok:=kolok-1;
tek:=tek+1;
label7.Caption:=inttostr(kolok);
label5.Caption:=inttostr(tek);
end else Showmessage('Сначала расчитайте предыдущее окно!');
nam:='';okn:=okn+1;
for f := 0 to ComponentCount - 1 do begin
if (Components[f] is TBitBtn) then
(Components[f] as TBitBtn).Visible:=false;end;end;
procedure TForm7.SpeedButton7Click(Sender: TObject);
begin Form7.Free; end;
procedure TForm7.FormShow(Sender: TObject);
begin tek:=1;
label7.Caption:=inttostr(kolok);
label5.Caption:=inttostr(tek);end;end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, Unit7,unit1, Buttons, ComCtrls, jpeg, ExtCtrls, Grids;
type
TForm8 = class(TForm)
Image1: TImage; Label4: TLabel;SpeedButton2: TSpeedButton;
SpeedButton9: TSpeedButton;Label9: TLabel; SpeedButton3: TSpeedButton;
SpeedButton1: TSpeedButton;Label6: TLabel; Label5: TLabel;SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;Label2: TLabel;Label1: TLabel; Label3: TLabel;
StringGrid1: TStringGrid; Bevel3: TBevel; Label7: TLabel; Label8: TLabel;
Bevel1: TBevel; Label14: TLabel;Bevel2: TBevel; Label13: TLabel;Label10: TLabel;
SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; Label11: TLabel;
Label12: TLabel; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton;
SpeedButton4: TSpeedButton; Label15: TLabel; SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton; SpeedButton12: TSpeedButton;
StringGrid2: TStringGrid; Label16: TLabel; Label17: TLabel; Label18: TLabel;
Label19: TLabel; SpeedButton13: TSpeedButton; SpeedButton14: TSpeedButton;
Label20: TLabel; procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form8: TForm8; p:integer; n,path,one,two,tri,minv,minh,maxv,maxh:string;
plos,res:real; l,h,impost,pay,stol,e,dob:integer; start:Boolean;
Razpod,Markp,Podsen,So9,Lam,SOB,Ton,Maskit:string;
implementation
uses Unit15, Unit17, Unit18, Unit19, Unit20, Unit9, Unit14;
{$R *.dfm}
procedure TForm8.SpeedButton1Click(Sender: TObject);
begin
WinExec('c:/windows/system32/calc.exe',SW_showNormal);
end;
procedure TForm8.SpeedButton2Click(Sender: TObject);
var f: Integer;
begin
if StringGrid2.Cells[4,1]<>'' then
ton:='Тонировка:'+ton;
if StringGrid2.Cells[0,1]<>'' then
SOB:='Общая площадь:'+StringGrid2.Cells[0,1];
if StringGrid2.Cells[6,1]<>'' then
itog:=StringGrid2.Cells[6,1]+'у.е.';
if StringGrid2.Cells[3,1]='да' then
So9:='Профиль SO9 Учтен';
if StringGrid2.Cells[1,1]<>'' then
mon:=StringGrid2.Cells[1,1];
if StringGrid2.Cells[5,1]<>'' then
Lam:='Ламинирование:'+StringGrid2.Cells[5,1];
for f := 0 to ComponentCount - 1 do begin
if (Components[f] is TSpinEdit) then
(Components[f] as TSpinEdit).Value :=0;
Stringgrid1.Cols[0].Clear; Stringgrid1.Cols[1].Clear;
Stringgrid1.Cols[2].Clear; Stringgrid1.Cols[3].Clear;
Stringgrid2.Rows[1].Clear;SpeedButton5.Visible:=false;
SpeedButton6.Visible:=False;SpeedButton7.Visible:=false;
SpeedButton10.Visible:=false;SpeedButton11.Visible:=false;
SpeedButton14.Visible:=false;SpeedButton8.Visible:=false; end;close;end;
procedure TForm8.SpeedButton9Click(Sender: TObject);
label 1,2,3,4,5,6;
Var i,b:integer;nam1:string;f,dop:textfile;
begin b:=1;
SpeedButton3.Visible:=true;SpeedButton9.Visible:=false;
{$I-}
AssignFile(f,dir+put);
{$I+}
If IOResult=0 then begin
Reset(f);
while not EoF(f) do begin
readln(f, one);
readln(f, two);
readln(f, tri); end;CloseFile(f); end;
nam1:=nam;delete(nam1,1,1);nam1:=nam1+'#';
for i:=1 to length(nam1) do begin
if nam1[i]<>'#'then n:=n+nam1[i]
else begin if n='Глухой' then begin
Label4.Caption:='Глухой';
pay:=strtoint(one);
if odn='1' then
pay:=pay-6;
impost:=impost+1;
{$I-}
AssignFile(dop,dir+'\Технические допуски\Глухой модуль.dat');
{$I+}
If IOResult=0 then begin
Reset(dop);
while not EoF(dop) do begin
readln(dop, minv);
readln(dop, minh);
readln(dop, maxv);
readln(dop, maxh); end; CloseFile(dop); end;
SpinEdit1.MinValue:=strtoint(minh);
SpinEdit1.MaxValue:=strtoint(maxh);
SpinEdit2.MinValue:=strtoint(minv);
SpinEdit2.MaxValue:=strtoint(maxv);
SpinEdit1.Value:=strtoint(minh);
SpinEdit2.Value:=strtoint(minv);
ShowMessage('Введите размеры и нажмите "ОК"');
1:application.ProcessMessages;
if start=true then begin l:=spinedit1.Value;
h:=spinedit2.Value;
plos:=(l*h)*0.000001;
if (plos<=0.5) then
res:=(plos*pay)+((plos*pay)/100)*30
else res:=plos*pay;
if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;
StringGrid1.Cells[0,b]:='Глухой';
StringGrid1.Cells[1,b]:=floattostr(plos);
StringGrid1.Cells[2,b]:=floattostr(res);
b:=b+1;
start:=false;SpinEdit1.Value:=0;
SpinEdit2.Value:=0; end else goto 1;
end;
if n='Поворотный' then begin
Label4.Caption:='Поворотный';
pay:=strtoint(two);
if odn='1' then
pay:=pay-6;
{$I-}
AssignFile(dop,dir+'\Технические допуски\Поворотный модуль.dat');
{$I+}
If IOResult=0 then begin
Reset(dop);
while not EoF(dop) do begin
readln(dop, minv);
readln(dop, minh);
readln(dop, maxv);
readln(dop, maxh); end; CloseFile(dop); end;
SpinEdit1.MinValue:=strtoint(minh);
SpinEdit1.MaxValue:=strtoint(maxh);
SpinEdit2.MinValue:=strtoint(minv);
SpinEdit2.MaxValue:=strtoint(maxv);
SpinEdit1.Value:=strtoint(minh);
SpinEdit2.Value:=strtoint(minv);
ShowMessage('Введите размеры и нажмите "ОК"');
2:application.ProcessMessages;
if start=true then begin l:=spinedit1.Value;
h:=spinedit2.Value;
plos:=(l*h)*0.000001;
if plos<=0.5 then
res:=(plos*pay)+((plos*pay)/100)*30
else res:=plos*pay;
if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;
StringGrid1.Cells[0,b]:='Поворотный';
StringGrid1.Cells[1,b]:=floattostr(plos);
StringGrid1.Cells[2,b]:=floattostr(res);
b:=b+1;
start:=false;SpinEdit1.Value:=0;
SpinEdit2.Value:=0; end else goto 2; end;
if n='Откидной' then begin
Label4.Caption:='Откидной';
pay:=strtoint(tri);
if odn='1' then
pay:=pay-6;
{$I-}
AssignFile(dop,dir+'\Технические допуски\Поворотно-откидной.dat');
{$I+}
If IOResult=0 then begin
Reset(dop);
while not EoF(dop) do begin
readln(dop, minv);
readln(dop, minh);
readln(dop, maxv);
readln(dop, maxh); end; CloseFile(dop); end;
SpinEdit1.MinValue:=strtoint(minh);
SpinEdit1.MaxValue:=strtoint(maxh);
SpinEdit2.MinValue:=strtoint(minv);
SpinEdit2.MaxValue:=strtoint(maxv);
SpinEdit1.Value:=strtoint(minh);
SpinEdit2.Value:=strtoint(minv);
ShowMessage('Введите размеры и нажмите "ОК"');
3:application.ProcessMessages;
if start=true then begin l:=spinedit1.Value;
h:=spinedit2.Value;
plos:=(l*h)*0.000001;
if plos<=0.5 then
res:=(plos*pay)+((plos*pay)/100)*30
else res:=plos*pay;
if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;
StringGrid1.Cells[0,b]:='Откидной';
StringGrid1.Cells[1,b]:=floattostr(plos);
StringGrid1.Cells[2,b]:=floattostr(res);
b:=b+1;
start:=false;SpinEdit1.Value:=0;
SpinEdit2.Value:=0; end else goto 3; end;
if n='балкон1' then begin
Label4.Caption:='Балконная-поворотная дверь';
pay:=strtoint(one);
if odn='1' then
pay:=pay-6;
{$I-}
AssignFile(dop,dir+'\Технические допуски\Балконная поворотная.dat');
{$I+}
If IOResult=0 then begin
Reset(dop);
while not EoF(dop) do begin
readln(dop, minv);
readln(dop, minh);
readln(dop, maxv);
readln(dop, maxh); end; CloseFile(dop); end;
SpinEdit1.MinValue:=strtoint(minh);
SpinEdit1.MaxValue:=strtoint(maxh);
SpinEdit2.MinValue:=strtoint(minv);
SpinEdit2.MaxValue:=strtoint(maxv);
SpinEdit1.Value:=strtoint(minh);
SpinEdit2.Value:=strtoint(minv);
ShowMessage('Введите размеры и нажмите "ОК"');
4:application.ProcessMessages;
if start=true then begin l:=spinedit1.Value;
h:=spinedit2.Value;
plos:=(l*h)*0.000001;
if plos<=0.5 then
res:=(plos*pay)+((plos*pay)/100)*30
else res:=plos*pay;
if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;
StringGrid1.Cells[0,b]:='Балкон. поворотная';
StringGrid1.Cells[1,b]:=floattostr(plos);
StringGrid1.Cells[2,b]:=floattostr(res);
b:=b+1;
start:=false;SpinEdit1.Value:=0;
SpinEdit2.Value:=0; end else goto 4;
end;
if n='Балкон2' then begin
Label4.Caption:='Балконная-поворотно-откидная дверь';
pay:=strtoint(two);
if odn='1' then
pay:=pay-6;
{$I-}
AssignFile(dop,dir+'\Технические допуски\Поворотно-откидная.dat');
{$I+}
If IOResult=0 then begin
Reset(dop);
while not EoF(dop) do begin
readln(dop, minv);
readln(dop, minh);
readln(dop, maxv);
readln(dop, maxh); end; CloseFile(dop); end;
SpinEdit1.MinValue:=strtoint(minh);
SpinEdit1.MaxValue:=strtoint(maxh);
SpinEdit2.MinValue:=strtoint(minv);
SpinEdit2.MaxValue:=strtoint(maxv);
SpinEdit1.Value:=strtoint(minh);
SpinEdit2.Value:=strtoint(minv);
ShowMessage('Введите размеры и нажмите "ОК"');
5:application.ProcessMessages;
if start=true then begin l:=spinedit1.Value;
h:=spinedit2.Value;
plos:=(l*h)*0.000001;
if plos<=0.5 then
res:=(plos*pay)+((plos*pay)/100)*30
else res:=plos*pay;
if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;
StringGrid1.Cells[0,b]:='Балкон. поворот-откид';
StringGrid1.Cells[1,b]:=floattostr(plos);
StringGrid1.Cells[2,b]:=floattostr(res);
b:=b+1;
start:=false;SpinEdit1.Value:=0;
SpinEdit2.Value:=0; end else goto 5; end;
if n='Вход' then begin
Label4.Caption:='Входная дверь';
pay:=strtoint(tri);
if odn='1' then
pay:=pay-6;
{$I-}
AssignFile(dop,dir+'\Технические допуски\Входная дверь.dat');
{$I+}
If IOResult=0 then begin
Reset(dop);
while not EoF(dop) do begin
readln(dop, minv);
readln(dop, minh);
readln(dop, maxv);
readln(dop, maxh); end; CloseFile(dop); end;
SpinEdit1.MinValue:=strtoint(minh);
SpinEdit1.MaxValue:=strtoint(maxh);
SpinEdit2.MinValue:=strtoint(minv);
SpinEdit2.MaxValue:=strtoint(maxv);
SpinEdit1.Value:=strtoint(minh);
SpinEdit2.Value:=strtoint(minv);
ShowMessage('Введите размеры и нажмите "ОК"');
6:application.ProcessMessages;
if start=true then begin l:=spinedit1.Value;
h:=spinedit2.Value;
plos:=(l*h)*0.000001;
if plos<=0.5 then
res:=(plos*pay)+((plos*pay)/100)*30
else res:=plos*pay;
if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;
StringGrid1.Cells[0,b]:='Входная дверь';
StringGrid1.Cells[1,b]:=floattostr(plos);
StringGrid1.Cells[2,b]:=floattostr(res);
b:=b+1;
start:=false;SpinEdit1.Value:=0;
SpinEdit2.Value:=0; end else goto 6;
end;n:='';end;end;dob:=b;
ShowMessage('Расчет стоимости завершен!!!');
SpeedButton3.Visible:=false;SpeedButton9.Visible:=true;
SpeedButton2.Visible:=True;SpeedButton12.Visible:=True;end;
procedure TForm8.SpeedButton3Click(Sender: TObject);
begin start:=true; end;
procedure TForm8.FormCreate(Sender: TObject);
begin e:=0;
start:=false;
StringGrid2.Cells[0,0]:='Площадь';StringGrid2.Cells[1,0]:='Монтаж';
StringGrid2.Cells[2,0]:='Подоконник';StringGrid2.Cells[3,0]:='Профиль SO9';
StringGrid2.Cells[4,0]:='Тонировка';StringGrid2.Cells[5,0]:='Ламин.';
StringGrid2.Cells[6,0]:='Итог';end;
procedure TForm8.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
Label14.Caption :=StringGrid1.Cells [0, ARow];
stol:=Arow;end;
procedure TForm8.SpeedButton4Click(Sender: TObject);
Var sen,sen1:real;
begin
if (label14.Caption='Поворотный')or(label14.Caption='Откидной') then
if StringGrid1.Cells [3, stol]<>'да' then
begin
sen1:=strtofloat(StringGrid1.Cells [2, stol]);
sen:=sen1+16;
StringGrid1.Cells [2, stol]:=floattostr(sen);
StringGrid1.Cells [3, stol]:='да';
ShowMessage('Расчет закончен!');end
else Showmessage('На этом модуле уже стоит маскитка!')
else Showmessage('На данный модуль нельзя ставить маскитку!');end;
procedure TForm8.SpeedButton5Click(Sender: TObject);
begin
if Form8.StringGrid2.Cells [5,1]='' then
form15.Showmodal else
Showmessage('Окно можно ламинировать только один раз!');end;
procedure TForm8.SpeedButton6Click(Sender: TObject);
begin
if Form8.StringGrid2.Cells[4,1]='' then
form17.Show else
Showmessage('Окно можно тонировать только один раз!');end;
procedure TForm8.SpeedButton7Click(Sender: TObject);
begin
if Form8.StringGrid2.Cells[2,1]='да' then
Showmessage('На окно можно ставить только один подоконник!')
else Form18.Showmodal;end;
procedure TForm8.SpeedButton10Click(Sender: TObject);
begin
if Form8.StringGrid2.Cells [3,1]<>'да' then
form19.Showmodal
else Showmessage('На этом окне профиль уже учтён!');end;
procedure TForm8.SpeedButton11Click(Sender: TObject);
begin
if impost>=2 then begin e:=e+1;
if e<=(impost-1) then
form20.Showmodal
else showmessage('Превышено допустимое число!');end
else showmessage('Импост считается только между двумя глухими модулями!');
end;
procedure TForm8.SpeedButton12Click(Sender: TObject);
Var i:integer;p2,s:real;beginp2:=0;s:=0;
for i:=1 to dob do
if StringGrid1.Cells[1,i]<>'' then
p2:=p2+Strtofloat(StringGrid1.Cells[1,i]);
StringGrid2.Cells[0,1]:=Floattostr(p2);
for i:=1 to dob do
if StringGrid1.Cells[2,i]<>'' then
s:=s+strtofloat(StringGrid1.Cells[2,i]);
if impost=1 then
s:=s+p2*7;
StringGrid2.Cells[6,1]:=floattostr(s);
SpeedButton12.Visible:=false;SpeedButton5.Visible:=true;
SpeedButton6.Visible:=true;SpeedButton7.Visible:=true;
SpeedButton10.Visible:=true;SpeedButton11.Visible:=true;
SpeedButton14.Visible:=true;SpeedButton8.Visible:=true;end;
procedure TForm8.SpeedButton8Click(Sender: TObject);
Var pl,sen:real;
begin
if StringGrid2.Cells [1,1]<>'да' then
begin
pl:=strtofloat(StringGrid2.Cells [6,1]);
sen:=(pl/100)*12;
sen:=sen+pl;
StringGrid2.Cells [6,1]:=floattostr(sen);
StringGrid2.Cells [1,1]:='да';
ShowMessage('Расчет закончен!');end
else Showmessage('На этом окне монтаж уже расчитан!') end;
procedure TForm8.SpeedButton13Click(Sender: TObject);
begin
if StringGrid2.Cells[6,1]<>'' then
Form9.Edit5.Text:=StringGrid2.Cells[6,1];
form9.Show;end;
procedure TForm8.FormShow(Sender: TObject);
begin
SpeedButton3.Visible:=false;
SpeedButton9.Visible:=true;
StringGrid1.Cells[0,0]:='Модули';
StringGrid1.Cells[1,0]:='Площадь';
StringGrid1.Cells[2,0]:='Стоимость';
StringGrid1.Cells[3,0]:='Москитка';end;
procedure TForm8.SpeedButton14Click(Sender: TObject);
begin form14.show;end;end.
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, Buttons, jpeg, ExtCtrls;
type
TForm9 = class(TForm)
Image1: TImage; Label1: TLabel;Label2: TLabel;Label3: TLabel;Label4: TLabel;
Label5: TLabel; Label6: TLabel;RadioButton1: TRadioButton;
RadioButton2: TRadioButton;RadioButton3: TRadioButton;
SpeedButton1: TSpeedButton;Edit1: TEdit;Edit2: TEdit;Edit3: TEdit;Edit4: TEdit;
Edit5: TEdit; procedure SpeedButton1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form9: TForm9;
implementation
{$R *.dfm}
procedure TForm9.SpeedButton1Click(Sender: TObject);
Var evro,dol,rub:real;kursE,kursD:real;
begin
kursD:=0;kursE:=0;evro:=0;dol:=0;rub:=0;
If RadioButton1.Checked=True then begin
kursD:=Strtofloat(Edit2.Text);
dol:=Strtofloat(Edit4.Text);
Edit3.Text:=floattoStr(dol*kursD);end;
If RadioButton2.Checked=True then begin
kursE:=Strtofloat(Edit1.Text);
evro:=Strtofloat(Edit5.Text);
Edit3.Text:=floattoStr(evro*kursE);end;
If RadioButton3.Checked=True then begin
kursE:=Strtofloat(Edit1.Text);
kursD:=Strtofloat(Edit2.Text);
evro:=Strtofloat(Edit5.Text);
Edit4.Text:=floattoStr((evro*kursE)/kursD);end;end;
procedure TForm9.Edit1KeyPress(Sender: TObject; var Key: Char);
var vrPos, vrLength, vrSelStart: byte;
const I: byte = 1;
begin
with Sender as TEdit do
begin
vrLength := Length(Text);
vrPos := Pos(',', Text);
vrSelStart := SelStart; end;
case Key of '0'..'9':
begin
if (vrPos > 0) and (vrLength - vrPos > I) and (vrSelStart >= vrPos) then
Key := #0;
end; ',', '.':
begin
if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then
Key := #0 else Key := #44; end; #8: ; else Key := #0; end;end;
procedure TForm9.Edit2KeyPress(Sender: TObject; var Key: Char);
var vrPos, vrLength, vrSelStart: byte;
const I: byte = 1;
begin
with Sender as TEdit do
begin
vrLength := Length(Text);
vrPos := Pos(',', Text);
vrSelStart := SelStart; end;
case Key of '0'..'9':
begin
if (vrPos > 0) and (vrLength - vrPos > I) and (vrSelStart >= vrPos) then
Key := #0; end; ',', '.':
begin
if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then
Key := #0 else Key := #44; end; #8: ; else Key := #0; end;end;
procedure TForm9.Edit3KeyPress(Sender: TObject; var Key: Char);
var vrPos, vrLength, vrSelStart: byte;
const I: byte = 1;
begin
with Sender as TEdit do
begin
vrLength := Length(Text);
vrPos := Pos(',', Text);
vrSelStart := SelStart; end;
case Key of '0'..'9':
begin
if (vrPos > 0) and (vrLength - vrPos > I) and (vrSelStart >= vrPos) then
Key := #0; end; ',', '.':
begin
if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then Key := #0
else Key := #44; end; #8: ; else Key := #0; end;end;
procedure TForm9.Edit4KeyPress(Sender: TObject; var Key: Char);
var vrPos, vrLength, vrSelStart: byte;
const I: byte = 1;
begin
with Sender as TEdit do
begin
vrLength := Length(Text);
vrPos := Pos(',', Text);
vrSelStart := SelStart; end;
case Key of '0'..'9':
begin
if (vrPos > 0) and (vrLength - vrPos > I) and (vrSelStart >= vrPos) then
Key := #0; end; ',', '.':
begin
if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then
Key := #0 else Key := #44; end; #8: ; else Key := #0; end;end;
procedure TForm9.Edit5KeyPress(Sender: TObject; var Key: Char);
var vrPos, vrLength, vrSelStart: byte;
const I: byte = 1;
begin
with Sender as TEdit do
begin
vrLength := Length(Text);
vrPos := Pos(',', Text);
vrSelStart := SelStart; end;
case Key of '0'..'9':
begin
if (vrPos > 0) and (vrLength - vrPos > I) and (vrSelStart >= vrPos) then
Key := #0; end; ',', '.':
begin
if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then
Key := #0 else Key := #44; end; #8: ; else Key := #0; end;end;end.
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QRCtrls, QuickRpt, ExtCtrls, StdCtrls, QRPrntr, ImgList, Buttons,
RpBase, RpSystem, RpDefine, RpRave;
type
TForm10 = class(TForm)
QuickRep1: TQuickRep; QRSubDetail1: TQRSubDetail; QRLabel5: TQRLabel;
QRRichText1: TQRRichText; QRLabel1: TQRLabel; QRLabel2: TQRLabel;
QRLabel3: TQRLabel; QRImage1: TQRImage; QRImage2: TQRImage;
QRImage3: TQRImage; QRImage4: TQRImage; QRImage5: TQRImage;
QRImage6: TQRImage; Image1: TImage; SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton; procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form10: TForm10; nzak:integer;
implementation
uses Unit1,unit7;
{$R *.dfm}
procedure TForm10.FormCreate(Sender: TObject);
begin QrrichText1.ParentRichEdit:=Form1.RichEdit1; end;
procedure TForm10.SpeedButton1Click(Sender: TObject);
Var h:integer;f:textfile;s:string;dlg:Word;
begin
AssignFile(f,dir+'\nzak.txt');
Reset(f);
Read(f,s);
nzak:=StrToInt(s);
nzak:=nzak+1;
s := IntToStr(nzak);
CloseFile(f);
rewrite(f);
write(f,s);
closefile(f);
Form1.RichEdit1.Lines.SaveToFile(dir+'\БД\'+fiozak+'(№'+inttostr(nzak)+')'+'.rtf');
dlg:=MessageDlg('Вы хотите сохранить заказ?',mtConfirmation,mbYesNoCancel,0);
if dlg = mrYes then
QuickRep1.PrintBackground else
for h:=1 to 6 do
image1.Picture.SaveToFile(dir+'\temp\'+inttostr(h)+'.bmp');
Form1.RichEdit1.Lines.Clear;Close;end;
procedure TForm10.SpeedButton2Click(Sender: TObject);
begin
QuickRep1.Preview;end;end.
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, Spin, jpeg, ExtCtrls;
type
TForm11 = class(TForm)
Image1: TImage; SpeedButton2: TSpeedButton; SpeedButton1: TSpeedButton;
Label1: TLabel; SpinEdit1: TSpinEdit; procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form11: TForm11;
implementation
uses Unit16,Unit1;
{$R *.dfm}
procedure TForm11.SpeedButton1Click(Sender: TObject);
begin close; end;
procedure TForm11.SpeedButton2Click(Sender: TObject);
begin
kolok:=SpinEdit1.Value;
form16.show;
SpinEdit1.Value:=1;close;end;end.
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, Spin, Mask, ComCtrls, Grids, jpeg, ExtCtrls,ShellAPI,Unit1;
type
TForm12 = class(TForm)
GroupBox2: TGroupBox;Label1: TLabel;Image1: TImage;
SpeedButton4: TSpeedButton; RichEdit1: TRichEdit; SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton; SpeedButton5: TSpeedButton;ListBox1: TListBox;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure ListBox1Enter(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
private
FPrefix: array[0..255] of char;
{ Private declarations }
public
{ Public declarations }
end;
var Form12: TForm12; Count:integer;
implementation
{$R *.dfm}
procedure TForm12.SpeedButton1Click(Sender: TObject);
begin close; end;
procedure TForm12.SpeedButton4Click(Sender: TObject);
begin
richedit1.Lines.LoadFromFile(dir+'\БД\'+listbox1.Items.Strings[listbox1.ItemIndex]);
end;
procedure TForm12.SpeedButton5Click(Sender: TObject);
begin
RichEdit1.Print('Распечатка заказа');
end;
procedure TForm12.ListBox1Enter(Sender: TObject);
begin
FPrefix[0] := #0;
Label1.Caption := StrPas(FPrefix);
end;
procedure TForm12.FormKeyPress(Sender: TObject; var Key: Char);
Var curKey: array[0..1] of char;
ndx: integer;
begin
if ActiveControl = ListBox1 then begin
if key = #8 {Backspace (клавиша возврата)} then begin
if FPrefix[0] <> #0 then begin
FPrefix[StrLen(FPrefix) - 1] := #0;end end else begin
curKey[0] := Key;
curKey[1] := #0;
StrCat(FPrefix, curKey);
ndx := SendMessage(ListBox1.Handle, LB_FINDSTRING,
-1, longint(@FPrefix));
if ndx <> LB_ERR then
ListBox1.ItemIndex := ndx;end;
Label1.Caption := StrPas(FPrefix);
Key := #0;end;end;
procedure TForm12.FormShow(Sender: TObject);
var F: TSearchRec; Path: string; Attr: Integer;
begin
Path := dir+'\БД\*.rtf';
Attr := faAnyFile;
FindFirst(Path, Attr, F);
if F.name <> '' then
begin
ListBox1.Items.Add(F.name); {Добавление в TListBox имени найденного файла}
while FindNext(F) = 0 do
ListBox1.Items.Add(F.name); end; FindClose(F);end;end.
unit Unit13;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Buttons, unit1,jpeg, ExtCtrls;
type
TForm13 = class(TForm)
Image1: TImage; SpeedButton3: TSpeedButton; SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton; StringGrid1: TStringGrid;Label2: TLabel;Label3: TLabel;
Label1: TLabel; procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form13: TForm13;
implementation
{$R *.dfm}
procedure TForm13.FormCreate(Sender: TObject);
begin
Form13.StringGrid1.Cells[0,0]:='Наименование';
Form13.StringGrid1.Cells[0,1]:='Глухой модуль';
Form13.StringGrid1.Cells[0,2]:='Поворотный модуль';
Form13.StringGrid1.Cells[0,3]:='Поворотно-откидной';
Form13.StringGrid1.Cells[0,4]:='Входная дверь';
Form13.StringGrid1.Cells[0,5]:='Балконная поворотная';
Form13.StringGrid1.Cells[0,6]:='Поворотно-откидная ';
Form13.StringGrid1.Cells[1,0]:='Высота(мм)';
Form13.StringGrid1.Cells[2,0]:='Ширина(мм)';
Form13.StringGrid1.Cells[3,0]:='Высота(мм)';
Form13.StringGrid1.Cells[4,0]:='Ширина(мм)';end;
procedure TForm13.SpeedButton1Click(Sender: TObject);
begin
Form13.StringGrid1.Cells[1,1]:=inttostr(470);
Form13.StringGrid1.Cells[1,2]:=inttostr(520);
Form13.StringGrid1.Cells[1,3]:=inttostr(520);
Form13.StringGrid1.Cells[1,4]:=inttostr(1000);
Form13.StringGrid1.Cells[1,5]:=inttostr(410);
Form13.StringGrid1.Cells[1,6]:=inttostr(410);
Form13.StringGrid1.Cells[2,1]:=inttostr(400);
Form13.StringGrid1.Cells[2,2]:=inttostr(410);
Form13.StringGrid1.Cells[2,3]:=inttostr(410);
Form13.StringGrid1.Cells[2,4]:=inttostr(530);
Form13.StringGrid1.Cells[2,5]:=inttostr(410);
Form13.StringGrid1.Cells[2,6]:=inttostr(410);
Form13.StringGrid1.Cells[3,1]:=inttostr(2135);
Form13.StringGrid1.Cells[3,2]:=inttostr(2250);
Form13.StringGrid1.Cells[3,3]:=inttostr(2250);
Form13.StringGrid1.Cells[3,4]:=inttostr(2250);
Form13.StringGrid1.Cells[3,5]:=inttostr(2250);
Form13.StringGrid1.Cells[3,6]:=inttostr(2250);
Form13.StringGrid1.Cells[4,1]:=inttostr(2135);
Form13.StringGrid1.Cells[4,2]:=inttostr(800);
Form13.StringGrid1.Cells[4,3]:=inttostr(800);
Form13.StringGrid1.Cells[4,4]:=inttostr(990);
Form13.StringGrid1.Cells[4,5]:=inttostr(800);
Form13.StringGrid1.Cells[4,6]:=inttostr(800);end;
procedure TForm13.SpeedButton2Click(Sender: TObject);
Var s:string;f:textfile;
begin
{$I-}
AssignFile(f,dir+'\Технические допуски\');
{$I+}
If IOResult=0 then begin
s:=dir+'\Технические допуски\';
Rewrite(f,s+'\Глухой модуль.dat');
Writeln(f,Form13.StringGrid1.Cells[1,1]);
Writeln(f,Form13.StringGrid1.Cells[2,1]);
Writeln(f,Form13.StringGrid1.Cells[3,1]);
Writeln(f,Form13.StringGrid1.Cells[4,1]);
CloseFile(f);
Rewrite(f,s+'\Поворотный модуль.dat');
Writeln(f,Form13.StringGrid1.Cells[1,2]);
Writeln(f,Form13.StringGrid1.Cells[2,2]);
Writeln(f,Form13.StringGrid1.Cells[3,2]);
Writeln(f,Form13.StringGrid1.Cells[4,2]);
CloseFile(f);
Rewrite(f,s+'\Поворотно-откидной.dat');
Writeln(f,Form13.StringGrid1.Cells[1,3]);
Writeln(f,Form13.StringGrid1.Cells[2,3]);
Writeln(f,Form13.StringGrid1.Cells[3,3]);
Writeln(f,Form13.StringGrid1.Cells[4,3]);
CloseFile(f);
Rewrite(f,s+'\Входная дверь.dat');
Writeln(f,Form13.StringGrid1.Cells[1,4]);
Writeln(f,Form13.StringGrid1.Cells[2,4]);
Writeln(f,Form13.StringGrid1.Cells[3,4]);
Writeln(f,Form13.StringGrid1.Cells[4,4]);
CloseFile(f);
Rewrite(f,s+'\Балконная поворотная.dat');
Writeln(f,Form13.StringGrid1.Cells[1,5]);
Writeln(f,Form13.StringGrid1.Cells[2,5]);
Writeln(f,Form13.StringGrid1.Cells[3,5]);
Writeln(f,Form13.StringGrid1.Cells[4,5]);
CloseFile(f);
Rewrite(f,s+'\Поворотно-откидная.dat');
Writeln(f,Form13.StringGrid1.Cells[1,6]);
Writeln(f,Form13.StringGrid1.Cells[2,6]);
Writeln(f,Form13.StringGrid1.Cells[3,6]);
Writeln(f,Form13.StringGrid1.Cells[4,6]);
CloseFile(f); ShowMessage('Данные сохранены успешно!');end
else Exit; end;
procedure TForm13.SpeedButton3Click(Sender: TObject);
begin close; end; end.
unit Unit14;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, Spin, jpeg, ExtCtrls;
type
TForm14 = class(TForm)
Image1: TImage; Label20: TLabel; SpinEdit1: TSpinEdit; Label1: TLabel;
SpeedButton14: TSpeedButton;
private
{ Private declarations }
public
{ Public declarations }
end;
var Form14: TForm14;
implementation
{$R *.dfm}
end.
unit Unit15;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, jpeg, ExtCtrls;
type
TForm15 = class(TForm)
Image1: TImage; RadioButton1: TRadioButton; RadioButton2: TRadioButton;
SpeedButton8: TSpeedButton; procedure SpeedButton8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form15: TForm15;
implementation
uses Unit8;
{$R *.dfm}
procedure TForm15.SpeedButton8Click(Sender: TObject);
Var sum,t:real;
begin
if Form8.StringGrid2.Cells [5,1]='' then begin
If RadioButton1.Checked=true then begin
t:=strtofloat(Form8.StringGrid2.Cells [6,1]);
sum:=t+((t/100)*30);
Form8.StringGrid2.Cells [6,1]:=floattostr(sum);
Form8.StringGrid2.Cells [5,1]:='Одна сторона';
Close; end;
If RadioButton2.Checked=true then begin
t:=strtofloat(Form8.StringGrid2.Cells [6,1]);
sum:=t+((t/100)*40);
Form8.StringGrid2.Cells [6,1]:=floattostr(sum);
Form8.StringGrid2.Cells [5,1]:='Две стороны'; Close;end;end;end;end.
unit Unit16;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, unit1,Mask,ExtCtrls, jpeg, ComCtrls;
type
TForm16 = class(TForm)
Image1: TImage; Label1: TLabel;Edit1: TEdit;Edit2: TEdit;Label2: TLabel;
Label3: TLabel; Memo1: TMemo; Label6: TLabel; SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton; DateTimePicker1: TDateTimePicker;
MaskEdit2: TMaskEdit; MaskEdit3: TMaskEdit; Label8: TLabel; Label7: TLabel;
Label10: TLabel; Memo4: TMemo; Label4: TLabel;
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form16: TForm16;
implementation
uses Unit10, Unit7;
{$R *.dfm}
procedure TForm16.SpeedButton2Click(Sender: TObject);
Var f: Integer;
begin
if (Edit1.Text='') or(Edit2.Text='')or(Memo1.Text='') then
Showmessage('Сначала введите необходимую информацию!') else
if(MaskEdit3.Text='')and(MaskEdit2.Text='(8) ')then
Showmessage('Введите хотя бы один номер телефона!')
else begin
fiozam:=Edit1.Text;
fiozak:=Edit2.Text;
adres:=Memo1.Text;
got:=Memo4.Text;
data:=datetostr(DateTimePicker1.Date);
domtel:=MaskEdit3.Text;
sottel:=MaskEdit2.Text;
for f := 0 to ComponentCount - 1 do begin
if (Components[f] is TEdit) then
(Components[f] as TEdit).Text:='';
if (Components[f] is TMemo) then
(Components[f] as TMemo).Text:='';
if (Components[f] is TMaskEdit) then
(Components[f] as TMaskEdit).Text:='';
form7.Show; Close; end;end;end;
procedure TForm16.SpeedButton1Click(Sender: TObject);
begin Close; end;
procedure TForm16.Edit1KeyPress(Sender: TObject; var Key: Char);
var vrLength, vrSelStart: byte;
begin
with Sender as TEdit do
begin
vrLength := Length(Text);
vrSelStart := SelStart; end;
case Key of 'А'..'Я':begin end;
'а'..'я':begin end;
#8:begin end;
#32:begin end;
#46:
else Key := #0;end;end;
procedure TForm16.Edit2KeyPress(Sender: TObject; var Key: Char);
var vrLength, vrSelStart: byte;
begin
with Sender as TEdit do
begin
vrLength := Length(Text);
vrSelStart := SelStart; end;
case Key of 'А'..'Я':begin end;
'а'..'я':begin end;
#8:begin end;
#32:begin end;
#46: else Key := #0; end;end;
procedure TForm16.FormCreate(Sender: TObject);
begin datetimepicker1.Date:=Date;end;end.
unit Unit17;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, jpeg,unit1, ExtCtrls,unit8;
type
TForm17 = class(TForm)
Image1: TImage; SpeedButton8: TSpeedButton; SpeedButton1: TSpeedButton;
ComboBox1: TComboBox; ComboBox2: TComboBox; ComboBox3: TComboBox;
RadioButton1: TRadioButton; RadioButton2: TRadioButton;
RadioButton3: TRadioButton; procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var plo,zen:real; Form17: TForm17; senton:string; t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12
,t13,h1,h2,h3,h4,h5,h6,h7,h8,r1,r2,r3,r4:string;
implementation
uses Unit22;
{$R *.dfm}
procedure TForm17.RadioButton1Click(Sender: TObject);
Var f:textfile;
begin
if RadioButton1.Checked=True then begin
ComboBox1.Enabled:=True;
ComboBox2.Enabled:=False;
ComboBox3.Enabled:=False;
{$I-}
AssignFile(f,dir+'\Цены\Тонировка\Prof.dat');
{$I+}
If IOResult=0 then begin
Reset(f);
while not EoF(f) do begin
readln(f,t1); readln(f,t2);
readln(f,t3); readln(f,t4);
readln(f,t5); readln(f,t6);
readln(f,t7); readln(f,t8);
readln(f,t9); readln(f,t10);
readln(f,t11); readln(f,t12);
readln(f,t13); end end
else begin Exit; Showmessage('Ошибка чтения файла цены');
CloseFile(f); end;end;end;
procedure TForm17.RadioButton2Click(Sender: TObject);
Var f:textfile;
begin
if RadioButton2.Checked=True then begin
ComboBox1.Enabled:=False;
ComboBox2.Enabled:=True;
ComboBox3.Enabled:=False;
{$I-}
AssignFile(f,dir+'\Цены\Тонировка\Dekor.dat');
{$I+}
If IOResult=0 then begin
Reset(f);
while not EoF(f) do begin
readln(f,r1); readln(f,r2);
readln(f,r3); readln(f,r4); end end
else begin Exit; Showmessage('Ошибка чтения файла цены');
CloseFile(f); end;end;end;
procedure TForm17.RadioButton3Click(Sender: TObject);
Var f:textfile;
begin
if RadioButton3.Checked=True then begin
ComboBox1.Enabled:=False;
ComboBox2.Enabled:=False;
ComboBox3.Enabled:=True;
{$I-}
AssignFile(f,dir+'\Цены\Тонировка\Udar.dat');
{$I+}
If IOResult=0 then begin
Reset(f);
while not EoF(f) do begin
readln(f,h1); readln(f,h2);
readln(f,h3); readln(f,h4);
readln(f,h5); readln(f,h6);
readln(f,h7); readln(f,h8); end end
else begin Exit; Showmessage('Ошибка чтения файла цены');
CloseFile(f); end;end;end;
procedure TForm17.SpeedButton8Click(Sender: TObject);
Var f: Integer;
begin
if Form8.StringGrid2.Cells[4,1]='' then begin
if (RadioButton1.Checked<>true)and(RadioButton2.Checked<>true)and
(RadioButton3.Checked<>true) then
Showmessage('Сначала что-нибудь нужно выбрать!')
else
if (Combobox1.Text='')and(Combobox2.Text='')and
(Combobox3.Text='') then
Showmessage('Выберите конкретный тип тонировки!')
else begin
plo:=StrtoFloat(Form8.StringGrid2.Cells[0,1]);
zen:=strtofloat(Form8.StringGrid2.Cells[6,1])+(strtofloat(senton)*plo);
Form8.StringGrid2.Cells[6,1]:=floattostr(zen);
Form8.StringGrid2.Cells[4,1]:=ton;
for f := 0 to ComponentCount - 1 do
if (Components[f] is TCombobox) then
(Components[f] as TCombobox).Items.Clear;Close;end;
end else begin
Showmessage('Окно можно тонировать только один раз!');
Close;end;end;
procedure TForm17.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Text='R Silver 20' then begin
ton:=ComboBox1.Text;
senton:=t1;end;
if ComboBox1.Text='R Silver 35' then begin
ton:=ComboBox1.Text;
senton:=t2; end;
if ComboBox1.Text='R Silver 50' then begin
ton:=ComboBox1.Text;
senton:=t3; end;
if ComboBox1.Text='R Grey 10' then begin
ton:=ComboBox1.Text;
senton:=t4; end;
if ComboBox1.Text='R Blue 15' then begin
ton:=ComboBox1.Text;
senton:=t5; end;
if ComboBox1.Text='R Gold 15 ' then begin
ton:=ComboBox1.Text;
senton:=t6; end;
if ComboBox1.Text='R Green 10' then begin
ton:=ComboBox1.Text;
senton:=t7; end;
if ComboBox1.Text='R Bronze 10' then begin
ton:=ComboBox1.Text;
senton:=t8;end;
if ComboBox1.Text='HP Natural 20 ' then begin
ton:=ComboBox1.Text;
senton:=t9;end;
if ComboBox1.Text='HP Natural 35 ' then begin
ton:=ComboBox1.Text;
senton:=t10; end;
if ComboBox1.Text='HP Bronze 35 ' then begin
ton:=ComboBox1.Text;
senton:=t11; end;
if ComboBox1.Text='HP Blue 35 ' then begin
ton:=ComboBox1.Text;
senton:=t12; end;
if ComboBox1.Text='HP Green 30 ' then begin
ton:=ComboBox1.Text;
senton:=t13;end;end;
procedure TForm17.ComboBox2Change(Sender: TObject);
begin
if ComboBox2.Text='Matt White' then begin
ton:=ComboBox2.Text;
senton:=r1;end;
if ComboBox2.Text='Matt Bronze' then begin
ton:=ComboBox2.Text;
senton:=r2;end;
if ComboBox2.Text='Matt Silver' then begin
ton:=ComboBox2.Text;
senton:=r3;end;
if ComboBox2.Text='Black Out' then begin
ton:=ComboBox2.Text;
senton:=r4;end;end;
procedure TForm17.ComboBox3Change(Sender: TObject);
begin
if ComboBox3.Text='100 MIC Silver 20' then begin
ton:=ComboBox3.Text;
senton:=h1;end;
if ComboBox3.Text='Safety 2 MIL' then begin
ton:=ComboBox3.Text;
senton:=h2;end;
if ComboBox3.Text='Safety 4 MIL' then begin
ton:=ComboBox3.Text;
senton:=h3;end;
if ComboBox3.Text='Safety 7 MIL' then begin
ton:=ComboBox3.Text;
senton:=h4;end;
if ComboBox3.Text='Класс защиты А1' then begin
ton:=ComboBox3.Text;
senton:=h5;end;
if ComboBox3.Text='Класс защиты А2' then begin
ton:=ComboBox3.Text;
senton:=h6;end;
if ComboBox3.Text='Класс защиты А3' then begin
ton:=ComboBox3.Text;
senton:=h7;end;
if ComboBox3.Text='Стекло 4мм' then begin
ton:=ComboBox3.Text;
senton:=h8;end;end;
procedure TForm17.SpeedButton1Click(Sender: TObject);
begin form22.Show;end;end.
unit Unit18;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, Spin, jpeg, ExtCtrls,unit1,unit8;
type
TForm18 = class(TForm)
Image1: TImage; Label1: TLabel; Label2: TLabel; SpeedButton8: TSpeedButton;
RadioButton1: TRadioButton;RadioButton2: TRadioButton;ComboBox1: TComboBox;
SpinEdit1: TSpinEdit; CheckBox1: TCheckBox;
procedure SpeedButton8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form18: TForm18;
h100,h150,h200,h250,h300,h350,h400,h450,h500,h600,h700,h800:string;
implementation
{$R *.dfm}
procedure TForm18.SpeedButton8Click(Sender: TObject);
Var f:textfile;k:integer;l,z:real;
begin l:=0; z:=0;
if Form8.StringGrid2.Cells[2,1]='да' then begin
Showmessage('На окно можно ставить только один подоконник!');
Close; end else
if (RadioButton1.Checked<>true)and(RadioButton2.Checked<>true)
then Showmessage('Сначала что-нибудь нужно выбрать!')
else
if (Combobox1.Text='')or(SpinEdit1.Value<=0)then
Showmessage('Введите все необходимые данные!')
else begin
if RadioButton2.Checked=True then begin
markP:='Ulьtra';
{$I-}
AssignFile(f,dir+'\Цены\Подоконники\Ultra.dat');
{$I+}
If IOResult=0 then begin Reset(f);
while not EoF(f) do begin
readln(f,h100); readln(f,h150);
readln(f,h200); readln(f,h250);
readln(f,h300); readln(f,h350);
readln(f,h400); readln(f,h450);
readln(f,h500); readln(f,h600);
readln(f,h700); readln(f,h800); end;
if Combobox1.Text='100' then begin
l:=(SpinEdit1.Value*0.001)*strtofloat(h100);
podsen:=floattostr(l);
razpod:='100'+'x'+inttostr(SpinEdit1.Value);
if CheckBox1.Checked=true then l:=l+2.1;
z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;
Form8.StringGrid2.Cells[6,1]:=floattostr(z);
Form8.StringGrid2.Cells[2,1]:='да'; end;
if Combobox1.Text='150' then begin
l:=(SpinEdit1.Value*0.001)*strtofloat(h150);
podsen:=floattostr(l);
razpod:='150'+'x'+inttostr(SpinEdit1.Value);
if CheckBox1.Checked=true then l:=l+2.1;
z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;
Form8.StringGrid2.Cells[6,1]:=floattostr(z);
Form8.StringGrid2.Cells[2,1]:='да'; end;
if Combobox1.Text='200' then begin
l:=(SpinEdit1.Value*0.001)*strtofloat(h200);
podsen:=floattostr(l);
razpod:='200'+'x'+inttostr(SpinEdit1.Value);
if CheckBox1.Checked=true then l:=l+2.1;
z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;
Form8.StringGrid2.Cells[6,1]:=floattostr(z);
Form8.StringGrid2.Cells[2,1]:='да'; end;
if Combobox1.Text='250' then begin
l:=(SpinEdit1.Value*0.001)*strtofloat(h250);
podsen:=floattostr(l);
razpod:='250'+'x'+inttostr(SpinEdit1.Value);
if CheckBox1.Checked=true then l:=l+2.1;
z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;
Form8.StringGrid2.Cells[6,1]:=floattostr(z);
Form8.StringGrid2.Cells[2,1]:='да'; end;
if Combobox1.Text='300' then begin
l:=(SpinEdit1.Value*0.001)*strtofloat(h300);
podsen:=floattostr(l);
razpod:='300'+'x'+inttostr(SpinEdit1.Value);
if CheckBox1.Checked=true then l:=l+2.1;
z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;
Form8.StringGrid2.Cells[6,1]:=floattostr(z);
Form8.StringGrid2.Cells[2,1]:='да'; end;
if Combobox1.Text='350' then begin
l:=(SpinEdit1.Value*0.001)*strtofloat(h350);
podsen:=floattostr(l);
razpod:='350'+'x'+inttostr(SpinEdit1.Value);
if CheckBox1.Checked=true then l:=l+2.1;
z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;
Form8.StringGrid2.Cells[6,1]:=floattostr(z);
Form8.StringGrid2.Cells[2,1]:='да'; end;
if Combobox1.Text='400' then begin
l:=(SpinEdit1.Value*0.001)*strtofloat(h400);
podsen:=floattostr(l);
razpod:='400'+'x'+inttostr(SpinEdit1.Value);
if CheckBox1.Checked=true then l:=l+2.1;
z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;
Подобные документы
Информационная система предприятия. Создание программы средствами Delphi 7 для обработки информации от пользователя и выдачи конечного результата для просмотра. Выбор программных и аппаратных средств. Методика расчета стоимости изготовления изделия.
отчет по практике [237,1 K], добавлен 05.03.2013Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.
курсовая работа [560,1 K], добавлен 18.07.2012Изучение программы базовой системы ввода-вывода (BIOS) и её настроек. Разработка компьютерной обучающей программы-тренажера "Настройка BIOS" в объектно-ориентированной среде Delphi. Тестирование данного программного продукта и экономические затраты.
дипломная работа [54,5 K], добавлен 09.10.2013Основные требования к программному средству. Компоненты интегрированной среды Delphi 7, алгоритм создания приложения. Разработка программы для редактирования и просмотра данных о клиентах, врачах, перечне медицинских услуг, стоимости медикаментов.
курсовая работа [2,6 M], добавлен 13.10.2012Информационное обеспечение задачи автоматизации учета. Программное обеспечение задачи автоматизации учета. Расчет технико-экономической эффективности программного продукта по учету пластиковых карт. Расчет затрат на разработку программного модуля.
дипломная работа [2,1 M], добавлен 10.02.2018Технико-математическое описание и назначение программы "Расчет фундаментов": предоставление краткого описания формул вычисления и инженерного калькулятора, вывод информации на печать, простой интерфейс. Тестирование вычислительной системы программы.
дипломная работа [4,4 M], добавлен 25.09.2014Структура предприятия, место и функции информационных отделов. Перспективные направления в применении современных информационных технологий. Требования к формированию отчетов и к графическому интерфейсу. Расчет стоимости разрабатываемой программы.
дипломная работа [2,6 M], добавлен 26.08.2014Отличительные особенности программы для создания каталога видеокарт на Visual Basic с ее занесением, изменением и удалением. Расчет максимальной и минимальной стоимости видеоносителя в порядке увеличения его стоимости и выбор параметров сортировки.
реферат [2,9 M], добавлен 12.10.2010Разработка программы тестирования студентов по MS PowerPoint с кодом на языке Delphi. Создание алгоритма для решения функциональных требований задачи. Описание переменных, вспомогательных процедур, входных и выходных данных для реализации программы.
курсовая работа [1,5 M], добавлен 21.09.2010Разработка алгоритма и программы "Расчет стыкового паяного соединения" в среде Microsoft Visual Studio для облегчения расчётов сварных швов. Создание главной формы приложения и его кодирование для расчёта углового шва. Тестирование программы на ошибки.
курсовая работа [1,5 M], добавлен 06.02.2013