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

📄 ufrm_level4_3.~pas

📁 完整的进销存系统。 设计文件及完整的源代码。 Delphi6.0
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:

        if  not(bof and eof ) then
            begin
              u_error :='記錄已經存在 !';
              chk_unique:=false;
              Set_focus;
              //Kxb01.SetFocus;
              exit;
            end;
       end;
    end;
end;


//=================================================
//*************************************************
//first

procedure Tfrm_level4_3.FormCreate(Sender: TObject);
var i:integer;
begin
  inherited;
  u_master:=g_transfer.master;    //取得要操作的master
  u_detail:=g_transfer.detail;    //取得要操作的detail
  //u_key1:=g_transfer.key1;
  for i:=1 to 10 do
    begin
      u_mpkey[i]:=g_transfer.mpkey[i];
      u_mpvalue[i]:=g_transfer.mpvalue[i];
      u_mkey[i]:=g_transfer.mkey[i];
      u_dkey[i]:=g_transfer.dkey[i];
    end;
  //u_qtable:=g_transfer.qtable;
  u_order:=g_transfer.order;

  //********************************
  u_pfilter:=parse_01;
  u_dfilter:=parse_02;


  qy_master.DatabaseName:=dm.connection.DatabaseName;
  qy_detail.DatabaseName:=dm.connection.DatabaseName;

  //=======================================================
  refresh_master;
  refresh_detail;
  navistatus;
  savestatus;
  cl_setcolor(self);              //設置編輯框的顏色
end;

procedure Tfrm_level4_3.tbExitClick(Sender: TObject);
begin
  inherited;
  //button 1
  close;
end;

procedure Tfrm_level4_3.tbAddClick(Sender: TObject);
begin
  inherited;
  //2
  if not cl_prichk('1',u_user_permission,u_grup_permission) then
   begin
     messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
     exit;
   end;
   
  refresh_master;


  if qy_master.FieldByName('ACTI').AsString='Y' then
     begin
       cl_showmsg('資料已被確認,不可修改!');
       exit;
     end;

  if not chk_canedit() then
    begin
      messagedlg(u_error,mtinformation,[mbok],0);
      exit;
    end;

  if not chk_before_append() then
    begin
      messagedlg(u_error,mtinformation,[mbok],0);
      exit;
    end;

  modistatus;
  Set_focus;
  qy_detail.Append;
end;

procedure Tfrm_level4_3.tbEditClick(Sender: TObject);
var i:integer;
    l_flag:boolean;
begin
  inherited;
  //3
  l_flag:=true;
  for i:=1 to 10 do
    begin
      if u_dkey[i]<>'' then
        begin
          if qy_detail.FieldByName(u_dkey[i]).AsString='' then
            l_flag:=false;
        end;
    end;

  if not l_flag then exit;


  if not cl_prichk('2',u_user_permission,u_grup_permission) then
  begin
    messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
    exit;
  end;

  refresh_master;   //get the latest data;

  if qy_master.FieldByName('ACTI').AsString='Y' then
     begin
       cl_showmsg('資料已被確認,不可修改!');
       exit;
     end;


  if not chk_canedit() then
    begin
      messagedlg(u_error,mtinformation,[mbok],0);
      exit;
    end;

  if not chk_before_edit() then
    begin
      messagedlg(u_error,mtinformation,[mbok],0);
      exit;
    end;

  modistatus;
  Set_focus;
  qy_detail.Edit;
  try
    qy_master.Edit;
    qy_master.FieldByName('MODU').AsString:=g_user;
    qy_master.FieldByName('MODT').AsString:=DateToStr(cl_curdt);
    qy_master.Post;
  except
    qy_master.Cancel;
  end;
end;

procedure Tfrm_level4_3.tbDeleteClick(Sender: TObject);
var i:integer;
    l_flag:boolean;
begin
  inherited;
  //4
  l_flag:=true;
  for i:=1 to 10 do
    begin
      if u_dkey[i]<>'' then
        begin
          if qy_detail.FieldByName(u_dkey[i]).AsString='' then
            l_flag:=false;
        end;
    end;

  if not l_flag then exit;
  

  if not cl_prichk('3',u_user_permission,u_grup_permission) then
   begin
     messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
     exit;
   end;

  refresh_master;   //get the latest data;

  if qy_master.FieldByName('ACTI').AsString='Y' then
     begin
       cl_showmsg('資料已被確認,不可修改!');
       exit;
     end;

  if not chk_canedit() then
    begin
      messagedlg(u_error,mtinformation,[mbok],0);
      exit;
    end;

  if not chk_before_delete() then
    begin
      messagedlg(u_error,mtinformation,[mbok],0);
      exit;
    end;
     

  if messagedlg('確定要刪除此條紀錄嗎?',
                mtconfirmation,[mbyes,mbno],0) <> mryes then exit;
  qy_detail.Delete;
  re_index;
  refresh_detail;
  navistatus;
end;

procedure Tfrm_level4_3.tbFirstClick(Sender: TObject);
begin
  inherited;
  //5
  if qy_detail.Bof then exit;
  qy_detail.First;
  navistatus;
end;

procedure Tfrm_level4_3.tbPriorClick(Sender: TObject);
begin
  inherited;
  //6
  if qy_detail.Bof then exit;
  qy_detail.Prior;
  navistatus;
end;

procedure Tfrm_level4_3.tbNextClick(Sender: TObject);
begin
  inherited;
  //7
  if qy_detail.Eof then exit;
  qy_detail.Next;
  navistatus;
end;

procedure Tfrm_level4_3.tbLastClick(Sender: TObject);
begin
  inherited;
  //8
  if qy_detail.Eof then exit;
  qy_detail.last;
  navistatus;
end;

procedure Tfrm_level4_3.tbRefreshClick(Sender: TObject);
begin
  inherited;
  //9
  refresh_master;
  refresh_detail;
end;

procedure Tfrm_level4_3.tbSaveClick(Sender: TObject);
begin
  inherited;
  //10
  toolbar1.SetFocus;
  if not chk_unique then
      begin
        messagedlg(u_error,mtinformation,[mbok],0);
        exit;
      end;

  if not chk_save then
      begin
        messagedlg(u_error,mtinformation,[mbok],0);
        exit;
      end;

   try
     qy_detail.Post;
   except
     qy_detail.Cancel;
     cl_showmsg('存盤失敗!');
   end;

   savestatus;
end;

procedure Tfrm_level4_3.tbUnsaveClick(Sender: TObject);
begin
  inherited;
//11
   toolbar1.SetFocus;
   try
     qy_detail.Cancel;
   except
      cl_showmsg('放棄存盤失敗!');
   end;
   savestatus;
end;

procedure Tfrm_level4_3.tbPrintClick(Sender: TObject);
begin
  inherited;
  //12;
  
end;

procedure Tfrm_level4_3.tbExcelClick(Sender: TObject);
begin
  inherited;
  //13
  cl_toexcel(u_detail,dbgrid);
end;

procedure Tfrm_level4_3.tbHelpClick(Sender: TObject);
begin
  inherited;
  //14
  ;
end;

procedure Tfrm_level4_3.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  inherited;
  if (qy_detail.state <> dsbrowse) and (qy_detail.state <> dsinactive) then
       begin
          canclose:=false;
          MessageDlg('你已經修改的資料,'+
          '請存盤或放棄 !!',mtinformation,[mbok],0);
       end;
end;

procedure Tfrm_level4_3.qy_detailBeforeEdit(DataSet: TDataSet);
var i:integer;
begin
  inherited;
  ;//取得舊key value.
  for i:=1 to 10 do
    begin
      if u_dkey[i]<>'' then
        begin
          u_oldkeyvalue[i]:=qy_detail.fieldbyname(u_dkey[i]).asstring;
        end;
    end;
end;

procedure Tfrm_level4_3.qy_detailNewRecord(DataSet: TDataSet);
var i:integer;
begin
  inherited;
  for i:=1 to 10 do
    begin
      if u_mkey[i]<>'' then
        //qy_detail.FieldByName(u_mkey[i]).AsString:=u_mpvalue[i]; //2003/05/09 change
        qy_detail.FieldByName(u_dkey[i]).AsString:=u_mpvalue[i];
    end;
  qy_detail.FieldByName('D_SN').AsInteger:=next_ordinal; 
end;

procedure Tfrm_level4_3.qy_detailAfterOpen(DataSet: TDataSet);
begin
  inherited;
  l_RecordCount.caption:='Record count:'+inttostr(qy_detail.RecordCount);
end;

end.

⌨️ 快捷键说明

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