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

📄 修改中 contract.pas

📁 主要是介绍DELPHI三层应用以及分布式数据库的应用
💻 PAS
📖 第 1 页 / 共 3 页
字号:
    btn_addnew.Enabled :=false;
    btn_edit.Enabled :=false;
    btn_addnew.Enabled :=false;
    btn_edit.Enabled :=false;

    btn_first1.Enabled :=false;
    btn_prev1.Enabled :=false;
    btn_next1.Enabled :=false;
    btn_last1.Enabled :=false;


    btn_addnew1.Enabled :=false;
    btn_edit1.Enabled :=false;

end;

function TForm_contract.char_capital(intx:integer):string;
begin
  case intx of
   1: Result := '壹';
   2: Result := '贰';
   3: Result := '叁';
   4: Result := '肆';
   5: Result := '伍';
   6: Result := '陆';
   7: Result := '柒';
   8: Result := '捌';
   9: Result := '玖';
   0: Result := '零';
   else
    Result := '×';
  end;
end;

procedure TForm_contract.btn_addnew1Click(Sender: TObject);
begin
 EnableScrollBox(ScrollBox);

 DisableBtn;
 btn_save1.Enabled :=true;
 btn_cancel1.Enabled :=true;
 btn_save.Enabled :=true;
 btn_cancel.Enabled :=true;

 btn_del1.Enabled:= false ;
 btn_del.Enabled:= false ;


 dm_wxp.Table_contract.Append ;
 //初始化;
 with dm_wxp do
   begin
          Table_contract.FieldByName('卖方住所').AsString := '浙江省宁波市梅墟工业园区震雄办公楼';
          Table_contract.FieldByName('卖方电话').AsString := '0574-88482799';
          Table_contract.FieldByName('卖方传真').AsString := '0574-88482789';// 业务部(楼广的) 88482789 88482795
          Table_contract.FieldByName('卖方税务证号').AsString := '33020672809488X';
          Table_contract.FieldByName('卖方开户银行').AsString := '中国银行宁波经济技术开发区分行新碶分理处';//开户号
          Table_contract.FieldByName('卖方银行帐号').AsString := '02185008093001';//开户号
          Table_contract.FieldByName('卖方邮编').AsString := '315103';

    end;
 //单选按钮;
 self.DBEdit22.Text:='否' ;
 self.DBRadioGroup1.ItemIndex:= 0;
 self.dbrg_jthfs.ItemIndex:= 0;
 self.dbrg_ysfs.ItemIndex:= 0;
 self.dbrg_dbcd.ItemIndex:= 0;
 self.dbrg_dj.ItemIndex:= 0;
 self.dbrg_zfdjfs.ItemIndex:= 0;
 self.Edit_12.Text := '0.00'  ;
 //base info;
 EditDBEdit8.SetFocus;
 EditDBEdit8.Text := '震雄机械(宁波)有限公司';
 DBEdit2.Text:='浙江省宁波市梅墟工业园区震雄办公楼';
 DBEdit3.Text:='0574-88482799';//电话
 DBEdit10.Text :='0574-88482789';//传真
 DBEdit4.Text := '33020672809488X';//税务证号
 DBEdit8.Text :='中国银行宁波经济技术开发区分行新碶分理处';//开户号
 DBEdit20.Text :='02185008093001';//开户号
 DBEdit19.Text :='315103';//postcode

end;



procedure TForm_contract.btn_save1Click(Sender: TObject);
begin
if length(self.DBComboBox7.Text)<= 0 then
   begin
        Beep;
        if MessageBox(handle,'合同号不能为空, 请重新输入合同号!', '出错:合同编号为空' ,MB_IconQuestion+ MB_OK )= IDOK then
        begin
        self.DBComboBox7.SetFocus;
        end
   end
else
   begin
        dm_wxp.Table_contract.post ;
        //dm_wxp.Table_contract.Refresh;
        btn_save1.Enabled :=false;
        btn_cancel1.Enabled :=false;
        btn_save.Enabled :=false;
        btn_cancel.Enabled :=false;

        btn_del1.Enabled:= true ;
        btn_del.Enabled:= true ;



        //锁住所有文本框
        DisableScrollBox(ScrollBox);
        //使按钮有效
        EnableBtn ;
        btn_addnew1.Enabled :=true;
        btn_edit1.Enabled :=true;
        btn_addnew.Enabled :=true;
        btn_edit.Enabled :=true;
  end;      
end;

procedure TForm_contract.btn_first1Click(Sender: TObject);
begin
 dm_wxp.Table_contract.First ;
end;

procedure TForm_contract.btn_prev1Click(Sender: TObject);
begin
 if not dm_wxp.Table_contract.Bof then
                dm_wxp.Table_contract.Prior ;
end;

procedure TForm_contract.btn_last1Click(Sender: TObject);
begin
dm_wxp.Table_contract.Last ;
end;

procedure TForm_contract.btn_next1Click(Sender: TObject);
begin
 if not dm_wxp.Table_contract.Eof then
    dm_wxp.Table_contract.Next ;

end;

procedure TForm_contract.btn_edit1Click(Sender: TObject);
begin
       //UnLockEdit;
        EnableScrollBox(ScrollBox);
        self.DBComboBox7.Enabled:=false;//合同编号不能修改的;

        DisableBtn;
        dm_wxp.Table_contract.Edit ;
      //  showmessage('aaa') ;

        btn_save1.Enabled :=true;
        btn_cancel1.Enabled :=true;
        btn_save.Enabled :=true;
        btn_cancel.Enabled :=true;

        btn_del1.Enabled:= false  ;
        btn_del.Enabled:= false ;


end;

procedure TForm_contract.btn_cancel1Click(Sender: TObject);
begin

      dm_wxp.Table_contract.Cancel ;
      EnableBtn;
      //LockEdit;
      DisableScrollBox(ScrollBox);
      btn_cancel.Enabled :=false;
      btn_save.Enabled :=false;

      btn_cancel1.Enabled :=false;
      btn_save1.Enabled :=false;

     btn_del1.Enabled:= true ;
     btn_del.Enabled:= true ;


end;

procedure TForm_contract.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
dm_wxp.Table_contract.Active :=false;  //释放数据模块的资源。;;;
Action:=cafree;
end;

procedure TForm_contract.FormCreate(Sender: TObject);
var rowsall: Integer ;
begin

  if  not  dm_wxp.Table_contract.active then  dm_wxp.Table_contract.open;
   ///////// INIT
   DisableScrollBox(ScrollBox); //使scrollbox上的控件只读;

   self.DBGrid2.ReadOnly := true;
   unit_public_jin.Setcolor(ScrollBox);
   application.ShowHint:= true;
   self.ScrollBox.VertScrollBar.Position:= 0;
   self.PageControl_contract.Top := 4 ;




   // 客户名称
  with Query_contract_client  do
  begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select distinct 客户名称 FROM PUB_Z_CLIENT');
    prepare;
    open;
    DBComboBox1.Items.Clear;
    while not eof do
    begin
      DBComboBox1.Items.Add(fieldbyname('客户名称').AsString);
      next;
    end;
  end;
 /////////
 //处理dbgrid下机型的输入问题;
 /////////
   with Query_contract_client  do
   begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select distinct 机型 FROM std_machine');
    prepare;
    open;

    self.DBGrid1.Columns.Items[3].PickList.clear;//机型
    while not eof do
    begin
       self.DBGrid1.Columns[3].PickList.add(fieldbyname('机型').AsString) ;
       next;
    end;
  end;
  //////////处理标签叶得锁定工作。
 //// 1 没有数据时候,只能录入叶可用。
    // rowsall := dm_wxp.Table_contract.RecordCount
   //  if rowsall <= 0 then
   //  begin
   //  (self.TabSheet1 as TControl).Create( 

end;



procedure TForm_contract.Edit_12Exit(Sender: TObject);
type
  Tstrlist = array[1..8] of string ;
var
  // baiwan,shiwan ,wan ,qian ,bai,shi,yuan,
   xsstr,jiao,fen:string ;
   oristring,newstring,newxiaoshu:string;
   addzhenshu,addxiaoshu:string;
   zhenshu,xiaoshu: Integer;
   I,j,n,iindex: integer;
   zhenshufloat,xiaoshufloat : real;
   zstrlist,xstrlist :Tstrlist;
begin
  //Edit_show.Text:= dm_wxp.Table_contract_12.AsString;
  //把数字转换成大写(货币中)
  oristring:= dm_wxp.Table_contract.FieldByName('合计价款_数值表达').AsString;
  if (oristring = '') or (Length(oristring)<=0) then
  begin
    //ini
    dm_wxp.Table_contract.FieldByName('合计价款_元').AsString:= char_capital(0) ;
    dm_wxp.Table_contract.FieldByName('合计价款_拾').AsString:= char_capital(0) ;
    dm_wxp.Table_contract.FieldByName('合计价款_百').AsString:= char_capital(0) ;
    dm_wxp.Table_contract.FieldByName('合计价款_千').AsString:= char_capital(0) ;
    dm_wxp.Table_contract.FieldByName('合计价款_万').AsString:= char_capital(0) ;
    dm_wxp.Table_contract.FieldByName('合计价款_拾万').AsString:= char_capital(0) ;
    dm_wxp.Table_contract.FieldByName('合计价款_百万').AsString:= char_capital(0) ;
    dm_wxp.Table_contract.FieldByName('合计价款_角').AsString:= char_capital(0) ;
    dm_wxp.Table_contract.FieldByName('合计价款_分').AsString:= char_capital(0) ;
    //焦点下传:
    EditDBEdit51.SetFocus;
    exit;
  end;

  ////////////////////////////////////////////////////////////
  //得到整数部分;(7位)不够用零补足;
  //大于七位 取七位;小于则用零补足;
  //////////////////////////////////////////////////////////////////
  zhenshufloat:=StrToFloat(oristring);
  zhenshu:= Trunc(zhenshufloat);
  newstring:=trim(inttostr(zhenshu));//oristring +
  j:= length(newstring);

  if j>7 then
   begin
   addzhenshu:='';
   newstring:=rightstr(newstring,7);
   end;

  if j<= 7 then
   begin
     iindex := 7-j;
     addzhenshu:='';
     if iindex = 7 then
        addzhenshu:=''
     else
       begin
        addzhenshu:=''  ;
        for n:= 1 to iindex do
          begin
           addzhenshu:=addzhenshu +'0';
          end;
       end;
     newstring:= trim(addzhenshu) + newstring;
    end;


  //把每位数转换为中文大写;
  //如何在字符串中提出每一位字符;??
    zstrlist[1]:=RightStr(newstring,1);
    zstrlist[2]:=midstr(newstring,6,1);
    zstrlist[3]:=midstr(newstring,5,1);
    zstrlist[4]:=midstr(newstring,4,1);
    zstrlist[5]:=midstr(newstring,3,1);
    zstrlist[6]:=midstr(newstring,2,1);
    zstrlist[7]:=midStr(newstring,1,1);

     //赋值到控件
    dm_wxp.Table_contract.FieldByName('合计价款_元').AsString:= char_capital(StrToInt( zstrlist[1])) ;
    dm_wxp.Table_contract.FieldByName('合计价款_拾').AsString:= char_capital(StrToInt( zstrlist[2])) ;
    dm_wxp.Table_contract.FieldByName('合计价款_百').AsString:= char_capital(StrToInt( zstrlist[3])) ;
    dm_wxp.Table_contract.FieldByName('合计价款_千').AsString:= char_capital(StrToInt( zstrlist[4])) ;
    dm_wxp.Table_contract.FieldByName('合计价款_万').AsString:= char_capital(StrToInt( zstrlist[5])) ;
    dm_wxp.Table_contract.FieldByName('合计价款_拾万').AsString:= char_capital(StrToInt( zstrlist[6])) ;
    dm_wxp.Table_contract.FieldByName('合计价款_百万').AsString:= char_capital(StrToInt( zstrlist[7])) ;

    ////////////////////////////////////////////////////////////////////////////
    ////////// 处理小数;两位(补足)
    ///////////////////////////////////////////////
     xiaoshufloat:=StrToFloat(oristring);
     newxiaoshu:= trim(floattostr(xiaoshufloat)); //总)长

     I:= Length(newxiaoshu);  //总长;
     zhenshu:= Trunc(zhenshufloat);
     j:= length(trim(inttostr(zhenshu)));//z整数部分长度;

     if (I = j)then //没有小数;
     begin
       xstrlist[1] :='0';
       xstrlist[2] :='0';
     end;

     if I = (j+2)  then //有1位小数点   11.1
     begin
       xstrlist[1] := midstr( newxiaoshu,I,1)   ;
       xstrlist[2] :='0';
     end;

     if I >(j+2)  then //有2 位 or many小数点   11.115
     begin
       xstrlist[1] := midstr( newxiaoshu,j+2,1);
       xstrlist[2] :=midstr( newxiaoshu,j+3,1);
     end;

     dm_wxp.Table_contract.FieldByName('合计价款_角').AsString:= char_capital(StrToInt( xstrlist[1])) ;
     dm_wxp.Table_contract.FieldByName('合计价款_分').AsString:= char_capital(StrToInt( xstrlist[2])) ;
     //edit_show.Text:=  inttostr(I)+ 'add' + inttostr(j) +'add' +dm_wxp.Table_contract.Fields[32].AsString ;
     //焦点下传;
     EditDBEdit51.SetFocus;
  end;

procedure TForm_contract.EditDBEdit8KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
//if key = 13 then
//   EditDBEdit2.SetFocus;

end;

procedure TForm_contract.btn_firstClick(Sender: TObject);
begin
  btn_first1Click(btn_first1);
end;

procedure TForm_contract.btn_prevClick(Sender: TObject);
begin
    btn_prev1Click(btn_prev1) ;
end;

procedure TForm_contract.btn_nextClick(Sender: TObject);
begin
 btn_next1Click(btn_next1);
end;

procedure TForm_contract.btn_lastClick(Sender: TObject);
begin
   btn_last1Click(btn_last1);
end;

procedure TForm_contract.btn_addnewClick(Sender: TObject);
begin
   btn_addnew1Click(btn_addnew1)
end;

procedure TForm_contract.btn_editClick(Sender: TObject);
begin
   btn_edit1Click(btn_edit1);
end;

procedure TForm_contract.btn_saveClick(Sender: TObject);
begin
   btn_save1Click(btn_save1) ;
end;

procedure TForm_contract.btn_cancelClick(Sender: TObject);
begin
   btn_cancel1Click(btn_cancel1);
end;

procedure TForm_contract.DBComboBox1Enter(Sender: TObject);

begin
 //new add
  DBComboBox1_str :=DBComboBox1.text;
  DBComboBox1_index:=DBComboBox1.Items.IndexOf(DBComboBox1_str) ;

  //////// ///////////////////
  // 客户名称

⌨️ 快捷键说明

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