begin
FRMSPRAV.DBGrid1.DataSource:=DM.DS_MEM;
FRMSPRAV.DBNavigator1.DataSource:=DM.DS_MEM;
FRMSPRAV.Show;
FRMSPRAV.Caption:='Память';
end;
procedure TFRMMain.N11Click(Sender: TObject);
FRMTable.Label1.Caption:=('Введите название машины');
FRMTable.DBGrid1.DataSource:=DM.DSQ_Dogovor;
FRMTable.ClientHeight:=211;
FRMTable.Show;
FRMTable.Panel1.Visible:=false;
FRMTable.Panel2.Visible:=true;
FRMTable.Caption:='Поиск арендаторов';
procedure TFRMMain.N12Click(Sender: TObject);
FRMSPRAV.DBGrid1.DataSource:=DM.DS_SPEED;
FRMSPRAV.DBNavigator1.DataSource:=DM.DS_SPEED;
FRMSPRAV.Caption:='Скорость';
procedure TFRMMain.N13Click(Sender: TObject);
FRMTable.DBGrid1.DataSource:=DM.DSv_DOGOVOR;
FRMTable.ClientHeight:=169;
FRMTable.Caption:='Договора';
procedure TFRMMain.N14Click(Sender: TObject);
FRMTable.DBGrid1.DataSource:=DM.DSV_MASHINS;
FRMTable.Caption:='Прайс-лист';
procedure TFRMMain.N15Click(Sender: TObject);
FRMTable.DBGrid1.DataSource:=DM.DS_DOGOVOR;
FRMTable.Panel1.Visible:=true;
FRMTable.Panel2.Visible:=false;
procedure TFRMMain.N16Click(Sender: TObject);
FRMTable.DBGrid1.DataSource:=DM.DS_MASHIN;
procedure TFRMMain.N21Click(Sender: TObject);
FRMTable.Label1.Caption:=('Введите требуемый объем памяти');
FRMTable.DBGrid1.DataSource:=DM.DSP_Poisk;
FRMTable.Caption:='Поиск машины';
procedure TFRMMain.N5Click(Sender: TObject);
DM.RvDogovora.Execute;
procedure TFRMMain.N6Click(Sender: TObject);
close;
end.
unit UnitDM;
interface
uses
SysUtils, Classes, DB, ADODB, RpCon, RpConDS, RpDefine, RpRave, RpRender,
RpRenderCanvas, RpRenderPreview, DBClient;
type
TDM = class(TDataModule)
T_KLIENTS: TADOTable;
T_DOGOVOR: TADOTable;
T_MASHIN: TADOTable;
T_SPEED: TADOTable;
T_MEM: TADOTable;
T_HDD: TADOTable;
T_PROC: TADOTable;
DS_DOGOVOR: TDataSource;
DS_MASHIN: TDataSource;
DS_SPEED: TDataSource;
DS_MEM: TDataSource;
DS_HDD: TDataSource;
DS_PROC: TDataSource;
DS_KLIENT: TDataSource;
ADOConnection1: TADOConnection;
T_HDDID_HDD: TAutoIncField;
T_HDDNAIM: TWideStringField;
T_HDDHARACT: TWideStringField;
T_PROCID_PROC: TAutoIncField;
T_PROCNAIM: TWideStringField;
T_PROCHARACT: TWideStringField;
T_MEMID_MEM: TAutoIncField;
T_MEMNAIM: TWideStringField;
T_MEMHARACT: TWideStringField;
T_KLIENTSID_KLIENT: TAutoIncField;
T_KLIENTSNAIM: TWideStringField;
T_SPEEDID_SPEED: TAutoIncField;
T_SPEEDNAIM: TWideStringField;
T_SPEEDHARACT: TWideStringField;
RvDogovora: TRvProject;
RvDogovor: TRvDataSetConnection;
TV_DOGOVOR: TADOTable;
DSV_DOGOVOR: TDataSource;
TV_MASHINS: TADOTable;
DSV_MASHINS: TDataSource;
TV_MASHINSNAIM_MASH: TWideStringField;
TV_MASHINSNAIM_MEM: TWideStringField;
TV_MASHINSNAIM_SPEED: TWideStringField;
TV_MASHINSNAIM_PROC: TWideStringField;
TV_MASHINSNAIM_HDD: TWideStringField;
TV_MASHINSCENA: TFloatField;
TV_DOGOVORNAIM_MASH: TWideStringField;
TV_DOGOVORCENA: TFloatField;
TV_DOGOVORDate_zakl: TDateTimeField;
TV_DOGOVORDate_okonch: TDateTimeField;
TV_DOGOVORStoimost: TFloatField;
TV_DOGOVORNAIM_KLIENT: TWideStringField;
QP_Dogovor: TADOQuery;
DSQ_Dogovor: TDataSource;
P_Poisk: TADOStoredProc;
DSP_Poisk: TDataSource;
T_KLIENTSHARACT: TWideStringField;
T_DOGOVORID_DOGOVOR: TAutoIncField;
T_DOGOVORID_KLIENT: TIntegerField;
T_DOGOVORID_MASHIN: TIntegerField;
T_DOGOVORDate_zakl: TDateTimeField;
T_DOGOVORDate_okonch: TDateTimeField;
T_DOGOVORStoimost: TFloatField;
T_MASHINID_MASHIN: TAutoIncField;
T_MASHINID_PROC: TIntegerField;
T_MASHINID_HDD: TIntegerField;
T_MASHINID_MEM: TIntegerField;
T_MASHINID_SPEED: TIntegerField;
T_MASHINNAIM: TWideStringField;
T_MASHINCENA: TFloatField;
QP_DogovorNAIM_KLIENT: TWideStringField;
QP_DogovorNAIM_MASH: TWideStringField;
QP_DogovorCENA: TFloatField;
QP_DogovorDate_zakl: TDateTimeField;
QP_DogovorDate_okonch: TDateTimeField;
QP_DogovorStoimost: TFloatField;
P_PoiskNAIM_MASH: TWideStringField;
P_PoiskNAIM_MEM: TWideStringField;
P_PoiskNAIM_SPEED: TWideStringField;
P_PoiskNAIM_PROC: TWideStringField;
P_PoiskNAIM_HDD: TWideStringField;
P_PoiskCENA: TFloatField;
procedure T_DOGOVORCalcFields(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
var
DM: TDM;
implementation
uses UnitMain;
{$R *.dfm}
procedure TDM.T_DOGOVORCalcFields(DataSet: TDataSet);
T_Dogovor.Fields[5].AsFloat:=round(T_Dogovor.Fields[4].AsDateTime-T_Dogovor.Fields[3].AsDateTime)*(T_Mashin.Fields[6].AsInteger/30);
unit UnitTable;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls;
TFRMTable = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
Button3: TButton;
Button2: TButton;
Button1: TButton;
Panel2: TPanel;
Edit1: TEdit;
Button4: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
FRMTable: TFRMTable;
uses UnitDM, UnitAdd;
procedure set_add_form_dogovor;
FRMAdd.DBLookupComboBoxD1.Visible:=true;
FRMAdd.DBLookupComboBoxD2.Visible:=true;
FRMAdd.DBEditD1.Visible:=true;
FRMAdd.DBEditD2.Visible:=true;
FRMAdd.DBLookupComboBoxM1.Visible:=false;
FRMAdd.DBLookupComboBoxM2.Visible:=false;
FRMAdd.DBLookupComboBoxM3.Visible:=false;
FRMAdd.DBLookupComboBoxM4.Visible:=false;
FRMAdd.DBEditm1.Visible:=false;
FRMAdd.DBEditm2.Visible:=false;
FRMAdd.Label1.Caption:=('ФИО Клиента');
FRMAdd.Label2.Caption:=('Название машины');
FRMAdd.Label3.Caption:=('Дата заключения');
FRMAdd.Label4.Caption:=('Дата окончания');
FRMAdd.Label5.Caption:=('');
FRMAdd.Label6.Caption:=('');
procedure set_add_form_mashin;
FRMAdd.DBLookupComboBoxD1.Visible:=false;
FRMAdd.DBLookupComboBoxD2.Visible:=false;
FRMAdd.DBEditD1.Visible:=false;
FRMAdd.DBEditD2.Visible:=false;
FRMAdd.DBLookupComboBoxM1.Visible:=true;
FRMAdd.DBLookupComboBoxM2.Visible:=true;
FRMAdd.DBLookupComboBoxM3.Visible:=true;
FRMAdd.DBLookupComboBoxM4.Visible:=true;
FRMAdd.DBEditm1.Visible:=true;
FRMAdd.DBEditm2.Visible:=true;
FRMAdd.Label1.Caption:=('Процессор');
FRMAdd.Label2.Caption:=('Жесткий диск');
FRMAdd.Label3.Caption:=('Память');
FRMAdd.Label4.Caption:=('Скорость подключения');
FRMAdd.Label5.Caption:=('Название');
FRMAdd.Label6.Caption:=('Цена');
procedure TFRMTable.Button1Click(Sender: TObject);
if DBGrid1.DataSource=DM.DS_DOGOVOR then begin
DM.T_DOGOVOR.Append;
set_add_form_dogovor;
FRMAdd.Caption:='Добавить договор';
end else
if DBGrid1.DataSource=DM.DS_MASHIN then begin
DM.T_MASHIN.Append;
set_add_form_mashin;
FRMAdd.Caption:='Добавить конфигурацию';
FRMAdd.show;
procedure TFRMTable.Button2Click(Sender: TObject);
DM.T_DOGOVOR.Edit;
FRMAdd.Caption:='Редактировать договор';
DM.T_MASHIN.Edit;
FRMAdd.Caption:='Редактировать конфигурацию';
procedure TFRMTable.Button3Click(Sender: TObject);
DM.T_DOGOVOR.Delete;
DM.T_MASHIN.Delete;
procedure TFRMTable.Button4Click(Sender: TObject);
var s:string;
if DBGrid1.DataSource=DM.DSQ_DOGOVOR then begin
DM.QP_Dogovor.Close;
s:='SELECT NAIM_KLIENT, NAIM_MASH, CENA, Date_zakl, Date_okonch, ';
s:=s+' Stoimost FROM PR_DOGOVOR ';
s:=s+'WHERE NAIM_MASH =('''+edit1.Text+''')';
DM.QP_Dogovor.SQL.Clear;
DM.QP_Dogovor.SQL.Add(s);
try
dm.QP_Dogovor.Open;
except
showmessage('ошибка');
if DBGrid1.DataSource=DM.DSP_Poisk then begin
dm.P_Poisk.close;
dm.P_Poisk.Parameters.ParamByName('@p').Value:=Edit1.Text;
dm.P_Poisk.Open;
unit UnitAdd;
Dialogs, StdCtrls, DBCtrls, Mask;
TFRMAdd = class(TForm)
DBEditD1: TDBEdit;
DBEditD2: TDBEdit;
DBLookupComboBoxD1: TDBLookupComboBox;
DBLookupComboBoxD2: TDBLookupComboBox;
DBLookupComboBoxM1: TDBLookupComboBox;
DBLookupComboBoxM2: TDBLookupComboBox;
DBLookupComboBoxM3: TDBLookupComboBox;
DBLookupComboBoxM4: TDBLookupComboBox;
DBEditM1: TDBEdit;
DBEditM2: TDBEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
FRMAdd: TFRMAdd;
uses UnitDM, UnitTable;
procedure TFRMAdd.Button1Click(Sender: TObject);
if FRMTable.DBGrid1.DataSource=DM.DS_DOGOVOR then begin
DM.T_Dogovor.Fields[5].AsFloat:=round(DM.T_Dogovor.Fields[4].AsDateTime-DM.T_Dogovor.Fields[3].AsDateTime)*(round(DM.T_Mashin.Fields[6].AsInteger/30));
DM.T_DOGOVOR.Post;
DM.T_DOGOVOR.Active:=false;
DM.T_DOGOVOR.Active:=true;
end
else if FRMTable.DBGrid1.DataSource=DM.DS_MASHIN then begin
DM.T_MASHIN.Post;
DM.T_MASHIN.Active:=false;
DM.T_MASHIN.Active:=true;
procedure TFRMAdd.Button2Click(Sender: TObject);
Страницы: 1, 2, 3, 4, 5