рефераты рефераты
Главная страница > Дипломная работа: Пути повышения рентабельности производства Борисовского завода пластмассовых изделий  
Дипломная работа: Пути повышения рентабельности производства Борисовского завода пластмассовых изделий
Главная страница
Новости библиотеки
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Дипломная работа: Пути повышения рентабельности производства Борисовского завода пластмассовых изделий


ПРИЛОЖЕНИЕ 4

Текст программы главного модуля

unit Main;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 StdCtrls, ToolWin, ComCtrls, Grids, ExtCtrls;

const

 Sep = #11#12;

type

 TForm1 = class(TForm)

 SG: TStringGrid;

 ToolBar1: TToolBar;

 btnDel: TButton;

 btnAdd: TButton;

 procedure FormCreate(Sender: TObject);

 procedure btnDelClick(Sender: TObject);

 procedure SGDrawCell(Sender: TObject; Col, Row: Integer; Rect: TRect;

 State: TGridDrawState);

 procedure FormClose(Sender: TObject; var Action: TCloseAction);

 procedure btnAddClick(Sender: TObject);

 procedure SGDblClick(Sender: TObject);

 private

 public

 Contr : TStrings;

 Index : Integer;

 Function Data(J,N : Integer):String;

 end;

var

 Form1: TForm1;

implementation

uses Contrakt;

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

 Contr := TStringList.Create;

 Try

 Contr.LoadFromFile('KON.DAT');

 Except

 End;

 If Contr.Count>0 Then SG.RowCount:=Contr.Count+1 Else SG.RowCount:=2;

 btnDel.Enabled:=Contr.Count>0;

 SG.Cells[0,0]:='№';

 SG.Cells[1,0]:='Поставщик';

 SG.Cells[2,0]:='Срок оплаты';

 SG.Cells[3,0]:='Сумма к оплате';

 SG.Cells[4,0]:='Погашено';

 SG.Cells[5,0]:='Задолженность';

 SG.ColWidths[0]:=24;

 SG.ColWidths[1]:=233-GetSystemMetrics(SM_CXHSCROLL);

 SG.ColWidths[2]:=70;

 SG.ColWidths[3]:=85;

 SG.ColWidths[4]:=85;

 SG.ColWidths[5]:=85;

end;

Function TForm1.Data(J,N : Integer):String;

Var I,K : Integer;

Begin

 Result:=Contr[N];

 For I:=1 to J-1 do

 Begin

 K:=Pos(Sep,Result);

 If K>0 Then Delete(Result,1,K+Length(Sep)-1);

 End;

 K:=Pos(Sep,Result);

 If K>0 Then Delete(Result,K,Length(Result));

End;

procedure TForm1.SGDrawCell(Sender: TObject; Col, Row: Integer;

 Rect: TRect; State: TGridDrawState);

Var S : String;

begin

 If Row=0 Then

 Begin

 S:=SG.Cells[Col,0];

 SG.Canvas.TextRect(Rect,Rect.Left+(SG.ColWidths[Col]-SG.Canvas.TextWidth(S)) div 2,Rect.Top+2,S);

 End

 Else If Contr.Count>0 Then

 Begin

 Case Col of

 0 : S:=IntToStr(Row);

 1 : S:=Data(2,Row-1);

 2 : S:=Data(1,Row-1);

 3 : S:=Data(3,Row-1);

 4 : S:=Data(4,Row-1);

 5 : S:=Data(5,Row-1);

 End;

 If StrToFloat(Data(5,Row-1))<=0 Then SG.Canvas.Brush.Color:=cl3DLight;

 Case Col of

 3,4,5 : SG.Canvas.TextRect(Rect,Rect.Left+SG.ColWidths[Col]-SG.Canvas.TextWidth(S)-4,Rect.Top+2,S);

 1 : SG.Canvas.TextRect(Rect,Rect.Left+2,Rect.Top+2,S);

 0,2 : SG.Canvas.TextRect(Rect,Rect.Left+(SG.ColWidths[Col]-SG.Canvas.TextWidth(S)) div 2,Rect.Top+2,S);

 End;

 End;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

 Contr.SaveToFile('KON.DAT');

end;

procedure TForm1.btnAddClick(Sender: TObject);

begin

 Index:=-1;

 frmContract:=TfrmContract.Create(self);

 frmContract.ShowModal;

 btnDel.Enabled:=Contr.Count>0;

end;

procedure TForm1.btnDelClick(Sender: TObject);

begin

 If MessageDlg('Удалить данные?',mtConfirmation,[mbYes,mbNo],0)=mrYes Then

 Begin

 Contr.Delete(SG.Row-1);

 If SG.RowCount>2 Then SG.RowCount:=SG.RowCount-1 Else SG.Repaint;

 End;

 btnDel.Enabled:=Contr.Count>0;

end;

procedure TForm1.SGDblClick(Sender: TObject);

begin

 Index:=SG.Row-1;

 frmContract:=TfrmContract.Create(self);

 frmContract.edtPost.Text:=Data(2,Index);

 frmContract.edtDate.Text:=Data(1,Index);

 frmContract.edtSum.Text:=Data(3,Index);

 frmContract.edtPog.Text:=Data(4,Index);

 frmContract.ShowModal;

end;

end.


ПРИЛОЖЕНИЕ 5

Текст программы модуля «Контракт».

unit Contrakt;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 StdCtrls, Buttons;

type

 TfrmContract = class(TForm)

 edtPost: TEdit;

 Label1: TLabel;

 btnOk: TBitBtn;

 BitBtn2: TBitBtn;

 Label2: TLabel;

 Label3: TLabel;

 edtDate: TEdit;

 edtSum: TEdit;

 edtPog: TEdit;

 Label4: TLabel;

 procedure edtSumChange(Sender: TObject);

 procedure edtPostChange(Sender: TObject);

 procedure edtDateChange(Sender: TObject);

 procedure FormCreate(Sender: TObject);

 procedure btnOkClick(Sender: TObject);

 private

 public

 end;

var

 frmContract: TfrmContract;

implementation

{$R *.DFM}

Uses Main;

procedure TfrmContract.edtSumChange(Sender: TObject);

begin

 Try

 StrToFloat(TEdit(Sender).Text);

 TEdit(Sender).Font.Color:=clWindowText;

 Except

 TEdit(Sender).Font.Color:=clRed;

 End;

 btnOk.Enabled:=(edtSum.Font.Color=clWindowText)and(edtPost.Font.Color=clWindowText)and(edtDate.Font.Color=clWindowText);

end;

procedure TfrmContract.edtPostChange(Sender: TObject);

begin

 If edtPost.Text<>'' Then edtPost.Font.Color:=clWindowText

 Else edtPost.Font.Color:=clRed;

 btnOk.Enabled:=(edtSum.Font.Color=clWindowText)and(edtPost.Font.Color=clWindowText)and(edtDate.Font.Color=clWindowText);

end;

procedure TfrmContract.edtDateChange(Sender: TObject);

begin

 Try

 StrToDate(edtDate.Text);

 edtDate.Font.Color:=clWindowText;

 Except

 edtDate.Font.Color:=clRed;

 End;

 btnOk.Enabled:=(edtSum.Font.Color=clWindowText)and(edtPost.Font.Color=clWindowText)and(edtDate.Font.Color=clWindowText);

end;

procedure TfrmContract.FormCreate(Sender: TObject);

begin

 edtDate.Text:=DateToStr(Now);

end;

procedure TfrmContract.btnOkClick(Sender: TObject);

Var S : String;

 R : Real;

begin

 S:=edtDate.Text+Sep+edtPost.Text+Sep+edtSum.Text+Sep;

 If edtPog.Font.Color=clRed Then edtPog.Text:='0';

 S:=S+edtPog.Text+Sep;

 R:=StrToFloat(edtSum.Text)-StrToFloat(edtPog.Text);

 S:=S+FloatToStr(R);

 With Form1 do If Index=-1 Then

 Begin

 Contr.Add(S);

 If Form1.Contr.Count>1 Then Form1.SG.RowCount:=Form1.SG.RowCount+1;

 End Else Contr[Index]:=S;

 Form1.SG.Repaint;

end;

end.


*  Охрана окружающей среды: Учеб. для техн. спец. вузов/ С. В. Белов, Ф.А. Барбинов, А.Ф. Козьяков и др. Под ред. С. В. Белова. 2-е изд., испр. и доп.‑ М.: Высш. шк., 1991, с. 57.


Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28

рефераты
Новости