📄 修改中 contract.pas
字号:
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 + -