Курсовые работы / ПРИС П _2
.pdf//процедурадля изменения данных в таблице
procedure TDoxod.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
var n:integer;
begin ins:=false;
if Button=nbInsert then begin
ins:=true;
if DBEdit2.Enabled then DBEdit2.SetFocus; end;
if (Button=nbRefresh) then begin
n:=DM.DoxQuery1.FieldValues['D_ID']; Refresh; DM.DoxQuery1.Locate('D_ID',n,[]); CheckEdit;
end;
end;
procedure TDoxod.DBEdit1Change(Sender: TObject); begin
if (DBEdit1.Text<>'') and (not ins) then checkEdit; end;
procedure TDoxod.DBEdit2Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
procedure TDoxod.DBEdit2Exit(Sender: TObject); begin
Timer1.Enabled:=True;
noEdit;
end;
procedure TDoxod.Timer1Timer(Sender: TObject); begin
if DBNavigator1.Controls[6].Enabled then begin
DBNavigator1.BtnClick(nbEdit);
DBNavigator1.BtnClick(nbRefresh);
end;
end;
procedure TDoxod.FormClose(Sender: TObject; var Action: TCloseAction); begin
noEdit;
Timer1.Enabled:=false;
end;
procedure TDoxod.BitBtn1Click(Sender: TObject); begin
Refresh;
if DM.DoxQuery1.FieldValues['EDIT']=false then begin
if MessageDlg('Удалитьзапись?',mtWarning,[mbYes,mbNo],0)=mrYes then begin
Refresh;
DM.DoxQuery2.Close;
DM.DoxQuery2.SQL.Clear;
DM.DoxQuery2.SQL.Add('DELETE Doxod.D_ID, *FROM Doxod WHERE Doxod.D_ID='+DBEdit1.Text+';');
DM.DoxQuery2.ExecSQL;
end; end else
MessageDlg('Запись редактируется другим пользователем',mtError,[mbOK],0); end;
procedure TDoxod.DBEdit3Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
41
procedure TDoxod.DBEdit3Exit(Sender: TObject); begin
Timer1.Enabled:=True;
noEdit;
end;
end.
Программный код модуля «Расходы»:
unit Rasxods;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, Mask;
type
TRasxod = class(TForm) Panel1: TPanel; GroupBox1: TGroupBox; Label3: TLabel; Label4: TLabel; Label5: TLabel; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit5: TDBEdit; DBGrid1: TDBGrid;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton; GroupBox2: TGroupBox; Label1: TLabel;
Label2: TLabel; ComboBox1: TComboBox; Edit1: TEdit;
DBNavigator1: TDBNavigator; Timer1: TTimer;
Label7: TLabel;
BitBtn1: TBitBtn;
procedure DBGrid1TitleClick(Column: TColumn); procedure Edit1Change(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BitBtn2Click(Sender: TObject);
procedure DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
procedure DBEdit2Enter(Sender: TObject); procedure DBEdit2Exit(Sender: TObject); procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure BitBtn1Click(Sender: TObject);
procedure DBEdit3Exit(Sender: TObject); procedure DBEdit3Enter(Sender: TObject);
private
{Private declarations } public
procedure Refresh; procedure isEdit; procedure noEdit;
function checkEdit:boolean;
{Public declarations } end;
const
SQL='SELECT Rasxod.*FROM Rasxod';
var
Rasxod: TRasxod; s:string; ins:boolean;
implementation
uses Data_modul;
{$R *.dfm}
42
procedure TRasxod.Refresh; begin
DM.RasQuery2.Close;
DM.RasQuery2.Open;
end;
procedure TRasxod.isEdit; begin
if DBEdit1.Text<>'' then begin
DM.CheckQuery1.SQL.Text:='UPDATE Rasxod SET Rasxod.EDIT = True WHERE Rasxod.R_ID='+DBEdit1.Text+';';
DM.CheckQuery1.ExecSQL;
DM.CheckQuery1.SQL.Text:='Select * from Rasxod WHERE R_ID='+DBEdit1.Text+';'; DM.CheckQuery1.Open;
end;
end;
procedure TRasxod.noEdit; begin
if DBEdit1.Text<>'' then begin
DM.CheckQuery1.SQL.Text:='UPDATE Rasxod SET Rasxod.EDIT = False WHERE Rasxod.R_ID='+DBEdit1.Text+';';
DM.CheckQuery1.ExecSQL;
DM.CheckQuery1.SQL.Text:='Select * from Rasxod WHERE R_ID='+DBEdit1.Text+';'; DM.CheckQuery1.Open;
end;
end;
function TRasxod.checkEdit:boolean; begin
checkEdit:=false;
if DBEdit1.Text<>'' then DM.CheckQuery1.SQL.Text:='Select * from Rasxod'+' WHERE R_ID='+DBEdit1.Text+';';
DM.CheckQuery1.Open;
if DBEdit5.Text<>'' then begin
Label7.Visible:=StrToBool(DBEdit5.Text); DBEdit2.Enabled:= not StrToBool(DBEdit5.Text); DBEdit3.Enabled:= not StrToBool(DBEdit5.Text); checkEdit:=StrToBool(DBEdit5.Text);
end;
end;
procedure TRasxod.DBGrid1TitleClick(Column: TColumn); var
i:integer;
clr:TColor; begin
s:=' ASC';
clr:= clMoneyGreen;
if RadioButton2.Checked then begin
s:=' DESC'; clr:= clSkyBlue; end;
for i:=0 to DBGrid1.Columns.Count-1 do DBGrid1.Columns.Items[i].Title.Color:= clBtnFace; DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; DM.RasQuery2.Sort:= DBGrid1.Columns.Items[Column.Index].FieldName+s;
end;
procedure TRasxod.Edit1Change(Sender: TObject); begin
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0; S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; DM.RasQuery2.SQL.Clear;
DM.RasQuery2.SQL.Add(SQL+
' WHERE '+s+' LIKE "'+Edit1.text+'%"'); Refresh;
end;
procedure TRasxod.FormCreate(Sender: TObject); var i:integer;
begin DM.ADOConnection1.Connected:=true; DM.RasQuery2.SQL.Clear; DM.RasQuery2.SQL.Add(SQL+';');
43
DM.RasQuery2.Open;
for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);
end;
procedure TRasxod.BitBtn2Click(Sender: TObject); begin
Refresh;
end;
procedure TRasxod.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
var n:integer; begin ins:=false;
if Button=nbInsert then begin
ins:=true;
if DBEdit2.Enabled then DBEdit2.SetFocus; end;
if (Button=nbRefresh) then begin
n:=DM.RasQuery2.FieldValues['R_ID']; Refresh; DM.RasQuery2.Locate('R_ID',n,[]); CheckEdit;
end;
end;
procedure TRasxod.DBEdit2Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
procedure TRasxod.DBEdit2Exit(Sender: TObject); begin
Timer1.Enabled:=True;
noEdit;
end;
procedure TRasxod.Timer1Timer(Sender: TObject); begin
if DBNavigator1.Controls[6].Enabled then begin
DBNavigator1.BtnClick(nbEdit);
DBNavigator1.BtnClick(nbRefresh);
end;
end;
procedure TRasxod.FormClose(Sender: TObject; var Action: TCloseAction); begin
noEdit;
Timer1.Enabled:=false;
end;
procedure TRasxod.BitBtn1Click(Sender: TObject); begin
Refresh;
if DM.RasQuery2.FieldValues['EDIT']=false then begin
if MessageDlg('Удалитьзапись?',mtWarning,[mbYes,mbNo],0)=mrYes then begin
Refresh;
DM.RasQuery3.Close;
DM.RasQuery3.SQL.Clear;
DM.RasQuery3.SQL.Add('DELETE Rasxod.R_ID, *FROM Rasxod WHERE Rasxod.R_ID='+DBEdit1.Text+';');
DM.RasQuery3.ExecSQL;
end; end else
MessageDlg('Запись редактируется другим пользователем',mtError,[mbOK],0); end;
procedure TRasxod.DBEdit3Exit(Sender: TObject); begin
44
Timer1.Enabled:=True;
noEdit;
end;
procedure TRasxod.DBEdit3Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
end.
Программный код модуля «Члены семьи»:
unit Familyes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ExtCtrls, DBCtrls, Mask, ComCtrls, ExtDlgs, JPEG, ImgList, Buttons;
type
TFamily = class(TForm) Panel1: TPanel; GroupBox1: TGroupBox; Label3: TLabel; Label4: TLabel; Label5: TLabel; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBGrid1: TDBGrid;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton; GroupBox2: TGroupBox; Label1: TLabel;
Label2: TLabel; ComboBox1: TComboBox; Edit1: TEdit;
DBNavigator1: TDBNavigator; Timer1: TTimer;
DBEdit4: TDBEdit;
Label6: TLabel;
DBEdit5: TDBEdit;
Label7: TLabel;
DateTimePicker2: TDateTimePicker; Label8: TLabel;
DBEdit6: TDBEdit; ImageList1: TImageList; GroupBox3: TGroupBox; Image1: TImage; DBEdit7: TDBEdit;
OpenPictureDialog1: TOpenPictureDialog; DBEdit9: TDBEdit;
Label9: TLabel;
BitBtn1: TBitBtn;
procedure DBGrid1TitleClick(Column: TColumn); procedure Edit1Change(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject); procedure DBEdit6Change(Sender: TObject);
procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); procedure Image1DblClick(Sender: TObject);
procedure DBEdit1Change(Sender: TObject); procedure DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure DBEdit2Enter(Sender: TObject); procedure DBEdit2Exit(Sender: TObject); procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject); procedure DBEdit3Enter(Sender: TObject); procedure DBEdit3Exit(Sender: TObject); procedure DBEdit4Exit(Sender: TObject); procedure DBEdit4Enter(Sender: TObject);
45
procedure DBEdit5Enter(Sender: TObject); procedure DBEdit5Exit(Sender: TObject); procedure DateTimePicker2Enter(Sender: TObject); procedure DateTimePicker2Exit(Sender: TObject);
private
{ Private declarations } procedure isEdit; procedure noEdit; procedure Refresh; function checkEdit:boolean;
public
{ Public declarations } end;
const
SQL='SELECT Family.* FROM Family';
var
Family: TFamily; s:string; ins:boolean;
implementation
uses Data_modul;
{$R *.dfm}
procedure TFamily.Refresh; begin
DM.FamilyQuery3.Close;
DM.FamilyQuery3.Open;
end;
function TFamily.checkEdit:boolean; begin
checkEdit:=false;
if DBEdit1.Text<>'' then DM.CheckQuery1.SQL.Text:=SQL+' WHERE Family.F_ID='+DBEdit1.Text+';';
DM.CheckQuery1.Open;
if DBEdit9.Text<>'' then begin
Label9.Visible:=StrToBool(DBEdit9.Text); DBEdit2.Enabled:= not StrToBool(DBEdit9.Text); DBEdit3.Enabled:= not StrToBool(DBEdit9.Text); DBEdit4.Enabled:= not StrToBool(DBEdit9.Text); DBEdit5.Enabled:= not StrToBool(DBEdit9.Text); DateTimePicker2.Enabled:=not StrToBool(DBEdit9.Text); Image1.Enabled:=not StrToBool(DBEdit9.Text); checkEdit:=StrToBool(DBEdit9.Text);
end;
end;
procedure TFamily.isEdit; begin
if DBEdit1.Text<>'' then begin
DM.CheckQuery1.SQL.Text:='UPDATE Family SET Family.EDIT = True WHERE Family.F_ID='+DBEdit1.Text+';';
DM.CheckQuery1.ExecSQL;
DM.CheckQuery1.SQL.Text:=SQL+' WHERE F_ID='+DBEdit1.Text+';'; DM.CheckQuery1.Open;
end;
end;
procedure TFamily.noEdit; begin
if DBEdit1.Text<>'' then begin
DM.CheckQuery1.SQL.Text:='UPDATE Family SET Family.EDIT = False WHERE Family.F_ID='+DBEdit1.Text+';';
DM.CheckQuery1.ExecSQL;
DM.CheckQuery1.SQL.Text:=SQL+' WHERE F_ID='+DBEdit1.Text+';'; DM.CheckQuery1.Open;
end;
end;
procedure TFamily.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
var n:integer;
46
begin ins:=false;
if Button=nbInsert then begin
ins:=true;
if DBEdit2.Enabled then DBEdit2.SetFocus; Image1.Picture:=nil;
end;
if (Button=nbRefresh) then begin
n:=DM.FamilyQuery3.FieldValues['F_ID']; Refresh; DM.FamilyQuery3.Locate('F_ID',n,[]); CheckEdit;
end;
end;
procedure TFamily.DBGrid1TitleClick(Column: TColumn); var
i:integer;
clr:TColor; begin
s:=' ASC';
clr:= clMoneyGreen;
if RadioButton2.Checked then begin
s:=' DESC'; clr:= clSkyBlue; end;
for i:=0 to DBGrid1.Columns.Count-1 do DBGrid1.Columns.Items[i].Title.Color:= clBtnFace; DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; DM.FamilyQuery3.Sort:= DBGrid1.Columns.Items[Column.Index].FieldName+s;
end;
procedure TFamily.Edit1Change(Sender: TObject); begin
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0; S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; DM.FamilyQuery3.SQL.Clear;
DM.FamilyQuery3.SQL.Add(SQL+
' WHERE '+s+' LIKE "'+Edit1.text+'%"'); Refresh;
end;
procedure TFamily.FormCreate(Sender: TObject); var i:integer;
begin DM.ADOConnection1.Connected:=true; DM.FamilyQuery3.SQL.Clear; DM.FamilyQuery3.SQL.Add(SQL+';'); DM.FamilyQuery3.Open;
for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);
end;
procedure TFamily.DateTimePicker2Change(Sender: TObject); begin
DBEdit6.Text:=DateToStr(DateTimePicker2.Date);
end;
procedure TFamily.DBEdit6Change(Sender: TObject); begin
if DBEdit6.Text<>''then DateTimePicker2.Date:=StrToDate(DBEdit6.Text); end;
procedure TFamily.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); begin
If (Button=nbPost) and (DBEdit1.Text<>'') and (DBEdit7.Text<>'') then begin
Image1.Picture.SaveToFile(Data_modul.DBPath+'PIC\'+Format('%.9d%s',[strtoint(DBEdit1.Text),DBEdit7
.Text]));
end;
end;
procedure TFamily.Image1DblClick(Sender: TObject); var
SourceFileName:string;
47
FileFormat:string;
DestFullFileName:widestring; begin
if(OpenPictureDialog1.Execute) then begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); SourceFileName:=Data_modul.ExtractFileNameEx(OpenPictureDialog1.FileName,True); FileFormat:='.'+Data_modul.GetFileFormat(SourceFileName); DBEdit7.Text:=FileFormat;
if (DBEdit1.Text<>'') then begin
DBNavigator1.BtnClick(nbEdit); if DBEdit7.Text<>FileFormat then
DeleteFile(Data_modul.DBPath+'PIC\'+Format('%.9d%s',[strtoint(DBEdit1.Text),DBEdit7.Text]));
DBEdit7.Text:=FileFormat;
DestFullFileName:=Data_modul.DBPath+'PIC\'+Format('%.9d%s',[strtoint(DBEdit1.Text),FileFormat]); Image1.Picture.SaveToFile(DestFullFileName);
end;
end;
end;
procedure TFamily.DBEdit1Change(Sender: TObject); var FileName:widestring;
begin
if (DBEdit1.Text<>'')and(not ins) then checkEdit; if (DBEdit1.Text<>'') then
begin
FileName:=Data_modul.DBPath+'PIC\'+Format('%.9d%s',[strtoint(DBEdit1.Text),DBEdit7.Text]); if (not FileExists(FileName))and(DBEdit7.Text<>'') then
Image1.Picture.SaveToFile(FileName);
if (FileExists(FileName))and(DBEdit7.Text<>'') then Image1.Picture.LoadFromFile(FileName)
else Image1.Picture:=nil; end;
end;
procedure TFamily.DBEdit2Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
procedure TFamily.DBEdit2Exit(Sender: TObject); begin
Timer1.Enabled:=True;
noEdit;
end;
procedure TFamily.Timer1Timer(Sender: TObject); begin
if DBNavigator1.Controls[6].Enabled then begin
DBNavigator1.BtnClick(nbRefresh);
end;
end;
procedure TFamily.FormClose(Sender: TObject; var Action: TCloseAction); begin
noEdit;
Timer1.Enabled:=false;
end;
procedure TFamily.BitBtn2Click(Sender: TObject); begin
Refresh;
end;
procedure TFamily.BitBtn1Click(Sender: TObject); begin
Refresh;
if DM.FamilyQuery3.FieldValues['EDIT']=false then begin
if MessageDlg('Удалитьзапись?',mtWarning,[mbYes,mbNo],0)=mrYes then begin
48
Refresh;
DM.FamilyQuery4.Close;
DM.FamilyQuery4.SQL.Clear;
DM.FamilyQuery4.SQL.Add('DELETE Family.F_ID, *FROM Family WHERE
Family.F_ID='+DBEdit1.Text+';');
DeleteFile(Data_Modul.DBPath+'PIC\'+Format('%.9d%s',[strtoint(DBEdit1.Text),DBEdit7.Text])); DM.FamilyQuery4.ExecSQL;
end; end else
MessageDlg('Запись редактируется другим пользователем',mtError,[mbOK],0); end;
procedure TFamily.DBEdit3Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
procedure TFamily.DBEdit3Exit(Sender: TObject); begin
Timer1.Enabled:=True;
noEdit;
end;
procedure TFamily.DBEdit4Exit(Sender: TObject); begin
Timer1.Enabled:=True;
noEdit;
end;
procedure TFamily.DBEdit4Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
procedure TFamily.DBEdit5Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
procedure TFamily.DBEdit5Exit(Sender: TObject); begin
Timer1.Enabled:=True;
noEdit;
end;
procedure TFamily.DateTimePicker2Enter(Sender: TObject); begin
Timer1.Enabled:=false;
if (DBEdit1.Text<>'') and (not ins) then if not checkEdit then isEdit;
end;
procedure TFamily.DateTimePicker2Exit(Sender: TObject); begin
Timer1.Enabled:=True;
noEdit;
end;
end.
Программный код модуля «Текущие доходы»:
unit Now_doxod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, Mask, ComCtrls;
type
49
TNDoxod = class(TForm) Panel1: TPanel; GroupBox1: TGroupBox; Label3: TLabel; Label4: TLabel; Label5: TLabel; DBEdit1: TDBEdit; DBGrid1: TDBGrid;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton; GroupBox2: TGroupBox; Label1: TLabel;
Label2: TLabel; ComboBox1: TComboBox; Edit1: TEdit;
DBNavigator1: TDBNavigator; Timer1: TTimer;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox; Label6: TLabel;
DateTimePicker2: TDateTimePicker; Label7: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
Label8: TLabel;
DBEdit4: TDBEdit;
BitBtn1: TBitBtn;
procedure DBGrid1TitleClick(Column: TColumn); procedure Edit1Change(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject); procedure DBEdit3Change(Sender: TObject); procedure BitBtn2Click(Sender: TObject);
procedure DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
procedure DBEdit1Change(Sender: TObject); procedure DBLookupComboBox1Enter(Sender: TObject); procedure DBLookupComboBox1Exit(Sender: TObject); procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure DBLookupComboBox2Enter(Sender: TObject);
procedure DBLookupComboBox2Exit(Sender: TObject); procedure DBEdit2Enter(Sender: TObject); procedure DBEdit2Exit(Sender: TObject); procedure DateTimePicker2Enter(Sender: TObject); procedure DateTimePicker2Exit(Sender: TObject); procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations } procedure isEdit; procedure noEdit; procedure Refresh; function checkEdit:boolean;
public
{ Public declarations } end;
const
SQL='SELECT Now_Doxod.*, Doxod.D_Doxod, Family.F_Name, Doxod.D_ID, Family.F_ID'+ ' FROM Family INNER JOIN (Doxod INNER JOIN Now_Doxod ON Doxod.D_ID =
Now_Doxod.ND_Doxod) ON Family.F_ID = Now_Doxod.ND_FIO'; var
NDoxod: TNDoxod; s:string; ins:boolean;
implementation
uses Data_modul, Familyes, Doxods, DB;
{$R *.dfm}
procedure TNDoxod.Refresh; begin
DM.DoxNQuery4.Close;
DM.DoxNQuery4.Open;
end;
function TNDoxod.checkEdit:boolean;
50