【正文】
der: TObject)。beginclose。end。procedure (Sender: TObject)。begin//條件判斷 if (=39。39。) or (=39。39。) then begin showmessage(39。請輸入完整信息!39。)。 exit。 end。 with adoquery do begin close。 。 (39。select * from 商品表 where 商品編號=39。++39。39。)。 open。 if recordcount1 then begin showmessage(39。不存在此商品編號,請先在商品管理中增加此商品39。)。 exit。 end。 end。 //提交到 入庫表 。 //提交到庫存表 with adoquery do begin close。 。 (39。select * from 庫存表 where 商品編號=39。+trim()+39。39。)。 open。 if recordcount1 then begin close。 。 (39。insert into 庫存表 values(39。+trim()+39。,39。+trim()+39。,39。+trim()+39。39。+39。)39。)。 execsql。 end else begin close。 。 (39。update 庫存表 set 庫存數(shù)量=庫存數(shù)量+39。++39。,庫存金額=庫存金額+39。++39。 where 商品編號=39。+trim()+39。39。)。 execsql。 end。 end。 //初始 :=false。 :=false。 。end。procedure (Sender: TObject)。begin。 with adoquery do begin close。 。 (39。select * from 員工信息表 where 所屬部門=倉管員39。)。 open。 first。 :=fieldbyname(39。所屬部門39。).AsString。 while not eof do begin (fieldbyname(39。所屬部門39。).AsString)。 next。 end。 end。 。 with adoquery do begin close。 。 (39。select * from 廠商信息表39。)。 open。 first。 :=fieldbyname(39。廠商名稱39。).AsString。 while not eof do begin (fieldbyname(39。廠商名稱39。).AsString)。 next。 end。 end。:=true。:=true。end。procedure (Sender: TObject)。var sno,o,vno:string。//單據(jù)編號變量 llen:integer。 //獲取長度的變量 begin //自動獲取預(yù)定最大單據(jù)號with adoquery do begin close。 。 (39。select * from 入庫表39。)。 open。 if recordcount1 then begin o:=39。0000139。 vno:=39。RKBH39。+o。 end else begin close。 。 (39。select max(入庫編號) as maxno from 入庫表39。)。 open。 sno:=fieldbyname(39。maxno39。).AsString。 llen:=strtoint(copy(sno,5,5))+1。 case length(inttostr(llen)) of 1:o:=39。000039。+inttostr(strtoint(copy(sno,5,5))+1)。 2:o:=39。00039。+inttostr(strtoint(copy(sno,5,5))+1)。 3:o:=39。0039。+inttostr(strtoint(copy(sno,5,5))+1)。 4:o:=39。039。+inttostr(strtoint(copy(sno,5,5))+1)。 5:o:=inttostr(strtoint(copy(sno,5,5))+1)。 else o:=39。0000139。 end。 vno:=39。RKBH39。+o。 end。 end。:=true。:=true。:=vno。:=datetostr()。:=datetostr()。end。procedure (Sender: TObject)。begin。if messagedlg(39。確定修改嗎?39。,mtconfirmation,[mbyes,mbno],0)=mryes then。end。procedure (Sender: TObject)。beginif messagedlg(39。確定刪除嗎?39。,mtconfirmation,[mbyes,mbno],0)=mryes then。end。procedure (Sender: TObject)。begin 。end。procedure (Sender: TObject)。begin。end。procedure (Sender: TObject)。begin。:=false。end。procedure (Sender: TObject)。beginif 39。39。 then:=floattostr(strtofloat()*strtofloat())。end。procedure (Sender: TObject)。beginspfm:=(self)。end。end.第十章系統(tǒng)調(diào)試完成對流程的編碼后最重要的事情就是對系統(tǒng)的測試工作了,測試在系統(tǒng)設(shè)計階段有兩個時期,通常在編寫每個模塊后做單元測試,另一個時期是對系統(tǒng)的綜合測試。在模塊測試時我們主要從以下幾個方面考慮:1. 模塊接口2. 局部數(shù)據(jù)結(jié)構(gòu)3. 重要執(zhí)行通道4. 出錯處理通道5. 影響上述方面的邊界條件測試時進行代碼審查,從數(shù)據(jù)類型,變量聲明,數(shù)據(jù)結(jié)構(gòu)進行審查,然后進行功能測試,從輸入一些簡單的數(shù)據(jù)開始執(zhí)行一遍,觀測運行期間變量的變化,運行中值的變化范圍。改變測試方案來變換另一個角度進行測試,發(fā)現(xiàn)錯誤并記錄,修改代碼,測試條件使程序通過多層分支,判別運行結(jié)果從而完成模塊測試。 總體測試是組裝軟件的系統(tǒng)技術(shù),本系統(tǒng)測試采用漸增集成測試,即測試單一模塊,將測試完的模塊加入系統(tǒng)中,進行一次系統(tǒng)測試,依次類推將所有模塊加入系統(tǒng)中,在具體測試時,采用自頂向下的結(jié)合方式,從主控模塊開始,沿各控制層向下移動,漸把所有模塊結(jié)合了。M1M3M4M2M5 在測試過程中使用到調(diào)試技術(shù)1. 采用debug調(diào)試語句,跟蹤數(shù)據(jù)2. 嵌入打印語句,輸出中間結(jié)果3. 利用Delphi ,從立即窗口觀測變量的變化4. 設(shè)置斷點,觀察程序在斷點附近的狀況評估運行的可靠性問題1. 結(jié)果正確2. 運行速度3. 空間利用率4. 算法的可行性謝 辭 經(jīng)過三個月的艱苦努力,我終于完成了產(chǎn)成品銷售核算系統(tǒng)的全部設(shè)計過程,并使該系統(tǒng)達到可實際應(yīng)用的階段。軟件設(shè)計是一個精細漫長的過程。在整個過程中,都需要周密的計劃和安排,每一步驟,都需要按照軟件工程標準來完成。在設(shè)計中,我始終堅持理論指導實踐原則,并通過實踐來加強理論的學習,通過實習鍛煉,我熟悉了軟件的一般過程,加強了對實際問題的處理能力。實踐證明,在高科技突飛猛進的時代,光靠課堂所學的知識是遠遠不夠的,必須依靠實踐去不斷的深化認識,尤其是計算機科學,操作性和實踐性很強,只有加強實際的動手能力,才能更好的掌握這一現(xiàn)代化工具。這次實習,無論是從技術(shù)上還是對環(huán)境的適應(yīng)能力上講,對我今后步入社會都打下了一個良好的基礎(chǔ)。在實習過程中,我也遇到了一些困難,主要表現(xiàn)了技術(shù)和經(jīng)驗的欠缺,但通過努力,終于一一克服了。在整個實習期間,曾得到了黃賢英和同學的大力支持和幫助,在此表示衷心的感謝!參 考 文 獻1. 薩師煊、:高校教育出版社,2.:清華大學出版社,3.。清華大學出版社,4.,蘭州大學出版社,5.:機械工業(yè)出版社,6.,石家莊:河北人民出版社,7.,北京:機械工業(yè)出版