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

📄 customnameinfo_unt.pas

📁 煤矿行业采掘接替计划自动生成系统
💻 PAS
字号:
unit CustomNameInfo_Unt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DataEdit_BaseUnt, DB, Grids, DBGrids, StdCtrls, Buttons,
  ExtCtrls, Mask, DBCtrls;

type
  TCustomNameInfo_Frm = class(TDataEdit_BaseFrm)
    Label1: TLabel;
    Label2: TLabel;
    DBEdit1: TDBEdit;
    Label3: TLabel;
    DBLookupComboBox1: TDBLookupComboBox;
    CommonName_DataS: TDataSource;
    DBLookupComboBox2: TDBLookupComboBox;
    TaskType_DataS: TDataSource;
    procedure FormResize(Sender: TObject);
    procedure DBLookupComboBox2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn8Click(Sender: TObject);
    procedure DBLookupComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    modify:boolean;  //控制‘确定’按钮按照何种状况进行执行的变量
  end;

var
  CustomNameInfo_Frm: TCustomNameInfo_Frm;

implementation
uses Data_Unt,Tools_Unt;
{$R *.dfm}

procedure TCustomNameInfo_Frm.FormResize(Sender: TObject);
begin
  inherited;
  DBLookupComboBox1.Width:=DBLookupComboBox1.Width+25;
  DBLookupComboBox2.Width:=DBLookupComboBox2.Width+25;
end;

procedure TCustomNameInfo_Frm.DBLookupComboBox2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=VK_RETURN then DBEdit1.SetFocus;

end;

procedure TCustomNameInfo_Frm.BitBtn8Click(Sender: TObject);
begin
  inherited;
  modify:=true;
  DBLookUpComboBox1.SetFocus;
end;

procedure TCustomNameInfo_Frm.DBLookupComboBox1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=VK_RETURN then DBLookUpComboBox2.SetFocus;

end;

procedure TCustomNameInfo_Frm.DBEdit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=VK_RETURN then BitBtn3.SetFocus;

end;

procedure TCustomNameInfo_Frm.BitBtn1Click(Sender: TObject);
var
LastId:integer;
begin
  inherited;
  modify:=false;
  try
    if Base_DataS.DataSet.RecordCount=0 then LastId:=0
       else LastId:=GetLastRecId(Base_DataS.DataSet,'Sequence');
    Base_DataS.DataSet.Append;
    Base_DataS.DataSet.FieldByName('Sequence').Value:=LastId+1;
  except
    showmessage('数据库未连接正确!');
  end;
  DBLookUpComboBox1.SetFocus;
end;

procedure TCustomNameInfo_Frm.BitBtn3Click(Sender: TObject);
var
Id,i,a,b,TaskType,TaskT:integer;
begin
  inherited;
  if modify then exit;//如果是按下修改键后,再按下的确定键,则更新(Post)完后,到此就不再往下执行
  //以下为"工序当地名称"表中的“Id”字段自动编号,同一工序类型(TaskType_Id)的Id编号唯一
  Base_DataS.DataSet.Last;
  if VarIsNull(Base_DataS.DataSet.FieldByName('CommonName_Id').Value)
        then
          begin
            showmessage('请输入相应的书面名称!');
            DBLookupComboBox1.Enabled:=true;
            DBLookupComboBox2.Enabled:=true;
            DBEdit1.Enabled:=true;
            BitBtn3.Enabled:=true;
            DBLookupComboBox1.SetFocus;
            exit;
          end;
  a:=Base_DataS.DataSet.FieldByName('CommonName_Id').Value;
  CommonName_DataS.DataSet.Locate('Id',a,[loCaseInsensitive]);
  TaskType:=CommonName_DataS.DataSet.FieldByName('TaskType_Id').Value;
  Id:=0;
  Base_DataS.DataSet.First;
  for i:=1 to Base_DataS.DataSet.RecordCount do
    begin
      a:=Base_DataS.DataSet.FieldByName('CommonName_Id').Value;
      CommonName_DataS.DataSet.Locate('Id',a,[loCaseInsensitive]);
      TaskT:=CommonName_DataS.DataSet.FieldByName('TaskType_Id').Value;
      if VarIsNull(Base_DataS.DataSet.FieldByName('Id').Value) then b:=0
         else b:=Base_DataS.DataSet.FieldByName('Id').Value;
      if (TaskT=TaskType)and(b>Id) then Id:=b;
      Base_DataS.DataSet.Next;
    end;
  Base_DataS.DataSet.Last;
  Base_DataS.DataSet.Edit;
  Base_DataS.DataSet.FieldByName('Id').AsInteger:=Id+1;
  try
    Base_DataS.DataSet.Post;
  except
    Base_DataS.DataSet.Cancel;
    showmessage('数据更新没有成功!');
  end;
  //Base_DataS.DataSet.GotoBookmark(BookMark);
end;

end.

⌨️ 快捷键说明

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