picdesc.~pas

来自「某疗养院动脉硬化管理系统」· ~PAS 代码 · 共 140 行

~PAS
140
字号
unit PicDesc;

interface

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

type
  TFrmPicDesc = class(TFrmExamDesc)
    procedure BtnCloseClick(Sender: TObject);
    procedure BtnNewClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    Flag:integer;
    //显示数据
    procedure ShowData;
    //初始化
    procedure IniForm;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmPicDesc: TFrmPicDesc;

implementation

uses DataModule, PubFunction;

{$R *.dfm}

procedure TFrmPicDesc.BtnCloseClick(Sender: TObject);
begin
  inherited;
  close;
end;
//显示数据
procedure TFrmPicDesc.ShowData;
begin
  EdtID.Text:=ADQ.FieldByName('ID').AsString;
  EdtSample.Text:=ADQ.FieldByName('SampleDesc').AsString;
  EdtDetail.Text:=ADQ.FieldByName('DetailDesc').AsString;
end;

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

procedure TFrmPicDesc.BtnNewClick(Sender: TObject);
begin
  inherited;
  EdtID.Text:=GenID('ID','PicDesc','P');
end;

procedure TFrmPicDesc.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 PicDesc(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,'*','PicDesc','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,'*','PicDesc','ID');
        end;
      end;
    end
  else
    begin
      try
        with ADQ do
        begin
          sql.Clear;
          sql.Add('UPDATE PicDesc 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,'*','PicDesc','ID');
        SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
        IniForm;
      except
        DM.ADOCn.RollbackTrans;
        raise;
        application.MessageBox('保存失败!','警告',mb_ok+mb_iconwarning);
        ShowRecord(ADQ,'*','PicDesc','ID');
      end;
    end;
end;

procedure TFrmPicDesc.FormCreate(Sender: TObject);
begin
  //inherited;
  IniForm;
  ShowRecord(ADQ,'*','PicDesc','ID');
end;

end.

⌨️ 快捷键说明

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