Скачиваний:
11
Добавлен:
17.06.2023
Размер:
3.25 Mб
Скачать

SQL.Clear;

SQL.Add('delete from customer_auto_region where id=:id;'); Parameters.ParamByName('id').Value:=dbAuto.FieldByName('id').AsInteger; ExecSQL;

End;

dbAuto.Close;

dbAuto.Open;

end;

procedure TformCustomerService.dbAutoAfterClose(DataSet: TDataSet); begin

Button9.Enabled:=True;

end;

procedure TformCustomerService.dbAutoAfterOpen(DataSet: TDataSet); begin

Button5.Enabled:=True;

Button9.Enabled:=True;

Button4.Enabled:=True;

GetGBOInfo;

end;

procedure TformCustomerService.dbAutoAfterPost(DataSet: TDataSet); begin

DM.TWStop('v_customer_auto',DataSet.FieldByName('id').AsInteger);

Button7.Visible:=False;

dbAuto.Refresh;

end;

procedure TformCustomerService.dbAutoAfterScroll(DataSet: TDataSet); begin

GetGBOInfo;

end;

procedure TformCustomerService.dbAutoBeforeClose(DataSet: TDataSet); begin

Button5.Enabled:=False;

Button9.Enabled:=False;

Button4.Enabled:=False;

end;

procedure TformCustomerService.dbAutoBeforeDelete(DataSet: TDataSet); begin

if not DM.TWStart('v_customer_auto',DataSet.FieldByName('id').AsInteger) then Abort;

end;

procedure TformCustomerService.dbAutoBeforeEdit(DataSet: TDataSet); begin

if not DM.TWStart('v_customer_auto',DataSet.FieldByName('id').AsInteger) then Abort;

Button7.Visible:=True;

end;

procedure TformCustomerService.dbAutoBeforeInsert(DataSet: TDataSet); begin

Button7.Visible:=True;

end;

82

procedure TformCustomerService.dbAutoNewRecord(DataSet: TDataSet); begin

dbAuto.FieldByName('customer_id').AsInteger:=dbCustomer.FieldByName('id').As Integer

end;

procedure TformCustomerService.dbCustomerAfterClose(DataSet: TDataSet); begin

Button3.Enabled:=False;

Button8.Enabled:=False;

end;

procedure TformCustomerService.dbCustomerAfterOpen(DataSet: TDataSet); begin

Button3.Enabled:=true;

Button8.Enabled:=true;

end;

procedure TformCustomerService.dbCustomerAfterPost(DataSet: TDataSet); begin

DM.TWStop('customer',DataSet.FieldByName('id').AsInteger); Button2.Visible:=False;

end;

procedure TformCustomerService.dbCustomerBeforeClose(DataSet: TDataSet); begin

dbAuto.Close;

end;

procedure TformCustomerService.dbCustomerBeforeDelete(DataSet: TDataSet); begin

if not DM.TWStart('customer',DataSet.FieldByName('id').AsInteger) then Abort;

end;

procedure TformCustomerService.dbCustomerBeforeEdit(DataSet: TDataSet); begin

if not DM.TWStart('customer',DataSet.FieldByName('id').AsInteger) then Abort;

Button2.Visible:=True;

end;

procedure TformCustomerService.dbCustomerBeforeInsert(DataSet: TDataSet); begin

Button2.Visible:=True;

end;

procedure TformCustomerService.dbTOAfterClose(DataSet: TDataSet); begin

Button12.Enabled:=False;

Button11.Enabled:=False;

end;

procedure TformCustomerService.dbTOAfterOpen(DataSet: TDataSet); begin

Button12.Enabled:=True;

Button11.Enabled:=True;

end;

83

procedure TformCustomerService.dbTOAfterPost(DataSet: TDataSet); begin

DM.TWStop('customer_LPG_device_TO',DataSet.FieldByName('id').AsInteger); Button10.Enabled:=false;

end;

procedure TformCustomerService.dbTOBeforeDelete(DataSet: TDataSet); begin

if not DM.TWStart('customer_LPG_device_TO',DataSet.FieldByName('id').AsInteger) then Abort;

end;

procedure TformCustomerService.dbTOBeforeEdit(DataSet: TDataSet); begin

if not DM.TWStart('customer_LPG_device_TO',DataSet.FieldByName('id').AsInteger) then Abort;

Button10.Enabled:=True;

end;

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

begin Action:=caFree;

end;

procedure TformCustomerService.FormCreate(Sender: TObject); begin

G.OnTitleClick:=DM.onSort;

G1.OnTitleClick:=DM.onSort;

end;

procedure TformCustomerService.GDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State:

TGridDrawState); begin

If Assigned(Column) then begin G.Canvas.FillRect(Rect);

G.Canvas.TextRect(Rect,Rect.Left+2,Rect.Top,''+Column.Field.AsString);

end;

end;

end.

Листинг В.7 – модуль «Словарь ГБО»

unit UnitformLPG;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, ExtCtrls, StdCtrls, DBCtrls, Grids, DBGrids, Mask;

type

TformLPG = class(TForm)

84

Panel1: TPanel; grp1: TGroupBox; dbgrd1: TDBGrid;

dbnvgr1: TDBNavigator; GroupBox1: TGroupBox; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Panel2: TPanel;

Button1: TButton; spl1: TSplitter; dbMnf: TADODataSet; dsMnf: TDataSource; dbModel: TADODataSet; dsModel: TDataSource; Splitter1: TSplitter; GroupBox2: TGroupBox; lbl1: TLabel; DBEdit1: TDBEdit; Label1: TLabel;

DBComboBox1: TDBComboBox; Label2: TLabel; DBComboBox2: TDBComboBox; DBComboBox3: TDBComboBox; Label3: TLabel;

Label4: TLabel; DBComboBox4: TDBComboBox; btn1: TButton;

Button4: TButton;

Label5: TLabel;

DBEdit2: TDBEdit;

Label6: TLabel;

procedure dbModelNewRecord(DataSet: TDataSet); procedure Button4Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure dbModelAfterPost(DataSet: TDataSet); procedure dbModelBeforeEdit(DataSet: TDataSet);

procedure dbModelBeforeInsert(DataSet: TDataSet);

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

procedure dbMnfBeforeEdit(DataSet: TDataSet); procedure dbMnfBeforeDelete(DataSet: TDataSet); procedure dbMnfAfterPost(DataSet: TDataSet); procedure dbModelBeforeDelete(DataSet: TDataSet);

private

{Private declarations } public

{Public declarations }

end;

implementation Uses UnitDM;

{$R *.dfm}

procedure TformLPG.btn1Click(Sender: TObject); begin

dbModel.Post;

end;

procedure TformLPG.Button4Click(Sender: TObject); begin

85

dbModel.Insert;

end;

procedure TformLPG.dbMnfAfterPost(DataSet: TDataSet); begin

DM.TWStop('dic_LPG_device_manufaktured',DataSet.FieldByName('id').AsInteger)

;

end;

procedure TformLPG.dbMnfBeforeDelete(DataSet: TDataSet); begin

If not DM.TWStart('dic_LPG_device_manufaktured',DataSet.FieldByName('id').AsInteger ) Then Abort;

end;

procedure TformLPG.dbMnfBeforeEdit(DataSet: TDataSet); begin

If not DM.TWStart('dic_LPG_device_manufaktured',DataSet.FieldByName('id').AsInteger ) Then Abort;

end;

procedure TformLPG.dbModelAfterPost(DataSet: TDataSet); begin

DM.TWStop('dic_LPG_device',DataSet.FieldByName('id').AsInteger); btn1.Enabled:=False;

end;

procedure TformLPG.dbModelBeforeDelete(DataSet: TDataSet); begin

If not DM.TWStart('dic_LPG_device',DataSet.FieldByName('id').AsInteger) Then Abort;

end;

procedure TformLPG.dbModelBeforeEdit(DataSet: TDataSet); begin

If not DM.TWStart('dic_LPG_device',DataSet.FieldByName('id').AsInteger) Then Abort;

btn1.Enabled:=True;

end;

procedure TformLPG.dbModelBeforeInsert(DataSet: TDataSet); begin

btn1.Enabled:=True;

end;

procedure TformLPG.dbModelNewRecord(DataSet: TDataSet); begin

dbModel.FieldByName('manufakture_id').AsVariant:=dbMnf.FieldByName('id').AsV ariant;

end;

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

dbMnf.Active:=False;

dbModel.Active:=False;

Action:=caFree;

86

end;

procedure TformLPG.FormCreate(Sender: TObject); begin

dbgrd1.OnTitleClick:=DM.onSort;

dbgrid1.OnTitleClick:=DM.onSort;

dbMnf.Active:=True;

dbModel.Active:=True;

end;

end.

Листинг В.8 – модуль «Выбор ГБО»

unit UnitformLPGDeviceSelect;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, ExtCtrls, Grids, DBGrids;

type

TformLPGDeviceSelect = class(TForm) G: TDBGrid;

Panel1: TPanel;

Button2: TButton;

Button1: TButton;

Panel2: TPanel;

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Edit2: TEdit; Button3: TButton; dbModel: TADODataSet; dsModel: TDataSource;

procedure Button3Click(Sender: TObject);

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

private

{Private declarations } public

aID:Integer;

aValue:string;

{Public declarations }

end;

implementation Uses UnitDM;

{$R *.dfm}

procedure TformLPGDeviceSelect.Button3Click(Sender: TObject); var

S:String; begin

dbModel.Close;

87

If (Edit1.Text<>'') Or (Edit2.Text<>'') Then begin If (Edit1.Text<>'') And (Edit2.Text<>'') then

S:='manufakture_name like "%'+Edit1.Text+'%" and model_name like "%'+Edit2.Text+'%"'

Else

If Edit1.Text<>'' Then S:='manufakture_name like "%'+Edit1.Text+'%"' Else S:='model_name like "%'+Edit2.Text+'%"'; dbModel.CommandText:='select * from v_LPG_select where '+S;

end Else dbModel.CommandText:='select * from v_LPG_select'; dbModel.Open;

end;

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

begin

If dbModel.Active Then Begin aID:=dbModel.FieldByName('id').AsInteger; aValue:=dbModel.FieldByName('manufakture_name').AsString+':

'+dbModel.FieldByName('model_name').AsString; dbModel.Close;

End Else If ModalResult=mrOk Then Action:=caNone; end;

procedure TformLPGDeviceSelect.FormCreate(Sender: TObject); begin

G.OnTitleClick:=DM.onSort;

dbModel.Open;

end;

end.

Листинг В.9 – модуль «Выбор ГБО для авто»

unit UnitformLPGDSelect;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, ExtCtrls, Grids, DBGrids, UnitDM;

type

TformLPGDSelect = class(TForm) G: TDBGrid;

Panel1: TPanel;

Button2: TButton;

Button1: TButton; dbModel: TADODataSet; dsModel: TDataSource;

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

{ Private declarations } public

aID:Integer;

aName:String;

aPrice:Currency;

constructor Create(AOwner: TComponent;aAutoID:Integer;aDate:String); end;

88

implementation

{$R *.dfm}

constructor TformLPGDSelect.Create(AOwner: TComponent;aAutoID:Integer;aDate:String); Var

S:String; begin

inherited Create(AOwner);

S:='SELECT * FROM v_LPG_detail_select WHERE (date_from<=CDate("'+aDate+'")) '+

'AND (iif(date_to is null,cDate("01.01.2500"),date_to)>CDate("'+aDate+'"))'+

'and auto_model_id='+inttostr(aAutoID); dbModel.CommandText:=S; G.OnTitleClick:=DM.onSort;

dbModel.Open;

end;

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

begin

If (ModalResult=mrOk) and not dbModel.FieldByName('lid').IsNull Then begin aID:=dbModel.FieldByName('lid').AsInteger; aName:=dbModel.FieldByName('manufakture_name').AsString+':

'+dbModel.FieldByName('model_name').AsString; aPrice:=dbModel.FieldByName('price').AsCurrency; dbModel.Close;

end Else If ModalResult=mrOk then Action:=caNone; end;

end.

Листинг В.10 – модуль «Стоимость ГБО»

unit UnitformLPGPrice;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, ExtCtrls, Grids, DBGrids,UnitMain;

type

TformLPGPrice = class(TForm) GroupBox1: TGroupBox;

G: TDBGrid; Panel1: TPanel; Button1: TButton;

dbModel: TADODataSet; dsModel: TDataSource; Button2: TButton; Button3: TButton; Button4: TButton;

procedure FormCreate(Sender: TObject);

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

89

procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject);

private

{Private declarations } public

{Public declarations }

end;

implementation

Uses UnitformLPGPriceDetail,UnitDM; {$R *.dfm}

procedure TformLPGPrice.Button2Click(Sender: TObject); var

formLPGPriceDetail: TformLPGPriceDetail; begin

formLPGPriceDetail:=TformLPGPriceDetail.Create(Self,dbModel,2);

formLPGPriceDetail.ShowModal;

formLPGPriceDetail.Free;

dbModel.Close;

dbModel.Open;

end;

procedure TformLPGPrice.Button3Click(Sender: TObject); var

formLPGPriceDetail: TformLPGPriceDetail; begin

formLPGPriceDetail:=TformLPGPriceDetail.Create(Self,dbModel,0);

formLPGPriceDetail.ShowModal;

formLPGPriceDetail.Free;

end;

procedure TformLPGPrice.Button4Click(Sender: TObject); var

formLPGPriceDetail: TformLPGPriceDetail; begin

formLPGPriceDetail:=TformLPGPriceDetail.Create(Self,nil,1);

formLPGPriceDetail.ShowModal;

formLPGPriceDetail.Free;

dbModel.Close;

dbModel.Open;

end;

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

begin dbModel.Active:=False; Action:=caFree;

end;

procedure TformLPGPrice.FormCreate(Sender: TObject); begin

G.OnTitleClick:=DM.onSort;

dbModel.Active:=True;

end;

end.

90

Листинг В.11 – модуль «Детали стоимости ГБО»

unit UnitformLPGPriceDetail;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, ADODB;

type

TformLPGPriceDetail = class(TForm) Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel; MaskEdit1: TMaskEdit; MaskEdit2: TMaskEdit; MaskEdit3: TMaskEdit; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; btn1: TButton;

btn2: TButton; Button1: TButton;

procedure Label3Click(Sender: TObject);

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

procedure Label4Click(Sender: TObject); private

aLPGdeviceID:Integer;

aAutoModelID:Integer;

aID:Integer;

Mode:Integer;

aSum:Currency; public

constructor Create(AOwner: TComponent;aDS:TADODataSet;aMode:Integer); end;

implementation Uses

UnitDM,UnitformPriceHistory,UnitformAutomobileSelect,unitformLPGDeviceSelect

;

{$R *.dfm}

procedure TformLPGPriceDetail.btn1Click(Sender: TObject); var

formPriceHistory: TformPriceHistory; begin

formPriceHistory:=TformPriceHistory.Create(Self,aID,'LPG_device_price_histor y');

formPriceHistory.ShowModal;

//

91

Соседние файлы в папке Курсовые работы