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

📄 devicetype.~pas

📁 Barcode And LabelPrint
💻 ~PAS
字号:
unit DeviceType;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, InfoBase, StdCtrls, DBCtrls, ToolEdit, Mask, wwDialog, wwidlg,
  DB, ADODB, ActnList, ExtCtrls, ComCtrls, ToolWin, Grids, DBGrids;

type
  TfrmDeviceType = class(TfrmInfoBase)
    GroupBox1: TGroupBox;
    Label9: TLabel;
    Panel6: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    DBEdtDevNum: TDBEdit;
    DBEdtDevName: TDBEdit;
    DBLookupcbbSerise: TDBLookupComboBox;
    Editdate: TEdit;
    Panel9: TPanel;
    fneFileName: TFilenameEdit;
    Label12: TLabel;
    GroupBox8: TGroupBox;
    DBMemo1: TDBMemo;
    GroupBox5: TGroupBox;
    DBGridDeviceType: TDBGrid;
    QProSerise: TADOQuery;
    DSProSerise: TDataSource;
    QBaseInfoDevNum: TIntegerField;
    QBaseInfoDevName: TWideStringField;
    QBaseInfoProNumber: TIntegerField;
    QBaseInfoDevImage: TBlobField;
    QBaseInfoImageFile: TWideStringField;
    QBaseInfoDescri: TWideStringField;
    QBaseInfoUpDateDate: TDateTimeField;
    QProSeriseProNumber: TIntegerField;
    QProSeriseSerise: TWideStringField;
    QProSeriseDetail: TWideStringField;
    QProSeriseUpdateDate: TDateTimeField;
    procedure QBaseInfoDevNameValidate(Sender: TField);
    procedure QBaseInfoBeforePost(DataSet: TDataSet);
    procedure dsBaseInfoDataChange(Sender: TObject; Field: TField);
    procedure dsBaseInfoStateChange(Sender: TObject);
    procedure acNewExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure fneFileNameMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure fneFileNameChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmDeviceType: TfrmDeviceType;

implementation

uses StockDataModel, PublicFunction;

{$R *.dfm}

procedure TfrmDeviceType.QBaseInfoDevNameValidate(Sender: TField);
begin
  inherited;
  if not IsUnique('DevName', Sender.AsString) then
  begin
    showmessage('名称已经存在,请重新填写,谢谢');
    abort;
  end;
end;

procedure TfrmDeviceType.QBaseInfoBeforePost(DataSet: TDataSet);
var
  i: integer;
begin
  inherited;
 //check
  if (DBEdtDevName.text = '') then //(EDTDevNum.Text='') or
  begin
    messagedlg('名称不能为空,请填写,谢谢!', mtinformation, [mbok], 0); // 编号/
    DBEdtDevName.SetFocus;
    Abort;
  end;
  if checkvalue('DeviceType', 'Devnum', DBEdtDevNum.Text) then
  begin
    if QBaseInfo.State in [dsInsert] then DBEdtDevNum.Text := '';
  end;

  if (trim(DBLookupcbbSerise.Text) = '')
    then // //modify
  begin
    messagedlg('请选择配置,谢谢!', mtinformation, [mbok], 0);
    Abort;
  end;

  if (fneFileName.Text <> '') and (QBaseInfo.State in [dsInsert]) then //仅增加时检查
    if not fileexists(fneFileName.Text) then
    begin
      messagedlg('填入/选择的文件不存在,谢谢!', mtinformation, [mbok], 0);
      Abort;
    end;
  QBaseInfo.FieldByName('ImageFile').AsString := fneFileName.Text;
  if (fneFileName.Text <> '') then
    blobcontenttostring(fneFileName.Text, QBaseInfo, 'DevImage');

  if DBEdtDevNum.Text = '' then QBaseInfo.FieldByName('Devnum').AsString := inttostr(GetNextRecNoMax(StockDM.ADOConn, 'DeviceType', 'Devnum', '', '', 20)); //自动
  QBaseInfo.FieldByName('UpDateDate').AsdateTime := date;

end;

procedure TfrmDeviceType.dsBaseInfoDataChange(Sender: TObject;
  Field: TField);
begin
  inherited;
  if QBaseInfo.State = dsBrowse then
  begin
    fneFileName.Text := QBaseInfo.FieldByName('ImageFile').Asstring;
    EditDate.Text := QBaseInfo.FieldByName('UpDateDate').Asstring;
  //dsBaseInfoStateChange(self);
    //LoadInfos;
  end;
end;

procedure TfrmDeviceType.dsBaseInfoStateChange(Sender: TObject);
var i: integer;
begin
  inherited;
  with GroupBox1 do
    for i := 0 to ControlCount - 1 do
    begin
      if Controls[i] is TDBEdit then
        (Controls[i] as TDBEdit).ReadOnly := not acSave.Enabled
      else if Controls[i] is TDBLookupComboBox then
        (Controls[i] as TDBLookupComboBox).Enabled := acSave.Enabled;

    end;
  fneFileName.ReadOnly := not acSave.Enabled;
end;

procedure TfrmDeviceType.acNewExecute(Sender: TObject);
begin
  DBEdtDevNum.SetFocus;
  inherited;
  fneFileName.Text := '';
  EditDate.Text := '';

end;

procedure TfrmDeviceType.FormShow(Sender: TObject);
begin
  inherited;
  if QProSerise.Active = false then QProSerise.Active := true;
  if QBaseInfo.State = dsBrowse then
  begin
    fneFileName.Text := QBaseInfo.FieldByName('ImageFile').Asstring;
    EditDate.Text := QBaseInfo.FieldByName('UpDateDate').Asstring;
  //dsBaseInfoStateChange(self);
   // LoadInfos;
  end;
  DBEdtDevNum.SetFocus;
end;

procedure TfrmDeviceType.fneFileNameMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  inherited;
  fneFileName.Hint := fneFileName.Text;
end;

procedure TfrmDeviceType.fneFileNameChange(Sender: TObject);
begin
  inherited;
//对于桌面上的文件fileNmaeEdit加""存时不认
  fneFileName.Text := checkFilename('"', fneFileName.Text);
end;

end.

⌨️ 快捷键说明

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