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

📄 areacoalinfo_unt.pas

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

interface

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

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

var
  AreaCoalInfo_Frm: TAreaCoalInfo_Frm;

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

procedure TAreaCoalInfo_Frm.FormResize(Sender: TObject);
begin
  inherited;
DBLookupComboBox1.Width:=DBLookupComboBox1.Width+40;
Label1.Left:=Label1.Left+20;
Label1.Top:=Label1.Top-10;
Label2.Left:=Label2.Left+20;
Label2.Top:=Label2.Top-10;
Label3.Left:=Label3.Left+20;
Label3.Top:=Label3.Top-10;
end;

procedure TAreaCoalInfo_Frm.BitBtn1Click(Sender: TObject);
var
LastId:integer;
begin
  inherited;
  modify:=false;//如果是按下修改键后,再按下的确定键,则更新(Post)完后,到此就不再往下执行
  try
    if Base_DataS.DataSet.RecordCount=0 then LastId:=0
       else LastId:=GetLastRecId(Base_DataS.DataSet,'Id');
    Base_DataS.DataSet.Append;
    Base_DataS.DataSet.FieldByName('Id').Value:=LastId+1;
  except
    showmessage('数据库未连接正确!');
  end;
  DBLookupComboBox1.SetFocus;
end;

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

end;

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

end;

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

end;

procedure TAreaCoalInfo_Frm.BitBtn3Click(Sender: TObject);
var
 Area,Coal,i,a,b:integer;
 //BookMark:TBookMark;
begin
  inherited;
  if modify then exit;
  //BookMark:=Base_DataS.DataSet.GetBookmark;
  //以下为表中的“Sequence”字段自动编号
  Base_DataS.DataSet.Last;
  if VarIsNull(Base_DataS.DataSet.FieldByName('Area_Id').Value)
        then
          begin
            showmessage('请输入相应的采区!');
            DBLookupComboBox1.Enabled:=true;
            DBLookupComboBox2.Enabled:=true;
            DBEdit1.Enabled:=true;
            BitBtn3.Enabled:=true;
            DBLookupComboBox1.SetFocus;
            exit;
          end;
  Area:=Base_DataS.DataSet.FieldByName('Area_Id').Value;
  Coal:=0;
  Base_DataS.DataSet.First;
  for i:=1 to Base_DataS.DataSet.RecordCount do
    begin
      a:=Base_DataS.DataSet.FieldByName('Area_Id').Value;
      if VarIsNull(Base_DataS.DataSet.FieldByName('Sequence').Value) then b:=0
         else b:=Base_DataS.DataSet.FieldByName('Sequence').Value;
      if (a=Area)and(b>Coal) then Coal:=b;
      Base_DataS.DataSet.Next;
    end;
  Base_DataS.DataSet.Last;
  Base_DataS.DataSet.Edit;
  Base_DataS.DataSet.FieldByName('Sequence').AsInteger:=Coal+1;
  try
    Base_DataS.DataSet.Post;
  except
    Base_DataS.DataSet.Cancel;
    showmessage('数据更新没有成功!');
  end;
  //Base_DataS.DataSet.GotoBookmark(BookMark);
end;

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

end.

⌨️ 快捷键说明

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