?? modiinid.pas
字號:
unit ModiInid;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, Mask, DB;
type
TfrmModiInid = class(TForm)
btnOK: TButton;
btnCancel: TButton;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
edtNewInid: TMaskEdit;
edtNewTimes: TMaskEdit;
lblOldInid: TLabel;
lblOldTimes: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure btnCancelClick(Sender: TObject);
procedure btnOKClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmModiInid: TfrmModiInid;
implementation
{$R *.DFM}
uses datamodule;
procedure TfrmModiInid.btnCancelClick(Sender: TObject);
begin
close;
end;
procedure TfrmModiInid.btnOKClick(Sender: TObject);
var OldInid,NewInid : integer;
NewInidExist, OldTimes,NewTimes : smallint;
CurRec : TBookMark;
begin
{
if not (trim(edtNewInid.Text) = '') then begin // if newinid is input
OldInid := DM.PatiDataInid.AsInteger;
OldTimes := DM.PatiDatatimes.AsInteger;
try
NewInid := strtoint(edtNewInid.Text);
except
raise Exception.Create('住院號輸入錯!');
Abort;
end;
if trim(edtNewTimes.Text) = '' then // if newtimes not input
NewTimes := OldTimes // then set it to oldtimes
else
try
NewTimes := strtoint(edtNewTimes.Text); // or transfer from input
except
raise Exception.Create('次數輸入錯!');
Abort;
end;
with DM do begin
PatientData.Open;
if not PatientData.Locate('Inid',NewInid,[]) then begin
NewInidExist := 0; // New Inid is not exist
try
if dm.ProjHisadt.InTransaction then
dm.ProjHisadt.Commit;
dm.ProjHisadt.StartTransaction;
prcModiInid.Params[0].AsSmallInt := NewInidExist;
prcModiInid.Params[1].AsInteger := OldInid;
prcModiInid.Params[2].AsSmallInt := OldTimes;
prcModiInid.Params[3].AsInteger := NewInid;
prcModiInid.Params[4].AsSmallInt := NewTimes;
// prcModiInid.Prepare;
prcModiInid.ExecProc;
dm.ProjHisadt.Commit;
except
dm.ProjHisadt.Rollback;
end;
CurRec := PatiData.GetBookMark;
PatiData.Close;
PatiData.Open; //Pruduce Current Used Beds
PatiData.GotoBookmark(CurRec);
PatiData.FreeBookmark(CurRec);
end
else // new init is already exist
if Application.MessageBox('此號已存在。繼續修改嗎?',
'警告',MB_ICONWARNING+MB_OKCANCEL) = IDOK then begin // sure to modify
NewInidExist := 1; // New Inid is exist and modify continue
NewTimes := PatientData.FieldByName('times').AsInteger; //modify newtimes
try
if dm.ProjHisadt.InTransaction then
dm.ProjHisadt.Commit;
dm.ProjHisadt.StartTransaction;
prcModiInid.Params[0].AsSmallInt := NewInidExist;
prcModiInid.Params[1].AsInteger := OldInid;
prcModiInid.Params[2].AsSmallInt := OldTimes;
prcModiInid.Params[3].AsInteger := NewInid;
prcModiInid.Params[4].AsSmallInt := NewTimes;
// prcModiInid.Prepare;
prcModiInid.ExecProc;
dm.ProjHisadt.Commit;
except
dm.ProjHisadt.Rollback;
end;
CurRec := PatiData.GetBookMark;
PatiData.Close;
PatiData.Open; //Pruduce Current Used Beds
PatiData.GotoBookmark(CurRec);
PatiData.FreeBookmark(CurRec);
end;
end;
end;
close;
}
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -