Курсовые работы / ПРИС КП_4
.pdfSQL.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