?? 修改備注2004-10-08.txt
字號:
建議在以下過程中直接用新的過程賦蓋你的程序版本。
(在我現(xiàn)在這個版本中,在Form目錄下多加了一個hintx.pas,如果你用你那邊的程序的話,就先不加這個單元,如果你用的話的,把hintx.pas 拷到你的form目錄下,把xsw_ico.res拷到你的執(zhí)行文件的目錄下,同時在ys.pas,main.pas,Hu_calujs.pas的uses中加入hintx即可。 其中hintx.pas 引用xsw_ico.res)
1、 在單元 hu_pub中修改了以下過程
{設(shè)置增減的定額內(nèi)容 create by xsw at 2004-09-13}
procedure get_zjstrtogrid(const con_str:string; mygrid:Tstringgrid);
{拖拉定額時,顯示增減定額,以備進(jìn)行定額增減處理 create by xsw at 2004-09-14}
procedure showzj_set(mygrid:Tstringgrid; row_x:integer; rem_debh,rem_mrk5,dek_name:string; r_ID:integer);
2、在單元 hu_zjhs中修改了以下過程
procedure Th_zjhs.dis_zjhs_caption(mygrid:Tstringgrid);
procedure Th_zjhs.StringGrid1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Th_zjhs.UpDown1Click(Sender: TObject; Button: TUDBtnType);
-------------------以下修改是處理說明系數(shù)有針對某一材料進(jìn)行操作的-------------------------
1、HU_xsxmtz.pas 單元的窗體中加入選擇窗件,其作用是當(dāng)選擇打勾時可針對某一材料進(jìn)行調(diào)整。
2、ys.pas窗體中的adoqery_de查詢控件中加入固定字段Difffare5,Difffare1,Difffare2,Difffare3。
操作如下 打開預(yù)算窗體,選中con_bodi連接數(shù)據(jù)庫控件,雙擊它,然后選擇鏈接數(shù)據(jù)如[boyi.mdb],
然后再雙擊adoqery_de查詢控件,將彈出一小窗體,在小窗體中單擊鼠標(biāo)右鍵,此時將會彈出字段選擇框,
選擇Difffare5,Difffare1,Difffare2,Difffare3后確定即可,最后記得把con_bodi的鏈接屬性給刪掉,以免發(fā)
生行運錯誤。
3、 在hu_pub.pas單元中----[添加過程]
//說明系數(shù)如果是針對某一條或某多條進(jìn)行操作 create by xsw at 2004-09-10
procedure smxs_singlecl(mygrid:Tstringgrid; row_x:integer; smxs_cl:string ;var myobject:Tobjectlist);
4、 在hu_pub.pas單元中----[修改過程]
{將清單定額添加到套定額庫中Tstringgrid}
procedure getselectqd(mygrid:Tstringgrid; row_x:integer; rowlist:Tstringlist; dek_str:string; gcl:currency; glNo:string);
5、在ys.pas單元中----[修改過程]
procedure Tfrm_ys.StringGrid1KeyPress(Sender: TObject; var Key: Char);
6、在ys.pas單元中----[修改過程]
procedure Tfrm_ys.showdek(); ,在查詢中加入Difffare5
7、在ys.pas單元中----[修改過程]
菜單控件popubmenu1的N201(說明系數(shù)調(diào)整)
procedure Tfrm_ys.N201Click(Sender: TObject);
8、修改定額數(shù)據(jù)庫,在[N]dek中將Difffare5的類型改為字符串,且字段充許為空,同時將原來的0改為NULL或空格.
--------------------------調(diào)差問題----------------------------------
在定額數(shù)據(jù)庫中,[N]dek中將Difffare1的用作人工調(diào)差,Difffare2的用作材料調(diào)差,Difffare3的用作機械調(diào)差,如果沒有調(diào)差則其值設(shè)為0;
1、在ys.pas單元中----[修改過程]
procedure Tfrm_ys.rcj_gridSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure Tfrm_ys.getselectrecord(mygrid:Tstringgrid; row_x:integer);
procedure Tfrm_ys.h_rcjlist(mygrid:Tstringgrid; r_ID:integer;R_bh:string;R_flag:boolean;replacefalg:integer;tmp_a:T_array);
2、在hu_pub.pas單元中----[添加過程]
{設(shè)置人工調(diào)差,材料調(diào)差,機械調(diào)差create by xsw at 2004-010-10}
procedure rgclzj_Tc(rg_r,cl_r,zj_r:currency; R_ID:integer; myobject:Tobjectlist);
3、在hu_pub.pas單元中----[修改過程]
{將計算后的人材機(人材機數(shù)據(jù)改變)存入人材機對象數(shù)組中}
procedure savercj_ToObj(de_grid,rc_grid:Tstringgrid; row_x:integer; var rcj_change:rcj_state; var rcjlistfile:Tobjectlist;field_tmp:Tobjectlist);
function jsqtcldj(w_r,s_r,z_r,R_hl:real; typeID:integer):real;
procedure tfrm_ys.SavePrice;
var
i:integer;
begin
for i:=1 to grid_jca.RowCount-1 do begin //for begin
if (trim(grid_jca.Cells[1,i])<>'') or (trim(grid_jca.Cells[2,i])<>'') then begin
DYQR1.SQL.Clear ;
DYQR1.SQL.Add('insert into resource (id,unit,rname,aprice,pname) values(:p1,:P2,:P3,:P4,:P5)');
DYQR1.Parameters.ParamByName('p1').Value:=trim(grid_jca.Cells[1,i]);
DYQR1.Parameters.ParamByName('p2').Value:=trim(grid_jca.Cells[3,i]);//這里是保存工程名稱的
DYQR1.Parameters.ParamByName('p3').Value:=trim(grid_jca.Cells[2,i]); //規(guī)格型號,還要改
DYQR1.Parameters.ParamByName('p4').Value:=trim(grid_jca.Cells[10,i]);//市場價
DYQR1.Parameters.ParamByName('p5').Value:=''; //廠家,暫時留著
try
DYQR1.ExecSQL;
except
on E:exception do begin
messagebox(handle,pchar('保存失敗,錯誤原因:'+E.Message+#13#10#10
+'如有必要,請與軟件供應(yīng)商聯(lián)系!'),'提示',mb_iconexclamation);
abort;
end;
end;
end;
end;
end;
如果已經(jīng)建好了這個表,那么你在Access中只要建立一個"生成表查詢"(用SELECT ... INTO NewTalbe FROM SourceTable),然后清除表中的數(shù)據(jù)(DELETE FROM SourceTalbe)就可以了。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -