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

📄 examdesc.pas

📁 某疗养院动脉硬化管理系统
💻 PAS
字号:
unit ExamDesc;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RecordForm, cxStyles, cxCustomData, cxGraphics, cxFilter,
  cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBCtrls, cxGridLevel,
  cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
  cxGridTableView, cxGridDBTableView, cxGrid, ExtCtrls, StdCtrls, Buttons;

type
  TFrmExamDesc = class(TFrmRecord)
    Panel3: TPanel;
    BtnClose: TBitBtn;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    EdtID: TEdit;
    EdtSample: TEdit;
    BtnNew: TBitBtn;
    BtnDel: TBitBtn;
    BtnEdit: TBitBtn;
    BtnSave: TBitBtn;
    EdtDetail: TMemo;
    Label3: TLabel;
    cxGrid1DBTableView1DBColumn1: TcxGridDBColumn;
    cxGrid1DBTableView1DBColumn2: TcxGridDBColumn;
    cxGrid1DBTableView1DBColumn3: TcxGridDBColumn;
    BitBtn1: TBitBtn;
    procedure BtnCloseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BtnNewClick(Sender: TObject);
    procedure BtnDelClick(Sender: TObject);
    procedure BtnEditClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    Flag:integer;
    //显示数据
    procedure ShowData;
    //初始化
    procedure IniForm;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmExamDesc: TFrmExamDesc;

implementation

uses DataModule, PubFunction;

{$R *.dfm}

procedure TFrmExamDesc.BtnCloseClick(Sender: TObject);
begin
  inherited;
  close;
end;

procedure TFrmExamDesc.IniForm;
begin
  EdtID.Text :='';
  EdtSample.Text:='';
  EdtDetail.Text:='';
end;

procedure TFrmExamDesc.ShowData;
begin
  EdtID.Text:=ADQ.FieldByName('ID').AsString;
  EdtSample.Text:=ADQ.FieldByName('SampleDesc').AsString;
  EdtDetail.Text:=ADQ.FieldByName('DetailDesc').AsString;
end;

procedure TFrmExamDesc.FormCreate(Sender: TObject);
begin
  inherited;
  IniForm;
  ShowRecord(ADQ,'*','ExamDesc','ID');
end;

procedure TFrmExamDesc.FormShow(Sender: TObject);
begin
  inherited;
  SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
end;

procedure TFrmExamDesc.BtnNewClick(Sender: TObject);
begin
  inherited;
  Flag:=0;
  EdtID.Text:=GenID('ID','ExamDesc','E');
  EdtSample.SetFocus;
  SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'New');
end;

procedure TFrmExamDesc.BtnDelClick(Sender: TObject);
begin
  inherited;
  if ADQ.IsEmpty then
    exit;
  if application.MessageBox('确定要删除这条记录?','提示',mb_yesno+mb_iconquestion)=idyes then
    ADQ.Delete;
end;
//修改
procedure TFrmExamDesc.BtnEditClick(Sender: TObject);
begin
  inherited;
  if ADQ.IsEmpty then
    exit;
  Flag:=1;
  ShowData;
  SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Edit');
end;

procedure TFrmExamDesc.BtnSaveClick(Sender: TObject);
begin
  inherited;
  if Trim(EdtSample.Text)='' then
  begin
    application.MessageBox('请输入简介!','提示',mb_ok+mb_iconinformation);
    EdtSample.SetFocus;
    exit;
  end;
  if Trim(EdtDetail.Text)='' then
  begin
    application.MessageBox('请输入详细!','提示',mb_ok+mb_iconinformation);
    EdtDetail.SetFocus;
    exit;
  end;
  DM.ADOCn.BeginTrans;
  if Flag=0 then
    begin
      try
        with ADQ do
        begin
          sql.Clear;
          sql.Add('INSERT INTO ExamDesc(ID,SampleDesc,DetailDesc) VALUES (:v1,:v2,:v3)');
          Parameters.ParamByName('v1').Value :=Trim(EdtID.Text);
          Parameters.ParamByName('v2').Value :=Trim(EdtSample.Text);
          Parameters.ParamByName('v3').Value :=Trim(EdtDetail.Text);
          ExecSql;
        end;
        DM.ADOCn.CommitTrans;
        ShowRecord(ADQ,'*','ExamDesc','ID');
        SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
        IniForm;
      except
        on e:Exception do
        begin
          DM.ADOCn.RollbackTrans;
          Application.MessageBox('保存失败!','警告',mb_ok+mb_iconwarning);
          WriteLog('诊断描述保存失败'+e.Message);
          ShowRecord(ADQ,'*','ExamDesc','ID');
        end;
      end;
    end
  else
    begin
      try
        with ADQ do
        begin
          sql.Clear;
          sql.Add('UPDATE ExamDesc Set SampleDesc=:v1,DetailDesc=:v2 WHERE ID=:v3');
          Parameters.ParamByName('v1').Value :=Trim(EdtSample.Text);
          Parameters.ParamByName('v2').Value :=Trim(EdtDetail.Text);
          Parameters.ParamByName('v3').Value :=Trim(EdtID.Text);
          ExecSql;
        end;
        DM.ADOCn.CommitTrans;
        ShowRecord(ADQ,'*','ExamDesc','ID');
        SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
        IniForm;
      except
        on e:Exception do
        begin
          DM.ADOCn.RollbackTrans;
          WriteLog('诊断描述修改失败'+e.Message);
          application.MessageBox('保存失败!','警告',mb_ok+mb_iconwarning);
          ShowRecord(ADQ,'*','ExamDesc','ID');
        end;
      end;
    end;
end;

procedure TFrmExamDesc.BitBtn1Click(Sender: TObject);
begin
  inherited;
  SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
  IniForm;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -