⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modiinid.pas

📁 某大型医院护士站
💻 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 + -