Курсовые работы / ПРИС П _22
.pdfStatusBar1.Panels[0].Text:= DateTimeToStr(now); |
procedure TFrmMain.N15Click(Sender: TObject); |
end; |
begin |
|
FrmRep1:= TFrmRep1.Create(self); |
procedure TFrmMain.N8Click(Sender: TObject); |
FrmRep1.ShowModal; |
begin |
end; |
aboutbox.ShowModal; |
|
end; |
procedure TFrmMain.N16Click(Sender: TObject); |
|
begin |
procedure TFrmMain.N11Click(Sender: TObject); |
FrmRep2:= TFrmRep2.Create(self); |
begin |
FrmRep2.ShowModal; |
dm.ADOconnection.Close; |
end; |
CompactDatabase_JRO('bd.mdb', 'bd_bakup.mdb',''); |
|
DM.ADOconnection.Open; |
procedure TFrmMain.N17Click(Sender: TObject); |
end; |
begin |
|
FrmRep3:= TFrmRep3.Create(self); |
procedure TFrmMain.N10Click(Sender: TObject); |
FrmRep3.ShowModal; |
begin |
end; |
Frm_change_password:=TFrm_change_password.Create(self); |
procedure TFrmMain.N18Click(Sender: TObject); |
Frm_change_password.ShowModal; |
begin |
end; |
FrmRep4:= TFrmRep4.Create(self); |
|
FrmRep4.ShowModal; |
procedure TFrmMain.N9Click(Sender: TObject); |
end; |
begin |
|
Frm_ChUser:=TFrm_ChUser.Create(self); |
procedure TFrmMain.N19Click(Sender: TObject); |
Frm_ChUser.ShowModal; |
begin |
end; |
FrmRep5:= TFrmRep5.Create(self); |
|
FrmRep5.ShowModal; |
procedure TFrmMain.N3Click(Sender: TObject); |
end; |
begin |
|
|
procedure TFrmMain.Button1Click(Sender: TObject); |
F:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini'); |
begin |
if OpenDialog1.Execute then |
FrmRep6:= TFrmRep6.Create(self); |
begin |
FrmRep6.ShowModal; |
DBPath:=ExtractFilePath(OpenDialog1.FileName); |
end; |
F.WriteString('Section_DBPath','Path',DBPath); |
|
DM.ADOConnection.Close; |
procedure TFrmMain.Button2Click(Sender: TObject); |
|
begin |
DM.ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLED |
FrmRep7:= TFrmRep7.Create(self); |
B.4.0;Data Source='+DBPath+'bd.mdb;Persist Security Info=False'; |
FrmRep7.ShowModal; |
DM.ADOConnection.Open; |
end; |
end; |
|
F.Free; |
end. |
end; |
|
|
unit DataModule; |
procedure TFrmMain.FormShow(Sender: TObject); |
|
begin |
interface |
if chek='Пользователь' then |
|
N11.Enabled:=false; |
uses |
if chek='Гость' then |
SysUtils, Classes, DB, ADODB, IniFiles, Forms; |
N11.Enabled:=false; |
|
|
type |
end; |
TDM = class(TDataModule) |
|
ADOConnection: TADOConnection; |
procedure TFrmMain.N12Click(Sender: TObject); |
ADODataSetUserTable: TADODataSet; |
begin |
update_pas: TADOQuery; |
FrmPacient:= TFrmPacient.Create(self); |
DataSource1: TDataSource; |
FrmPacient.ShowModal; |
PacientiQuery: TADOQuery; |
end; |
DiagQuery: TADOQuery; |
|
DataSource2: TDataSource; |
procedure TFrmMain.N13Click(Sender: TObject); |
DataSource3: TDataSource; |
begin |
ADOQuery3: TADOQuery; |
FrmDiag:= TFrmDiag.Create(self); |
ADOQuery3pacientip_id: TAutoIncField; |
FrmDiag.ShowModal; |
ADOQuery3p_fam: TWideStringField; |
end; |
ADOQuery3p_name: TWideStringField; |
|
ADOQuery3p_otch: TWideStringField; |
procedure TFrmMain.N14Click(Sender: TObject); |
ADOQuery3p_birthday: TDateTimeField; |
begin |
ADOQuery3p_pol: TWideStringField; |
FrmSpravki:= TFrmSpravki.Create(self); |
ADOQuery3p_tel: TIntegerField; |
FrmSpravki.ShowModal; |
ADOQuery3p_work: TWideStringField; |
end; |
ADOQuery3p_invalid: TWideStringField; |
|
ADOQuery3p_datebegin: TDateTimeField; |
procedure TFrmMain.N20Click(Sender: TObject); |
ADOQuery3p_dateend: TDateTimeField; |
begin |
ADOQuery3diagd_id: TAutoIncField; |
FrmPreiskurant:= TFrmPreiskurant.Create(self); |
ADOQuery3d_shifr: TIntegerField; |
FrmPreiskurant.ShowModal; |
ADOQuery3d_name: TWideStringField; |
end; |
ADOQuery3soedp_id: TIntegerField; |
|
ADOQuery3soedd_id: TIntegerField; |
32
ADOQuery1: TADOQuery; |
end; |
|
|
DataSource4: TDataSource; |
|
|
|
ADOQuery1d_name: TWideStringField; |
var |
|
|
ADOQuery1Countp_id: TIntegerField; |
DM: TDM; |
|
|
DataSource5: TDataSource; |
DBPath:widestring; |
||
ADOQuery2: TADOQuery; |
F:TiniFile; |
|
|
ADOQuery2p_work: TWideStringField; |
implementation |
|
|
ADOQuery2Countp_id: TIntegerField; |
|
|
|
ADOQuery4: TADOQuery; |
uses authorization; |
||
DataSource6: TDataSource; |
|
|
|
ADOQuery4Countp_id: TIntegerField; |
{$R *.dfm} |
|
|
PacientiQueryp_id: TAutoIncField; |
|
|
|
PacientiQueryp_fam: TWideStringField; |
procedure |
TDM.ADOConnectionBeforeConnect(Sender: |
|
PacientiQueryp_name: TWideStringField; |
TObject); |
|
|
PacientiQueryp_otch: TWideStringField; |
begin |
|
|
PacientiQueryp_foto: TWideStringField; |
|
|
|
PacientiQueryp_birthday: TDateTimeField; |
F:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini') |
||
PacientiQueryp_pol: TWideStringField; |
; |
|
|
PacientiQueryp_address: TWideStringField; |
DBPath:=F.ReadString('Section_DBPath','Path', ''); |
||
PacientiQueryp_tel: TIntegerField; |
|
|
|
PacientiQueryp_work: TWideStringField; |
ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0 |
||
PacientiQueryp_invalid: TWideStringField; |
;Data Source='+DBPath+'bd.mdb;Persist Security Info=False'; |
||
PacientiQueryp_datebegin: TDateTimeField; |
end; |
|
|
PacientiQueryp_dateend: TDateTimeField; |
|
|
|
PacientiQueryEDIT: TBooleanField; |
end |
|
|
DataSource7: TDataSource; |
|
|
|
SpravkiQuery: TADOQuery; |
unit authorization; |
||
SpravkiQuerys_id: TAutoIncField; |
|
|
|
SpravkiQuerys_fam: TWideStringField; |
interface |
|
|
SpravkiQuerys_name: TWideStringField; |
|
|
|
SpravkiQuerys_otch: TWideStringField; |
uses |
|
|
SpravkiQuerys_date: TDateTimeField; |
Windows, Messages, SysUtils, Variants, Classes, Graphics, |
||
SpravkiQuerys_stoim: TIntegerField; |
Controls, Forms, |
|
|
SpravkiQueryEDIT: TBooleanField; |
Dialogs, StdCtrls, DBCtrls, DB, ADODB, ExtCtrls, IniFiles; |
||
ADOQuery5: TADOQuery; |
|
|
|
DataSource8: TDataSource; |
type |
|
|
ADOQuery5Counts_id: TIntegerField; |
TFrm_authorization = class(TForm) |
||
ADOQuery5Sums_stoim: TFloatField; |
Label1: TLabel; |
||
DataSource9: TDataSource; |
Button1: TButton; |
||
ADOQuery6: TADOQuery; |
Button2: TButton; |
||
ADOQuery6s_id: TAutoIncField; |
Image1: TImage; |
||
ADOQuery6s_fam: TWideStringField; |
Edit2: TEdit; |
|
|
ADOQuery6s_name: TWideStringField; |
Label2: TLabel; |
||
ADOQuery6s_otch: TWideStringField; |
Label3: TLabel; |
||
ADOQuery6s_date: TDateTimeField; |
Edit1: TEdit; |
|
|
ADOQuery6s_stoim: TIntegerField; |
OpenDialog1: TOpenDialog; |
||
ADOQuery6s_nomer: TIntegerField; |
procedure Button2Click(Sender: TObject); |
||
SpravkiQuerys_nomer: TIntegerField; |
procedure Button1Click(Sender: TObject); |
||
ADOQuery7: TADOQuery; |
procedure FormShow(Sender: TObject); |
||
DataSource10: TDataSource; |
private |
|
|
ADOQuery7Countp_id: TIntegerField; |
{ Private declarations } |
||
DataSource11: TDataSource; |
public |
|
|
PreiskurantQuery: TADOQuery; |
{ Public declarations } |
||
PreiskurantQuerypr_id: TAutoIncField; |
end; |
|
|
PreiskurantQuerypr_name: TWideStringField; |
|
|
|
PreiskurantQuerypr_cena: TIntegerField; |
var |
|
|
ADOQuery8: TADOQuery; |
Frm_authorization: TFrm_authorization; |
||
DataSource12: TDataSource; |
UserIndex: Integer; |
||
ADOQuery8pr_name: TWideStringField; |
chek: string; |
|
|
ADOQuery8pr_cena: TIntegerField; |
implementation |
|
|
DataSource13: TDataSource; |
|
|
|
ADOQuery9: TADOQuery; |
uses DataModule, Main; |
||
DataSource14: TDataSource; |
|
|
|
ADOQuery10: TADOQuery; |
{$R *.dfm} |
|
|
ADOQuery10d_name: TWideStringField; |
|
|
|
ADOQuery9d_name: TWideStringField; |
procedure |
TFrm_authorization.Button2Click(Sender: |
|
DiagQueryd_id: TAutoIncField; |
TObject); |
|
|
DiagQueryd_shifr: TIntegerField; |
begin |
|
|
DiagQueryd_name: TWideStringField; |
Application.Terminate; |
||
DiagQueryEDIT: TBooleanField; |
end; |
|
|
PreiskurantQuerypr_day: TWideStringField; |
|
|
|
PreiskurantQueryEDIT: TBooleanField; |
procedure |
TFrm_authorization.Button1Click(Sender: |
|
procedure |
ADOConnectionBeforeConnect(Sender: |
TObject); |
|
TObject); |
|
var LogPass: array of string; |
|
private |
|
I,H, Counts: integer; |
|
{ Private declarations } |
ResultLogPass: string; |
||
public |
|
begin |
|
{ Public declarations } |
Counts:=0; |
|
33
SetLength (LogPass,800);
dm.ADODataSetUserTable.Active:=true;
dm.ADODataSetUserTable.First;
for I := 0 to dm.ADODataSetUserTable.RecordCount -1 do //Обработка данных Логина и Пароля пользователя.
begin
LogPass[I]:= dm.ADODataSetUserTable.FieldValues ['login']+' '+dm.ADODataSetUserTable.FieldValues ['pass'];
dm.ADODataSetUserTable.Next;
Inc(Counts);
end;
ResultLogPass:= Trim(Edit1.Text)+' '+Trim(Edit2.Text);
for H := 0 to Counts do //Цикл проверки данных на
истину.
begin
if ResultLogPass = LogPass[H] then begin
UserIndex:=H; chek:= Edit1.Text; FrmMain.Show; close;
end Else
Label3.Caption:='Не верный логин или пароль';
end;
chek:= Edit1.Text; end;
procedure TFrm_authorization.FormShow(Sender: TObject); begin
if DM.ADOConnection.Connected then DM.ADOConnection.Close;
F:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini')
;
DBPath:=f.ReadString('Section_DBPath','Path', ''); try
if DBPath='' then
if OpenDialog1.Execute then begin
DBPath:=ExtractFilePath(OpenDialog1.FileName); F.WriteString('Section_DBPath','Path',DBPath); DM.ADOConnection.Close;
DM.ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLED B.4.0;Data Source='+DBPath+'bd.mdb;Persist Security Info=False';
DM.ADOConnection.Open;
end; finally F.Free;
end;
end;
end.
unit change_password;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TFrm_change_password = class(TForm) Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit; Button1: TButton; Button2: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel;
Edit4: TEdit; Label5: TLabel;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
Frm_change_password: TFrm_change_password;
implementation
uses Main, authorization, DataModule;
{$R *.dfm}
procedure TFrm_change_password.Button1Click(Sender:
TObject);
var LogPass: array of string; I,H, Counts: integer; ResultLogPass: string;
begin Counts:=0;
SetLength (LogPass,800);
dm.ADODataSetUserTable.Active:=true;
dm.ADODataSetUserTable.First;
for I := 0 to dm.ADODataSetUserTable.RecordCount -1 do //Обработка данных Логина и Пароля пользователя.
begin
LogPass[I]:= dm.ADODataSetUserTable.FieldValues ['login']+' '+dm.ADODataSetUserTable.FieldValues ['pass'];
dm.ADODataSetUserTable.Next;
Inc(Counts);
end;
ResultLogPass:= Trim(Edit1.Text)+' '+Trim(Edit4.Text);
for H := 0 to Counts do //Цикл проверки данных на
истину.
begin
if (ResultLogPass = LogPass[H]) and (Edit2.Text=Edit3.Text) then
begin UserIndex:=H;
dm.update_pas.SQL.Clear; dm.update_pas.sql.add('update users set pass=par1 where
id_user=par2');
dm.update_pas.Parameters.Refresh;
dm.update_pas.Parameters.ParamByName('par1').Value:=Edit2.Text;
dm.update_pas.Parameters.ParamByName('par2').Value:=UserIndex+1; dm.update_pas.ExecSQL;
close; end
Else
Label5.Caption:='Не верный логин или пароль';
end;
end;
procedure TFrm_change_password.Button2Click(Sender:
TObject);
begin close; end;
procedure TFrm_change_password.FormShow(Sender:
TObject);
begin label5.Caption:=''; edit1.Clear; edit2.Clear; edit3.Clear;
34
edit4.Clear;
dm.ADOConnection.Close;
dm.ADOConnection.Open;
end;
end.
unit ChUser;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls ;
type
TFrm_ChUser = class(TForm) Edit1: TEdit;
Label1: TLabel; Button1: TButton; Button2: TButton; Label2: TLabel; Label3: TLabel; Edit2: TEdit;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
Frm_ChUser: TFrm_ChUser; UserIndex: Integer;
implementation
uses Main, DataModule, authorization; {$R *.dfm}
procedure TFrm_ChUser.Button1Click(Sender: TObject); var LogPass: array of string;
I,H, Counts: integer; ResultLogPass: string;
begin Counts:=0;
SetLength (LogPass,800);
dm.ADODataSetUserTable.Active:=true;
dm.ADODataSetUserTable.First;
for I := 0 to dm.ADODataSetUserTable.RecordCount -1 do //Обработка данных Логина и Пароля пользователя.
begin
LogPass[I]:= dm.ADODataSetUserTable.FieldValues ['login']+' '+dm.ADODataSetUserTable.FieldValues ['pass'];
dm.ADODataSetUserTable.Next;
Inc(Counts);
end;
ResultLogPass:= Trim(Edit1.Text)+' '+Trim(Edit2.Text);
for H := 0 to Counts do //Цикл проверки данных на
истину.
begin
if ResultLogPass = LogPass[H] then begin
UserIndex:=H;
close; end
Else
Label3.Caption:='Не верный логин или пароль';
end;
chek:= Edit1.Text; end;
procedure TFrm_ChUser.Button2Click(Sender: TObject);
begin close end;
procedure TFrm_ChUser.FormShow(Sender: TObject); begin
label3.Caption:='';
edit1.Clear;
edit2.Clear;
end;
end.
unit Diag;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ExtCtrls, Grids, DBGrids;
type
TFrmDiag = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem; DBGrid1: TDBGrid; Panel1: TPanel; Label1: TLabel; Label2: TLabel; Edit1: TEdit;
ComboBox1: TComboBox;
GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton;
procedure Edit1Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn); procedure FormCreate(Sender: TObject); procedure Refresh;
procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure FormShow(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
const
diag_SQL= 'Select * from diag';
var
FrmDiag: TFrmDiag;
implementation
uses DataModule, EditDiag, authorization;
{$R *.dfm}
procedure TFrmDiag.Refresh; var
s:string; begin
if DM.DiagQuery.FieldValues['d_id']<>null then begin
s:=DM.DiagQuery.FieldValues['d_id'];//запоминаем код DM.DiagQuery.Close;
DM.DiagQuery.Open; DM.DiagQuery.Locate('d_id',s,[]);// перемещаемся на
нужную позицию end;
end;
procedure TFrmDiag.Edit1Change(Sender: TObject); var
S:String;
35
begin
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;
//Сохранение имени поля BDGrid1 в переменную S, по индексу выбранной записи в ComboBox1
s:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName;
DM.DiagQuery.SQL.Clear;
// Формирования запроса по полю сохраненному в переменную S
DM.DiagQuery.SQL.Add(diag_SQL+' WHERE '+s+' LIKE
'''+Edit1.Text+'%''');
DM.DiagQuery.Open; // Обновляем
Refresh;
end;
procedure TFrmDiag.DBGrid1TitleClick(Column: TColumn); var
s:string; //направление сорировки 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.DiagQuery.Sort:=
DBGrid1.Columns.Items[Column.Index].FieldName+s;
end;
procedure TFrmDiag.FormCreate(Sender: TObject); var
i: integer; begin
//подключение к БД
DM.ADOConnection.Connected:=true; //очистка текста запроса
DM.DiagQuery.SQL.Clear;
//формирование запроса
DM.DiagQuery.SQL.Add(diag_SQL+';');
//исполнение запроса и вывод результата
DM.DiagQuery.Open;
// Заполняем ComboBox1 по заголовкам секций компонента
DBGrid1
for i:=0 to DBGrid1.Columns.Count-1 do
ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);
end;
procedure TFrmDiag.N1Click(Sender: TObject); begin
OpenForm(false); // вызов процедуры "открытие формы" второй случай (см.выше)
Refresh; //вызов процедуры обновления end;
procedure TFrmDiag.N2Click(Sender: TObject); begin
Refresh; // вызов процедуры обновления
if DM.DiagQuery.FieldValues['edit']=false then begin
OpenForm(true);
Refresh; end
else
MessageDlg('Запись редактируется другим пользователем',mtError,[mbOK],0);
end;
procedure TFrmDiag.N3Click(Sender: TObject); begin
Refresh;
if DM.DiagQuery.FieldValues['edit']=false then begin
if MessageDlg('Удалить запись?',mtWarning,[mbYes,mbNo],0)=mrYes then//если "да"
begin DM.DiagQuery.Delete; Refresh;
end; end
else
MessageDlg('Запись редактируется другим пользователем',mtError,[mbOK],0);
end;
procedure TFrmDiag.FormShow(Sender: TObject); begin
if chek='Пользователь' then begin
N1.Enabled:=false;
N2.Enabled:=false;
end;
if chek='Гость' then begin
N1.Enabled:=false;
N2.Enabled:=false;
N3.Enabled:=false;
end;
end;
end.
unit EditDiag;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls;
type
TFrmEditDiag = class(TForm) DBEdit1: TDBEdit; DBEdit2: TDBEdit;
Label1: TLabel;
Label2: TLabel; Button1: TButton; Button2: TButton;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{Private declarations } public
{Public declarations } end;
procedure openform(ed:boolean);
var
FrmEditDiag: TFrmEditDiag;
implementation
uses DataModule;
{$R *.dfm}
procedure openform(ed:boolean); begin
if ed then
36
begin FrmEditDiag.Caption:='Измененние'; DM.DiagQuery.Edit; DM.DiagQuery.FieldValues['edit']:=true; DM.DiagQuery.Post; DM.DiagQuery.Edit;
end else
begin FrmEditDiag.Caption:='Добавление'; DM.DiagQuery.Append;
end;
FrmEditDiag.ShowModal;
end;
procedure TFrmEditDiag.Button1Click(Sender: TObject); begin
if (dbedit1.Text='') or (dbedit2.Text='') then begin
MessageDlg('Введите все данные!',mtError,[mbOk],0); Abort;
end;
dm.DiagQuery.FieldValues['edit']:=false;// признак редактирования - не редактируется
DM.DiagQuery.Post; //подтверждение изменений
FrmEditDiag.Close; // форма закрывается end;
procedure TFrmEditDiag.Button2Click(Sender: TObject);
begin |
|
DM.DiagQuery.Cancel; |
//Отмена несохраненных |
изменений |
|
DM.DiagQuery.Edit; dm.DiagQuery.FieldValues['edit']:=false;// признак
редактирования - не редактируется
DM.DiagQuery.Post; //подтверждение изменений
FrmEditDiag.Close;
end;
procedure TFrmEditDiag.FormClose(Sender: TObject; var
Action: TCloseAction); |
|
begin |
|
DM.DiagQuery.Cancel; |
//Отмена несохраненных |
изменений |
|
DM.DiagQuery.Edit; dm.DiagQuery.FieldValues['edit']:=false;// признак
редактирования - не редактируется
DM.DiagQuery.Post;
end;
end.
unit EditPacienti;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, ComCtrls, Mask, ExtDlgs, Grids,
DBGrids;
type
TFrmEditPacienti = class(TForm) DBEdit1: TDBEdit;
Label1: TLabel; DBEdit2: TDBEdit; Label2: TLabel; DBEdit3: TDBEdit; Label3: TLabel; DBEdit4: TDBEdit; Label4: TLabel; DBEdit5: TDBEdit; Label5: TLabel; DBEdit6: TDBEdit; Label6: TLabel; Label7: TLabel;
DateTimePicker1: TDateTimePicker; DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker; Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Button1: TButton; DBComboBox1: TDBComboBox; Label11: TLabel; DBComboBox2: TDBComboBox; Label12: TLabel; DBComboBox3: TDBComboBox; Button2: TButton;
Button3: TButton;
OpenPictureDialog1: TOpenPictureDialog; DBListBox1: TDBListBox;
DBListBox2: TDBListBox; Button4: TButton; Button5: TButton; Label13: TLabel;
Label14: TLabel;
procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure DateTimePicker1CloseUp(Sender: TObject); procedure DateTimePicker2CloseUp(Sender: TObject); procedure DateTimePicker3CloseUp(Sender: TObject); procedure FormShow(Sender: TObject);
procedure Button5Click(Sender: TObject); procedure Button4Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
procedure openform(ed:boolean);
var
FrmEditPacienti: TFrmEditPacienti; yes, yes1,no,no1:boolean;
implementation
uses DataModule, Pacient;
{$R *.dfm}
procedure openform(ed:boolean); begin
if ed then begin
FrmEditPacienti.Caption:='Измененние'; DM.PacientiQuery.Edit; DM.PacientiQuery.FieldValues['edit']:=true; DM.PacientiQuery.Post; DM.PacientiQuery.Edit; dm.AdoQuery3.Last; DM.ADOQuery3.Edit; FrmEditPacienti.DBListBox1.Items.clear; FrmEditPacienti.DBListBox2.Items.clear; FrmEditPacienti.DateTimePicker1.Date:=
dm.PacientiQuery.FieldValues['p_birthday']; FrmEditPacienti.DateTimePicker2.Date:=
dm.PacientiQuery.FieldValues['p_datebegin']; FrmEditPacienti.DateTimePicker3.Date:=
dm.PacientiQuery.FieldValues['p_dateend']; yes:=false;
yes1:=false;
no:=false;
no1:=false;
dm.ADOQuery9.First;
while not dm.ADOQuery9.Eof do begin
FrmEditPacienti.DBListBox1.Items.Add(dm.ADOQuery9.FieldValues['d _name']);
dm.ADOQuery9.Next;
end; end
37
else begin
FrmEditPacienti.Caption:='Добавление'; DM.PacientiQuery.Append; DM.ADOQuery3.Append; FrmEditPacienti.DateTimePicker1.Date:= now; FrmEditPacienti.DateTimePicker2.Date:= now; FrmEditPacienti.DateTimePicker3.Date:= now; FrmEditPacienti.DBListBox1.Items.clear; FrmEditPacienti.DBListBox2.Items.clear; yes:=false;
yes1:=false;
no:=false;
no1:=false;
end;
FrmEditPacienti.ShowModal;
end;
procedure TFrmEditPacienti.Button2Click(Sender: TObject); begin
if (dbedit1.Text='') or (dbedit2.Text='') or (dbedit3.Text='') or (dbedit4.Text='')
or (dbedit5.Text='')or (dbedit6.Text='') then begin
MessageDlg('Введите все данные!',mtError,[mbOk],0); Abort;
end;
DM.PacientiQuery.Edit; dm.PacientiQuery.FieldValues['edit']:=false;// признак
редактирования - не редактируется
DM.PacientiQuery.Post; if yes1=true then
DM.ADOQuery3.Post; if yes=true then
DM.ADOQuery3.Connection.CommitTrans; FrmEditPacienti.Close; // форма закрывается
end;
procedure TFrmEditPacienti.Button3Click(Sender: TObject); begin
no:=true;
no1:=true;
FrmEditPacienti.Close;
end;
procedure TFrmEditPacienti.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if no1=true then DM.ADOQuery3.Cancel;
if no=true then begin
if yes=false then dm.AdoQuery3.Connection.BeginTrans;
DM.ADOQuery3.Connection.RollbackTrans;
end; |
|
DM.PacientiQuery.Cancel; |
//Отмена несохраненных |
изменений
DM.PacientiQuery.Edit; dm.PacientiQuery.FieldValues['edit']:=false;// признак
редактирования - не редактируется
DM.PacientiQuery.Post;
end;
procedure TFrmEditPacienti.Button1Click(Sender: TObject); begin
try
if OpenPictureDialog1.Execute then begin
DM.PacientiQuery.FieldByName('p_foto').AsVariant:=ExtractFileName(
OpenPictureDialog1.FileName);
CopyFile(Pchar(OpenPictureDialog1.FileName),Pchar(ExtractFilePath(A
pplication.ExeName)+'\image\'+ExtractFileName(OpenPictureDialog1.Fi
leName)),true);
end; except
on e:Exception do end;
end;
procedure TFrmEditPacienti.DateTimePicker1CloseUp(Sender: TObject);
begin
dm.PacientiQuery.FieldValues['p_birthday']:=DateTimePicker1.Datetime
;
end;
procedure TFrmEditPacienti.DateTimePicker2CloseUp(Sender: TObject);
begin
dm.PacientiQuery.FieldValues['p_datebegin']:=DateTimePicker2.Datetim e;
end;
procedure TFrmEditPacienti.DateTimePicker3CloseUp(Sender: TObject);
begin
dm.PacientiQuery.FieldValues['p_dateend']:=DateTimePicker3.Datetime; end;
procedure TFrmEditPacienti.FormShow(Sender: TObject); begin
dm.ADOQuery10.First;
while not dm.ADOQuery10.Eof do begin
DBListBox2.Items.Add(dm.ADOQuery10.FieldValues['d_name']); dm.ADOQuery10.Next;
end;
end;
procedure TFrmEditPacienti.Button5Click(Sender: TObject); begin
dm.AdoQuery3.Connection.BeginTrans;
dm.AdoQuery3.SQL.Clear;
dm.AdoQuery3.SQL.Text := 'delete from soed where soed.p_id='+inttostr(key)+
' and soed.d_id =(select d_id from diag where d_name="'+DbListBox1.items[DbListBox1.ItemIndex]+'")';
dm.AdoQuery3.ExecSQL;
DbListBox1.DeleteSelected;
yes:=true;
end;
procedure TFrmEditPacienti.Button4Click(Sender: TObject); begin
DbListBox1.Items.Add(DbListBox2.items[DbListBox2.ItemIndex]);
DM.DiagQuery.SQL.Clear; DM.DiagQuery.SQL.Add('select * from diag where
d_name="'+DbListBox2.items[DbListBox2.ItemIndex]+'"'); DM.DiagQuery.Open; DM.ADOQuery3.SQL.Clear;
DM.ADOQuery3.SQL.Add('select * from pacienti, diag, soed where pacienti.p_id = soed.p_id and diag.d_id = soed.d_id and pacienti.p_id =:PARAM');
DM.ADOQuery3.Parameters.ParamByName('PARAM').Value:=dm.Paci entiQuery.Fields[0].AsInteger;
DM.ADOQuery3.Open;
dm.AdoQuery3.Insert; dm.AdoQuery3.FieldByName('soed.p_id').AsInteger:=key;
dm.AdoQuery3.FieldByName('soed.d_id').AsInteger:=DM.DiagQuery.Fi elds[0].AsInteger;
yes1:=true;
end;
end.
unit EditPreiskurant;
38
interface |
|
|
|
end. |
|
|
|
|
|
|
unit EditSpavki; |
|
|
uses |
|
|
|
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, |
interface |
|
|
|||
Controls, Forms, |
|
|
|
|
|
|
Dialogs, StdCtrls, DBCtrls, Mask; |
|
uses |
|
|
||
|
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, |
||
type |
|
|
|
Controls, Forms, |
|
|
TFrmEditPreiskurant = class(TForm) |
|
Dialogs, ComCtrls, StdCtrls, Mask, DBCtrls; |
|
|||
DBEdit1: TDBEdit; |
|
|
|
|
|
|
DBEdit2: TDBEdit; |
|
|
type |
|
|
|
Button1: TButton; |
|
|
TFrmEditSpravki = class(TForm) |
|
|
|
Button2: TButton; |
|
|
DateTimePicker1: TDateTimePicker; |
|
||
Label1: TLabel; |
|
|
|
Label1: TLabel; |
|
|
Label2: TLabel; |
|
|
|
DBEdit1: TDBEdit; |
|
|
Label3: TLabel; |
|
|
|
Label2: TLabel; |
|
|
DBComboBox1: TDBComboBox; |
|
DBEdit2: TDBEdit; |
|
|
||
procedure Button2Click(Sender: TObject); |
|
Label3: TLabel; |
|
|
||
procedure Button1Click(Sender: TObject); |
|
DBEdit3: TDBEdit; |
|
|
||
private |
|
|
|
Label4: TLabel; |
|
|
{ Private declarations } |
|
|
Label5: TLabel; |
|
|
|
public |
|
|
|
Button1: TButton; |
|
|
{ Public declarations } |
|
|
Button2: TButton; |
|
|
|
end; |
|
|
|
Label6: TLabel; |
|
|
procedure openform(ed:boolean); |
|
DBEdit5: TDBEdit; |
|
|
||
var |
|
|
|
DBLookupComboBox1: TDBLookupComboBox; |
|
|
FrmEditPreiskurant: TFrmEditPreiskurant; |
|
DBEdit4: TDBEdit; |
|
|
||
|
|
|
|
procedure FormClose(Sender: |
TObject; var |
Action: |
implementation |
|
|
|
TCloseAction); |
|
|
|
|
|
|
procedure Button2Click(Sender: TObject); |
|
|
uses DataModule; |
|
|
|
procedure Button1Click(Sender: TObject); |
|
|
|
|
|
|
procedure DateTimePicker1CloseUp(Sender: TObject); |
||
{$R *.dfm} |
|
|
|
private |
|
|
|
|
|
|
{ Private declarations } |
|
|
procedure openform(ed:boolean); |
|
public |
|
|
||
begin |
|
|
|
{ Public declarations } |
|
|
if ed then |
|
|
|
end; |
|
|
begin |
|
|
|
procedure openform(ed:boolean); |
|
|
FrmEditPreiskurant.Caption:='Измененние'; |
|
|
|
|
||
DM.PreiskurantQuery.Edit; |
|
|
var |
|
|
|
DM.PreiskurantQuery.FieldValues['edit']:=true; |
|
FrmEditSpravki: TFrmEditSpravki; |
|
|||
DM.PreiskurantQuery.Post; |
|
|
|
|
|
|
DM.PreiskurantQuery.Edit; |
|
|
implementation |
|
|
|
end |
|
|
|
|
|
|
else |
|
|
|
uses DataModule, EditPacienti; |
|
|
begin |
|
|
|
|
|
|
FrmEditPreiskurant.Caption:='Добавление'; |
|
{$R *.dfm} |
|
|
||
DM.PreiskurantQuery.Append; |
|
|
|
|
||
end; |
|
|
|
procedure openform(ed:boolean); |
|
|
FrmEditPreiskurant.ShowModal; |
|
begin |
|
|
||
end; |
|
|
|
if ed then |
|
|
|
|
|
|
begin |
|
|
procedure |
TFrmEditPreiskurant.Button2Click(Sender: |
FrmEditSpravki.Caption:='Измененние'; |
|
|||
TObject); |
|
|
|
DM.SpravkiQuery.Edit; |
|
|
begin |
|
|
|
DM.SpravkiQuery.FieldValues['edit']:=true; |
|
|
DM.PreiskurantQuery.Cancel; |
//Отмена несохраненных |
DM.SpravkiQuery.Post; |
|
|
||
изменений |
|
|
|
DM.SpravkiQuery.Edit; |
|
|
DM.PreiskurantQuery.Edit; |
|
|
FrmEditSpravki.DateTimePicker1.Date:= |
|
||
dm.PreiskurantQuery.FieldValues['edit']:=false;// |
признак |
dm.SpravkiQuery.FieldValues['s_date']; |
|
|
||
редактирования - не редактируется |
|
|
end |
|
|
|
DM.PreiskurantQuery.Post; |
//подтверждение изменений |
else |
|
|
||
FrmEditPreiskurant.Close; |
|
|
begin |
|
|
|
end; |
|
|
|
FrmEditSpravki.Caption:='Добавление'; |
|
|
|
|
|
|
DM.SpravkiQuery.Append; |
|
|
procedure |
TFrmEditPreiskurant.Button1Click(Sender: |
FrmEditSpravki.DateTimePicker1.Date:= now; |
|
|||
TObject); |
|
|
|
end; |
|
|
begin |
|
|
|
FrmEditSpravki.ShowModal; |
|
|
if (dbedit1.Text='') or (dbedit2.Text='') then |
|
end; |
|
|
||
begin |
|
|
|
|
|
|
MessageDlg('Введите все данные!',mtError,[mbOk],0); |
procedure TFrmEditSpravki.FormClose(Sender: TObject; |
|||||
Abort; |
|
|
|
var Action: TCloseAction); |
|
|
end; |
|
|
|
begin |
|
|
dm.PreiskurantQuery.FieldValues['edit']:=false;// |
признак |
DM.SpravkiQuery.Cancel; |
//Отмена несохраненных |
|||
редактирования - не редактируется |
|
|
изменений |
|
|
|
DM.PreiskurantQuery.Post; |
//подтверждение изменений |
DM.SpravkiQuery.Edit; |
|
|
||
FrmEditPreiskurant.Close; // форма закрывается |
|
dm.SpravkiQuery.FieldValues['edit']:=false;// |
признак |
|||
end; |
|
|
|
редактирования - не редактируется |
|
|
39
DM.SpravkiQuery.Post;
end;
procedure TFrmEditSpravki.Button2Click(Sender: TObject);
begin |
|
DM.SpravkiQuery.Cancel; |
//Отмена несохраненных |
изменений |
|
DM.SpravkiQuery.Edit; dm.SpravkiQuery.FieldValues['edit']:=false;// признак
редактирования - не редактируется
DM.SpravkiQuery.Post; //подтверждение изменений
FrmEditSpravki.Close;
end;
procedure TFrmEditSpravki.Button1Click(Sender: TObject); begin
if (dbedit1.Text='') or (dbedit2.Text='') or (dbedit3.Text='') or (dbedit4.Text='') or (dbedit5.Text='') then
begin
MessageDlg('Введите все данные!',mtError,[mbOk],0); Abort;
end;
dm.SpravkiQuery.FieldValues['edit']:=false;// признак редактирования - не редактируется
DM.SpravkiQuery.Post; //подтверждение изменений FrmEditSpravki.Close; // форма закрывается
end;
procedure TFrmEditSpravki.DateTimePicker1CloseUp(Sender: TObject);
begin
dm.SpravkiQuery.FieldValues['s_date']:=DateTimePicker1.Datetime; end;
end.
unit Pacient;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, Grids, DBGrids, StdCtrls, ExtCtrls, Mask,
DBCtrls;
type
TFrmPacient = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem; DBGrid1: TDBGrid; DBGrid2: TDBGrid; Panel1: TPanel; Label1: TLabel; Label2: TLabel; Edit1: TEdit;
ComboBox1: TComboBox;
GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Image1: TImage;
DBEdit1: TDBEdit;
procedure FormCreate(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure DBGrid1TitleClick(Column: TColumn); procedure Edit1Change(Sender: TObject); procedure Refresh;
procedure N3Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure DBEdit1Change(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject);
private
{Private declarations } public
{Public declarations }
end; const
pacienti_SQL= 'Select * from pacienti'; var
FrmPacient: TFrmPacient; key: integer;
implementation
uses DataModule, authorization, EditPacienti, Diag;
{$R *.dfm}
procedure TFrmPacient.Refresh; var
s,d:string; begin
if DM.PacientiQuery.FieldValues['p_id']<>null then begin
s:=DM.PacientiQuery.FieldValues['p_id'];//запоминаем
код
DM.PacientiQuery.Close;
DM.PacientiQuery.Open; DM.PacientiQuery.Locate('p_id',s,[]);// перемещаемся на
нужную позицию end;
if DM.ADOQuery3.FieldValues['soed.p_id']<>null then begin
d:=DM.ADOQuery3.FieldValues['soed.p_id'];//запоминаем код DM.ADOQuery3.Close;
DM.ADOQuery3.Open; DM.ADOQuery3.Locate('soed.p_id',d,[]);//
перемещаемся на нужную позицию end;
DM.ADOQuery3.SQL.Clear; //формирование запроса
DM.ADOQuery3.SQL.Add('select * from pacienti, diag, soed where pacienti.p_id = soed.p_id and diag.d_id = soed.d_id and pacienti.p_id =:PARAM');
//исполнение запроса и вывод результата
DM.ADOQuery3.Parameters.ParamByName('PARAM').Value:=dm.Paci entiQuery.Fields[0].AsInteger;
DM.ADOQuery3.Open;
end;
procedure TFrmPacient.FormCreate(Sender: TObject); var
i: integer; begin
//подключение к БД
DM.ADOConnection.Connected:=true; //очистка текста запроса
DM.PacientiQuery.SQL.Clear;
//формирование запроса
DM.PacientiQuery.SQL.Add(pacienti_SQL+';');
//исполнение запроса и вывод результата
DM.PacientiQuery.Open;
DM.DiagQuery.SQL.Clear;
//формирование запроса
DM.DiagQuery.SQL.Add(diag_SQL+';');
//исполнение запроса и вывод результата
DM.DiagQuery.Open;
DM.ADOQuery3.SQL.Clear;
//формирование запроса
DM.ADOQuery3.SQL.Add('select * from pacienti, diag, soed where pacienti.p_id = soed.p_id and diag.d_id = soed.d_id and pacienti.p_id =:PARAM');
//исполнение запроса и вывод результата
DM.ADOQuery3.Parameters.ParamByName('PARAM').Value:=dm.Paci entiQuery.Fields[0].AsInteger;
DM.ADOQuery3.Open;
DM.ADOQuery9.SQL.Clear; DM.ADOQuery9.SQL.Add('select diag.d_name from
pacienti, diag, soed where pacienti.p_id = soed.p_id and diag.d_id = soed.d_id and pacienti.p_id =:PARAM');
40
|
|
|
|
// Формирования запроса по полю сохраненному в |
||
DM.ADOQuery9.Parameters.ParamByName('PARAM').Value:=dm.Paci |
переменную S |
|
|
|||
entiQuery.Fields[0].AsInteger; |
|
|
DM.PacientiQuery.SQL.Add(pacienti_SQL+' WHERE '+s+' |
|||
DM.ADOQuery9.Open; |
|
|
LIKE '''+Edit1.Text+'%'''); |
|
|
|
DM.ADOQuery10.SQL.Clear; |
|
|
DM.PacientiQuery.Open; |
|
|
|
//формирование запроса |
|
|
// Обновляем |
|
|
|
DM.ADOQuery10.SQL.Add('select d_name from diag'); |
|
Refresh; |
|
|
||
//исполнение запроса и вывод результата |
|
end; |
|
|
||
DM.ADOQuery10.Open; |
|
|
|
|
|
|
// Заполняем ComboBox1 по заголовкам секций компонента |
procedure TFrmPacient.N3Click(Sender: TObject); |
|
||||
DBGrid1 |
|
|
|
begin |
|
|
for i:=0 to DBGrid1.Columns.Count-1 do |
|
Refresh; |
|
|
||
|
|
|
|
if DM.PacientiQuery.FieldValues['edit']=false then |
|
|
ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption); |
|
begin |
|
|
||
end; |
|
|
|
if |
MessageDlg('Удалить |
|
|
|
|
|
запись?',mtWarning,[mbYes,mbNo],0)=mrYes then//если "да" |
|
|
procedure |
TFrmPacient.DBGrid1CellClick(Column: |
begin |
|
|
||
TColumn); |
|
|
|
DM.PacientiQuery.Delete; |
|
|
begin |
|
|
|
Refresh; |
|
|
key:=dm.PacientiQuery.Fields[0].AsInteger; |
|
end; |
|
|
||
DM.ADOQuery3.SQL.Clear; |
|
|
end |
|
|
|
DM.ADOQuery3.SQL.Add('select * from pacienti, diag, soed |
else |
|
|
|||
where pacienti.p_id = soed.p_id and diag.d_id = soed.d_id and |
MessageDlg('Запись |
редактируется |
другим |
|||
pacienti.p_id =:PARAM'); |
|
|
пользователем',mtError,[mbOK],0); |
|
|
|
|
|
|
|
end; |
|
|
DM.ADOQuery3.Parameters.ParamByName('PARAM').Value:=dm.Paci |
|
|
|
|||
entiQuery.Fields[0].AsInteger; |
|
|
procedure TFrmPacient.FormShow(Sender: TObject); |
|
||
DM.ADOQuery3.Open; |
|
|
begin |
|
|
|
DM.ADOQuery9.SQL.Clear; |
|
|
if chek='Пользователь' then |
|
|
|
DM.ADOQuery9.SQL.Add('select |
diag.d_name |
from |
begin |
|
|
|
pacienti, diag, soed where pacienti.p_id = soed.p_id and diag.d_id = |
N1.Enabled:=false; |
|
|
|||
soed.d_id and pacienti.p_id =:PARAM'); |
|
|
N2.Enabled:=false; |
|
|
|
|
|
|
|
end; |
|
|
DM.ADOQuery9.Parameters.ParamByName('PARAM').Value:=dm.Paci |
if chek='Гость' then |
|
|
|||
entiQuery.Fields[0].AsInteger; |
|
|
begin |
|
|
|
DM.ADOQuery9.Open; |
|
|
N1.Enabled:=false; |
|
|
|
end; |
|
|
|
N2.Enabled:=false; |
|
|
|
|
|
|
N3.Enabled:=false; |
|
|
procedure |
TFrmPacient.DBGrid1TitleClick(Column: |
end; |
|
|
||
TColumn); |
|
|
|
end; |
|
|
var |
|
|
|
|
|
|
s:string; |
//направление сорировки |
|
|
procedure TFrmPacient.DBEdit1Change(Sender: TObject); |
||
i:integer; |
|
|
|
begin |
|
|
clr:TColor; // цвет колонки при сортировке |
|
if (DBEdit1.Text<>'') then |
|
|
||
begin |
|
|
|
begin |
|
|
// по умолчанию сортировка по возрастанию |
|
|
|
|
||
// цвет колонки - зеленый |
|
|
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'i |
|||
s:=' ASC'; |
|
|
mage\'+dm.PacientiQuery.FieldByName('p_foto').AsString); |
|
||
clr:= clMoneyGreen; |
|
|
end; |
|
|
|
// меняем цвет и направление если пользователь выбрал |
end; |
|
|
|||
иное |
|
|
|
|
|
|
if RadioButton2.Checked then |
|
|
procedure TFrmPacient.N1Click(Sender: TObject); |
|
||
begin |
|
|
|
begin |
|
|
s:=' DESC'; |
|
|
OpenForm(false); // вызов процедуры "открытие формы" |
|||
clr:= clSkyBlue; |
|
|
второй случай (см.выше) |
|
|
|
end; |
|
|
|
Refresh; //вызов процедуры обновления |
|
|
// возвращаем исходный цвет всех колонок |
|
end; |
|
|
||
// и подсвечиваем выбранную колонку |
|
|
|
|
||
for i:=0 to DBGrid1.Columns.Count-1 do |
|
procedure TFrmPacient.N2Click(Sender: TObject); |
|
|||
DBGrid1.Columns.Items[i].Title.Color:= clBtnFace; |
|
begin |
|
|
||
DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; |
Refresh; // вызов процедуры обновления |
|
||||
// выполняем сортировку по выбранной колонке |
|
if DM.PacientiQuery.FieldValues['edit']=false then |
|
|||
DM.PacientiQuery.Sort:= |
|
|
begin |
|
|
|
DBGrid1.Columns.Items[Column.Index].FieldName+s; |
|
OpenForm(true); |
|
|
||
end; |
|
|
|
Refresh; |
|
|
|
|
|
|
end |
|
|
procedure TFrmPacient.Edit1Change(Sender: TObject); |
|
else |
|
|
||
var |
|
|
|
MessageDlg('Запись |
редактируется |
другим |
S:String; |
|
|
|
пользователем',mtError,[mbOK],0); |
|
|
begin |
|
|
|
end; |
|
|
if |
ComboBox1.ItemIndex=-1 |
then |
|
|
|
|
ComboBox1.ItemIndex:=0; |
|
|
end. |
|
|
|
//Сохранение имени поля BDGrid1 в переменную S, по |
unit Preiskurant; |
|
|
|||
индексу выбранной записи в ComboBox1 |
|
|
|
|
|
|
|
|
|
|
interface |
|
|
s:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; |
|
|
|
|
||
DM.PacientiQuery.SQL.Clear; |
|
|
uses |
|
|
41