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

📄 unit_setupgrade.pas

📁 中国移动大客户管理系统
💻 PAS
字号:
unit Unit_SetupGrade;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Unit_Config, Db, DBTables, StdCtrls, TFlatEditUnit, TFlatButtonUnit,
  ExtCtrls, Grids, DBGrids;

type
  TFrm_SetupGrade = class(TFrm_Config)
    Label1: TLabel;
    Label2: TLabel;
    FlatEdit2: TFlatEdit;
    FlatEdit3: TFlatEdit;
    UpdateSQL1: TUpdateSQL;
    procedure BitBtnAddClick(Sender: TObject);
    procedure BitBtnAlterClick(Sender: TObject);
    procedure BitBtnDelClick(Sender: TObject);
    procedure BitBtnSaveClick(Sender: TObject);
    procedure Query_PUBAfterScroll(DataSet: TDataSet);
    procedure BitBtnCancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure sqlcommit;
    procedure FlatEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure FlatEdit2KeyPress(Sender: TObject; var Key: Char);
    procedure FlatEdit3KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    //当前的节日编码
    P_CurrentCode :string;
    //判断是否为插入状态
    P_Insert :boolean;
  public
    { Public declarations }
  end;

var
  Frm_SetupGrade: TFrm_SetupGrade;

implementation

uses dmmain,unit_public,main;

{$R *.DFM}

procedure TFrm_SetupGrade.BitBtnAddClick(Sender: TObject);
begin
  inherited;
  kk:=1;
  FlatEdit1.Text:='';
  FlatEdit2.Text:='';
  FlatEdit3.Text:='';
  FlatEdit1.Enabled :=true;
  FlatEdit2.Enabled :=true;
  FlatEdit3.Enabled :=true;
  FlatEdit1.SetFocus;
  //ShowMessage(' 请输入等级内容! ');
  SetBitBtn(false);
  //with Query_PUB do
  //begin
  //  if Not Active then
   //    Active:=true;
  //end;
  SetBitBtn(false);
end;

procedure TFrm_SetupGrade.BitBtnAlterClick(Sender: TObject);
begin
  inherited;
  kk := 2;
  //ShowMessage(' 请输入需要修改的等级内容! ');
  FlatEdit1.SelectAll;
  FlatEdit1.Enabled :=true;
  FlatEdit2.Enabled :=true;
  FlatEdit3.Enabled :=true;
  FlatEdit1.SetFocus;
  SetBitBtn(false);
  //Query_PUBAfterScroll(nil);
end;

procedure TFrm_SetupGrade.BitBtnDelClick(Sender: TObject);
var
  sql:string;
begin
  inherited;
  //if (Application.MessageBox('是否要删除该记录?',
   //              '提示',MB_OKCANCEL)=IDCANCEL)  then exit;
  if MessageDlg('是否要删除该记录?',mtConfirmation, [mbYes,mbNo], 0)=mrNo then  exit;
  //Dm_Main.Databasedh.StartTransaction;
  Sql :='Delete t_d_grade where GRADENO='+#39+
     Query_PUB.FieldByName('GRADENO').AsString+#39;
  if AnalyzeSql(SQL)=1 then exit;
  FlatEdit1.text :='';
  FlatEdit2.text :='';
  FlatEdit3.Text :='';
  Query_Pub.Delete;
  //Query_Pub.Close;
  //Query_Pub.Open;
  Query_PUBAfterScroll(nil);  
end;

procedure TFrm_SetupGrade.BitBtnSaveClick(Sender: TObject);
var
  xlh, editxlh,sql : string;
begin
  inherited;
  //提示是否更新
  if kk=2 then
  //if (Application.MessageBox('是否要更新该记录?',
  //                       '提示',MB_OKCANCEL)=IDCANCEL)  then exit;
  if MessageDlg('是否要更新该记录?',mtConfirmation, [mbYes,mbNo], 0)=mrNo then  exit;
  if trim(FlatEdit1.Text) ='' then
  begin
    MessageDlg('等级描述字段不能为空!',mtConfirmation, [mbYes], 0);
    exit;
  end;
  if trim(FlatEdit2.Text) ='' then
  begin
    MessageDlg('等级上限字段不能为空!',mtConfirmation, [mbYes], 0);
    exit;
  end;
  if trim(FlatEdit3.Text) ='' then
  begin
    MessageDlg('等级下限字段不能为空!',mtConfirmation, [mbYes], 0);
    exit;
  end;
  if length(FlatEdit1.Text) >20 then
  begin
    MessageDlg('等级描述字段超过长度!',mtConfirmation, [mbYes], 0);
    exit;
  end;
  if FlatEdit2.text <>'' then
  if strtoint(FlatEdit2.Text) >99999999 then
  begin
    MessageDlg('等级上限字段超过长度!',mtConfirmation, [mbYes], 0);
    exit;
  end;
  if FlatEdit3.text <>'' then
  if strtoint(FlatEdit3.Text) >99999999 then
  begin
    MessageDlg('等级下限字段超过长度!',mtConfirmation, [mbYes], 0);
    exit;
  end;
  if strtoint(FlatEdit3.Text) >=strtoint(FlatEdit2.Text) then
  begin
    MessageDlg('等级下限不能大于等于等级上限!',mtConfirmation, [mbYes], 0);
    exit;
  end;
  case kk of
  1:  // add
     Begin
       Query_Tmp.Close;
       Query_Tmp.SQL.Clear;
       Query_Tmp.SQL.Add(' select SEQ_GRADENO.nextval xlh from dual');
       Query_Tmp.Open;
       xlh := Query_Tmp.FieldByName('xlh').AsString;

       Sql :='insert into t_d_grade(GRADENO,DESCRIPTION,UPPERLIMIT,LOWERLIMIT) '
       +' values('+xlh+','+#39+FlatEdit1.Text+#39+',';
       if trim(FlatEdit2.Text)<>'' then
         Sql :=Sql+FlatEdit2.Text+','
       else
         Sql :=Sql+'Null'+',';
       if trim(FlatEdit3.Text) <>'' then
         Sql :=Sql+FlatEdit3.Text+')'
       else
         Sql :=Sql+'NULL'+')';

       if AnalyzeSql(SQL)=1 then exit;
     end;
  2:  // edit
     begin
       Sql :='update t_d_grade set DESCRIPTION='+#39+FlatEdit1.Text+#39+','
       +'UPPERLIMIT=';
       if trim(FlatEdit2.Text)<>'' then
         Sql :=Sql+FlatEdit2.Text+','
       else
         Sql :=Sql+'Null'+',';

       Sql :=Sql+'LOWERLIMIT=';
       if trim(FlatEdit3.Text) <>'' then
         Sql :=Sql+FlatEdit3.Text
       else
         Sql :=Sql+'NULL';
       Sql :=Sql+' where GRADENO='+#39+Query_PUB.FieldByName('GRADENO').AsString+#39;
       if AnalyzeSql(SQL)=1 then exit;
     end;
  end;
  //Dm_Main.Databasedh.Commit;
  //Query_Pub.Close;
  //Query_Pub.Open;
  {
  if kk=1 then
    Query_Pub.Locate('GRADENO', xlh, [])
  else
    Query_Pub.Locate('GRADENO', editxlh, []); }
  //*************数据同步********************
  case kk of
  1:  // add
     Begin
       P_Insert :=true;
       Query_Pub.insert;
       Query_Tmp.close;
       Query_Tmp.sql.text := //大小写问题Diploma_ID
        'select nvl(max(GRADENO),0) from t_d_grade';
       Query_Tmp.open;
       P_CurrentCode :=Query_Tmp.fields[0].asstring;
     end;
  2:  // edit
     begin
       P_Insert :=true;
       Query_Pub.Edit;
     end;
  end;
  Query_PUB.FieldByName('DESCRIPTION').AsString :=FlatEdit1.Text;
  Query_PUB.FieldByName('UPPERLIMIT').AsString :=FlatEdit2.Text;
  Query_PUB.FieldByName('LOWERLIMIT').AsString :=FlatEdit3.Text;
  Query_PUB.FieldByName('GRADENO').AsString :=P_CurrentCode;
  P_Insert :=false;
  Query_Pub.Post;
  //*****************************************
  SetBitBtn(true);
  Query_PUBAfterScroll(nil);
end;

procedure TFrm_SetupGrade.Query_PUBAfterScroll(DataSet: TDataSet);
begin
  inherited;
  FlatEdit1.Enabled :=false;
  FlatEdit2.Enabled :=false;
  FlatEdit3.Enabled :=false;
  if P_Insert then exit;
  FlatEdit1.Text := Query_PUB.fieldbyname('DESCRIPTION').AsString;
  FlatEdit2.Text := Query_PUB.fieldbyname('UPPERLIMIT').AsString;
  FlatEdit3.Text := Query_PUB.fieldbyname('LOWERLIMIT').AsString;
  P_CurrentCode := Query_PUB.FieldByName('GRADENO').AsString;
   //***********当没有记录时要控制按钮及权限************
  If  not(Query_PuB.bof and Query_PuB.eof) Then
  begin
    //
    BitBtnAlter.Enabled:=true;
    //权限
    BitBtnAlter.Enabled:=(JBDM<=2);
    BitBtnAdd.Enabled:=false;
    BitBtnDel.Enabled:=false;
  end
    else
      begin
        BitBtnAdd.Enabled:=false;
        BitBtnAlter.Enabled:=false;
        BitBtnDel.Enabled:=false;
      end;
   //*******************************************
end;

procedure TFrm_SetupGrade.BitBtnCancelClick(Sender: TObject);
begin
  inherited;
  Query_PUBAfterScroll(nil);
end;

procedure TFrm_SetupGrade.FormShow(Sender: TObject);
begin
  inherited;
  P_Insert :=false;
  SetBitBtn(true);
  //修改部分       2001-07-10         ChenQingBo
  BitBtnAlter.Enabled:=(JBDM<=2);
  BitBtnAdd.Enabled:=false;
  BitBtnDel.Enabled:=false;
  Query_PUBAfterScroll(nil);
end;

procedure TFrm_SetupGrade.sqlcommit;
begin
  with Query_Tmp do
    begin
      Close;
      Sql.Clear;
      Sql.Add('commit');
      ExecSql;
    end;  
end;

procedure TFrm_SetupGrade.FlatEdit1KeyPress(Sender: TObject;
  var Key: Char);
begin
  inherited;
  if key = #13 then FlatEdit2.SetFocus;
end;

procedure TFrm_SetupGrade.FlatEdit2KeyPress(Sender: TObject;
  var Key: Char);
begin
  inherited;
  if not (key in ['0'..'9', #13, #8]) then key := #0;
  if key = #13 then FlatEdit3.SetFocus;
end;

procedure TFrm_SetupGrade.FlatEdit3KeyPress(Sender: TObject;
  var Key: Char);
begin
  inherited;
  if not (key in ['0'..'9', #13, #8]) then key := #0;
  if key = #13 then BitBtnSaveClick(nil);
end;

end.

⌨️ 快捷键说明

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