




已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
智能決策技術(shù)期末考核設(shè)計(jì)題目: 生產(chǎn)物料需求決策支持系統(tǒng)目錄智能決策技術(shù)1期末考核1一規(guī)劃與分析階段31.問(wèn)題描述31.1現(xiàn)狀31.2解決手段41.3意義42.數(shù)據(jù)處理分析42.1數(shù)據(jù)流程圖42.2物料需求分析的核心流程:52.3建立數(shù)據(jù)字典:63.抽象模型建立63.1系統(tǒng)功能結(jié)構(gòu)圖63.2系統(tǒng)業(yè)務(wù)流程圖7二設(shè)計(jì)階段81.系統(tǒng)平臺(tái)設(shè)計(jì)81.1開發(fā)平臺(tái)設(shè)計(jì)82.主要功能模塊設(shè)計(jì)82.1登錄模塊82.2主界面模塊92.3主生產(chǎn)計(jì)劃模塊102.4訂單管理模塊122.5用戶管理模塊133.數(shù)據(jù)庫(kù)設(shè)計(jì)13三實(shí)施階段161.實(shí)現(xiàn)方案162.系統(tǒng)開發(fā)、調(diào)試與運(yùn)行172.1登錄模塊設(shè)計(jì)172.2訂單管理202.3庫(kù)存管理242.4物料需求分析27四總結(jié)43一規(guī)劃與分析階段1.問(wèn)題描述1.1現(xiàn)狀 選定決策支持主題是生產(chǎn)物料需求計(jì)劃。在現(xiàn)代企業(yè)的生產(chǎn)經(jīng)營(yíng)活動(dòng)中物料是企業(yè)價(jià)值鏈中極其重要的一環(huán),物料采購(gòu)決策占有十分重要的地位。在成熟、穩(wěn)定的市場(chǎng)條件下,理性的企業(yè)決策者總是力爭(zhēng)在“正確時(shí)間”采購(gòu)“正確數(shù)量”的物料,供企業(yè)生產(chǎn)使用。物料需求計(jì)算的基本任務(wù)是:一是從最終產(chǎn)品的生產(chǎn)計(jì)劃導(dǎo)出相關(guān)物料(原材料、零部件)的需求量和需求時(shí)間(相關(guān)需求);二是根據(jù)物料的需求時(shí)間和訂貨周期來(lái)確定其開始訂貨的時(shí)間。物料需求計(jì)算的基本內(nèi)容是編制物料(包括零部件和原材料)的采購(gòu)計(jì)劃(這里不考慮生產(chǎn)的自制,假定所有的物料都進(jìn)行采購(gòu))。要正確編制物料采購(gòu)計(jì)劃,首先必須落實(shí)最終產(chǎn)品的產(chǎn)出進(jìn)度計(jì)劃,即主生產(chǎn)計(jì)劃,這是物料需求計(jì)算展開的依據(jù)。還要需要知道產(chǎn)品的零部件和原材料結(jié)構(gòu),即無(wú)聊清單,才能把主生產(chǎn)計(jì)劃展開成物料需求計(jì)劃;同時(shí),必須知道庫(kù)存數(shù)量才能準(zhǔn)確地計(jì)算出各種零部件和原材料的采購(gòu)數(shù)量。因此,以主生產(chǎn)計(jì)劃,物料清單為依據(jù)計(jì)算物料需求。物料需求計(jì)劃原理框架如下圖1.1:產(chǎn)品產(chǎn)出計(jì)劃物料需求計(jì)劃報(bào) 告物料需求計(jì)劃(數(shù)量、時(shí)間)產(chǎn)品結(jié)構(gòu)文件庫(kù)存狀態(tài)文件圖1.11.2解決手段 建立物料需求分析的決策支持系統(tǒng),完成復(fù)雜的分析過(guò)程,并自動(dòng)生成物料需求訂單,以供生產(chǎn)使用。 1.3意義應(yīng)用該系統(tǒng),可為企業(yè)生產(chǎn)過(guò)程中物料需求和選擇供應(yīng)商提供依據(jù)。2.數(shù)據(jù)處理分析2.1數(shù)據(jù)流程圖圖2 .12.2物料需求分析的核心流程:物料需求計(jì)劃主要按照反工藝路線(成品組裝件零部件)的原理,按照產(chǎn)品產(chǎn)出計(jì)劃規(guī)定的產(chǎn)品的生產(chǎn)數(shù)量和期限要求,利用產(chǎn)品結(jié)構(gòu)文件、庫(kù)存信息文件等數(shù)據(jù)資料,反工藝順序計(jì)算出各種物料的需求數(shù)量與需求期限,進(jìn)而,根據(jù)企業(yè)實(shí)際確定自制和采購(gòu)的數(shù)量和期限。物料需求計(jì)算時(shí)主要用到五種庫(kù)存狀態(tài)數(shù)據(jù):毛需求G(t)、計(jì)劃到貨量S(t)、現(xiàn)有量H(t)、凈需求量N(t)和計(jì)劃發(fā)出訂貨量R(t-L),這里t是表示周期的變量,L是提前期。計(jì)算在第t周期第i層所有物料需求量和需求時(shí)間的步驟為:第一步:確定第i層第t周期所有毛需求量。毛需求量是指生產(chǎn)中實(shí)際需要的量,0層的毛需求由主生產(chǎn)計(jì)劃確定,其余各層的毛需求量是由其上層的計(jì)劃訂單下達(dá)。第二步:確定物料第i層第t周期的凈需求量,凈需求量是指實(shí)際需要的增加量。第三步:根據(jù)凈需求量確定第t周期計(jì)劃下達(dá)數(shù)量第四步:第i層第t周期的計(jì)劃訂單下達(dá)數(shù)量,即為第i層物料的毛需求量,由毛需求量開始重復(fù)上述14步,直至最低層物料。其分析流程圖如下圖:i=0 , t=1按照時(shí)間周期計(jì)算第n層所有物料的毛需求量第0層根據(jù)產(chǎn)品計(jì)劃得出,其他層由其父項(xiàng)計(jì)劃下達(dá)取得 確定第n層第t周期凈需求量N(t) 由凈需求N(t)確定計(jì)劃定單入庫(kù)R(t-L)所有周期算完否 確定計(jì)劃定單下達(dá)所有產(chǎn)品結(jié)構(gòu)層次已分解 向下一層分解i=i+1結(jié) 束t=t+1否是是否2.3建立數(shù)據(jù)字典:總編號(hào)編號(hào)名稱來(lái)源去向包含數(shù)據(jù)結(jié)構(gòu)1-01F1客戶訂單客戶分析處理訂單號(hào)、產(chǎn)品編號(hào)、訂購(gòu)數(shù)量、交貨日期1-02F2產(chǎn)品結(jié)構(gòu)設(shè)計(jì)分析處理產(chǎn)品編號(hào)、層次、上層編號(hào)、上層需求1-03F3庫(kù)存狀態(tài)庫(kù)存分析處理產(chǎn)品編號(hào)、產(chǎn)品名稱、庫(kù)存總量、可用量、將要入庫(kù)量、安全庫(kù)存1-04F4物料訂單分析處理訂單下達(dá)訂單號(hào)、物料編號(hào)、訂購(gòu)數(shù)量、訂購(gòu)日期、有效期至1-05F5用戶信息用戶登錄判斷用戶名、密碼、權(quán)限、備注表2.33.抽象模型建立3.1系統(tǒng)功能結(jié)構(gòu)圖圖3.13.2系統(tǒng)業(yè)務(wù)流程圖圖3.2二設(shè)計(jì)階段1.系統(tǒng)平臺(tái)設(shè)計(jì)1.1開發(fā)平臺(tái)設(shè)計(jì)前臺(tái)設(shè)計(jì)工具:Borland Delphi 6后臺(tái)數(shù)據(jù)庫(kù): SQL Server 2008開發(fā)環(huán)境:硬件環(huán)境:PC電腦軟件環(huán)境:(見(jiàn)下圖)服務(wù)器操作系統(tǒng)WINDOWS 2007應(yīng)用程序SQL Server 2008客戶端操作系統(tǒng)WINDOWS 2007應(yīng)用程序Borland Delphi 61.2網(wǎng)絡(luò)運(yùn)行模式設(shè)計(jì)本系統(tǒng)采用C/S模式,即客戶端/服務(wù)器模式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為星型結(jié)構(gòu)2.主要功能模塊設(shè)計(jì)2.1登錄模塊界面截圖如下圖4.2 1:圖4.2 1 功能是驗(yàn)證用戶是否合法,是否允許登入系統(tǒng),如果合法則還要判斷其權(quán)限,以限定用戶的操作權(quán)限。2.2主界面模塊界面如圖4.2 2登錄之前及4.2 3登錄之后,其功能是實(shí)現(xiàn)在各個(gè)功能模塊的界面之間的進(jìn)行跳轉(zhuǎn): 圖4.2 2 圖4.2 32.3主生產(chǎn)計(jì)劃模塊界面如下圖4.2 4,主要是實(shí)現(xiàn)客戶訂單管理:圖4.2 4 圖4.2 5為產(chǎn)品結(jié)構(gòu)管理:圖4.2 5 圖4.2 6為物料庫(kù)存管理:圖4.2 6 圖4.2 7為物料需求分析界面:圖4.2 72.4訂單管理模塊 圖4.2 8為訂單管理界面:圖4.2 82.5用戶管理模塊 圖4.2 9為用戶管理界面,包括注冊(cè)、修改密碼、權(quán)限設(shè)置等:圖4.2 93.數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)如下:客戶訂單文件表oderform字段名稱字段描述數(shù)據(jù)類型字段長(zhǎng)度是否主鍵允許為空否Oderno訂單號(hào)Char10YNPno產(chǎn)品編號(hào)Char10NNPnum訂單總量Int4NNPselfnum自產(chǎn)量Int4NNPbuynum外購(gòu)量Int4NNOdert下單日期Datetime8NYDelit交貨日期Datetime8NYState當(dāng)前狀態(tài)Datetime10NY物料需求訂單文件表matelist字段名稱字段描述數(shù)據(jù)類型字段長(zhǎng)度是否主鍵允許為空否Mlno訂單編號(hào)Char10YNMno物料編號(hào)Char10NYMlnum訂購(gòu)數(shù)量Int4NYMltime訂購(gòu)日期Datetime8NYMlvivtime有效期至Datetime8NYRemark備注Char30NY物料庫(kù)存文件表matestor字段名稱字段描述數(shù)據(jù)類型字段長(zhǎng)度是否主鍵允許為空否Mno物料編號(hào)Char8YNMname物料名稱Char10NYMlayer所屬層次Int4NYMpreno上層編號(hào)Char8NYMprenum上層需求Int4NYMtnum庫(kù)存總量Int4NYMvnum可用數(shù)量Int4NYMwnum將要入庫(kù)量Int4NYSecnum安全庫(kù)存Int4NYMut計(jì)量單位Char4NYMfinish成品率Float8NYMadvant提前期Int4NYAvat生效日期Datetime8NYInvat失效日期Datetime8NYRemark備注Char30NY物料分析臨時(shí)表tempinfo字段名稱字段描述數(shù)據(jù)類型字段長(zhǎng)度是否主鍵允許為空否Dtime需求日期Datetime8NNDmno物料編號(hào)Char8NNDmname物料名稱Char10NNDmlayer所屬層次Int4NNDmadvantt提前期Int4NNDpreno上層編號(hào)Char8NNDprenum上層需求Int4NNDmfinish成品率Float8NNDvnum可用數(shù)量Int4NNDwnum將要入庫(kù)量Int4NNDsnum安全庫(kù)存Int4NNDdtnum毛需求量Int4NNDdnetnum凈需求量Int4NNdselfn自產(chǎn)量Int4NYdbuyn外購(gòu)量Int4NY用戶信息表userinfo字段名稱字段描述數(shù)據(jù)類型字段長(zhǎng)度是否主鍵允許為空否Username用戶名Char10YNPassswd用密碼Char10NNUright用戶權(quán)限Char10NYLastit最近登錄時(shí)間Datetime8NYLastot最近登出時(shí)間Datetime8NYRemark備注Char30NY三實(shí)施階段1.實(shí)現(xiàn)方案以一個(gè)簡(jiǎn)化了的自行車產(chǎn)品來(lái)說(shuō)明,其庫(kù)存狀態(tài)書記庫(kù)如上圖所示。其結(jié)構(gòu)示意圖為:自行車 車架(1)車輪(2) 車把(1)輪圈(1)輪胎(2)輻條(42)0層1層2層基本的物料計(jì)劃步驟為:(1) 確定自行車的總需求、凈需求和計(jì)劃定單下達(dá)的時(shí)間;(2) 根據(jù)上層的結(jié)果,確定第1層上所有物料的凈需求和計(jì)劃定單下達(dá)的時(shí)間;(3) 根據(jù)上層車輪的結(jié)果,確定第2層上所有物料的凈需求和計(jì)劃定單下達(dá)的時(shí)間。其中用到的公式有:第t周期的凈需求量=第t周期的毛需求現(xiàn)有量第t周期計(jì)劃入庫(kù)量+安全庫(kù)存不考慮批量問(wèn)題,則t-L周期計(jì)算計(jì)劃訂單下達(dá)數(shù)量等于t周期凈需求量,即: R(t-L)=N(t)2.系統(tǒng)開發(fā)、調(diào)試與運(yùn)行2.1登錄模塊設(shè)計(jì) 界面如圖圖5.4 1 主要程序代碼為:unit Login;var fmLogin: TfmLogin;implementationuses datamd, Main;$R *.dfm/自定義過(guò)程,驗(yàn)證用戶/procedure Tfmlogin.userjug(u,p,r:string);var upsql,upsql2:string;begin if u= then begin showmessage(用戶名不能為空,請(qǐng)輸入用戶名!); edtun.setfocus; end else if p= then begin showmessage(密碼不能為空,請(qǐng)輸入密碼!); edtpw.setfocus; end else begin upsql:=select usernm,passwd,uright from userinfo where usernm=+u+ and passwd =+p+ and uright=+r+; upsql2:=update userinfo set lastit=+datetostr(Now)+ where usernm=+u+; try dtmd.qryup.Close; dtmd.qryup.SQL.Clear; dtmd.qryup.SQL.Add(upsql); dtmd.qryup.Open; if not dtmd.qryup.Eof then /用戶合法,則進(jìn)入系統(tǒng) begin dtmd.qryup.Close; /更新用戶的最近登錄時(shí)間 dtmd.qryup.SQL.Clear; dtmd.qryup.SQL.Add(upsql2); dtmd.qryup.ExecSQL; fmMain.RzGroup1.Visible:=false; fmMain.RzGroup2.Visible:=true; fmMain.RzGroup2.Opened:=true; fmMain.RzGroup3.Visible:=true; fmMain.RzGroup4.Visible:=true; fmMain.RzGroup5.Visible:=true; fmMain.RzGroup5.Visible:=true; fmMain.pu:=u; fmMain.pp:=p; fmMain.pr:=r; fmMain.sttb.Panels0.Text:=fmMain.pu; fmLogin.Close; end else begin showmessage(用戶名或密碼錯(cuò)誤!); edtun.SetFocus; end except showmessage(連接數(shù)據(jù)庫(kù)失敗,請(qǐng)檢查數(shù)據(jù)庫(kù)服務(wù)是否正常!); end; end;end;/退出登錄/procedure TfmLogin.btnextClick(Sender: TObject);begin self.Close;end;/登錄按鈕/procedure TfmLogin.btnlgClick(Sender: TObject);var ri:string;begin if self.rbu.Checked then ri:=user else if self.rba.Checked then ri:=admini; userjug(trim(edtun.Text),trim(edtpw.Text),ri);end;/用戶名和密碼文本框里回車/procedure TfmLogin.edtunKeyPress(Sender: TObject; var Key: Char);var ri:string;begin if key=#13 then begin if self.rbu.Checked then ri:=user else if self.rba.Checked then ri:=admini; userjug(trim(edtun.Text),trim(edtpw.Text),ri); end;end;end.2.2訂單管理界面如圖5.4 2圖5.4 2主要代碼:unit Oderform;var fmOderform: TfmOderform;implementationuses datamd, Main;$R *.dfm/各個(gè)下拉框賦值共用過(guò)程/procedure TfmOderform.cbpbdpd(tet:string);var i,j:integer; osql:string;begin with dtmd.qryofm do begin osql:=select distinct +tet+ from oderform; /查詢唯一值 try Close; SQL.clear; SQL.Add(osql); Open; fmOderform.dbno.DataSource:=nil; fmOderform.dbgo.DataSource:=nil; First; i:=RecordCount; for j:=0 to i-1 do /循環(huán)賦值 begin if m=1 then cbno1.Items.Add(FieldByName(oderno).AsString) else if m=2 then cbno2.Items.Add(FieldByName(oderno).AsString); Next; end; except showmessage(數(shù)據(jù)庫(kù)連接失敗!請(qǐng)檢查數(shù)據(jù)庫(kù)服務(wù)是否正常!); end; end;end;procedure TfmOderform.btnexitClick(Sender: TObject);begin self.Close;end;procedure TfmOderform.cbno1DropDown(Sender: TObject);begin m:=1; self.cbno1.Items.Clear; self.cbpbdpd(oderno);end;procedure TfmOderform.cbno2DropDown(Sender: TObject);begin m:=2; self.cbno2.Items.Clear; self.cbpbdpd(oderno);end;/=/procedure TfmOderform.btnsearClick(Sender: TObject);var ssql,cdt:string;begin ssql:=select oderno as 訂單號(hào),pno as 產(chǎn)品編號(hào),mname as 產(chǎn)品名稱,pnum as 訂購(gòu)量,odert as 訂購(gòu)日期,delit as 交貨日期,state as 當(dāng)前狀態(tài) from oderform,matestor where mno=pno and pno+; if cbno1.Text then cdt:= and oderno=+trim(cbno1.Text)+; if cbno2.Text then cdt:=cdt+ and oderno=+trim(cbno2.Text)+; if datetostr(dtp1.Date) then cdt:=cdt+ and delit=+datetostr(dtp1.DateTime)+; if datetostr(dtp2.Date) then cdt:=cdt+ and delit=+datetostr(dtp2.DateTime)+; if cbnm.Text then cdt:=cdt+ and pno=+trim(cbnm.Text)+; if cbst.Text then cdt:=cdt+ and state=+trim(cbst.Text)+; ssql:=ssql+cdt; with dtmd.qryofm do begin try Close; SQL.clear; SQL.Add(ssql); Open; fmOderform.dbno.DataSource:=dtmd.dsofm; /動(dòng)態(tài)指定數(shù)據(jù)感知組件的數(shù)據(jù)源 fmOderform.dbgo.DataSource:=dtmd.dsofm; except showmessage(數(shù)據(jù)庫(kù)連接失敗!請(qǐng)檢查數(shù)據(jù)庫(kù)服務(wù)是否正常!); end; end;end;/*是否允許編輯*procedure TfmOderform.edorClick(Sender: TObject);begin if fmOderform.edor.Checked then /允許編輯 begin fmOderform.dbgo.Options:=fmOderform.dbgo.Options-dgRowSelect+dgediting; fmOderform.dbno.VisibleButtons:=nbinsert,nbdelete,nbedit,nbpost,nbcancel,nbrefresh; end else /不允許編輯 begin fmOderform.dbgo.Options:=fmOderform.dbgo.Options+dgRowSelect-dgediting; fmOderform.dbno.VisibleButtons:=nbfirst,nbprior,nbnext,nblast; endend;procedure TfmOderform.FormCreate(Sender: TObject);begin fmOderform.dbno.VisibleButtons:=nbfirst,nbprior,nbnext,nblast; fmOderform.dbgo.Options:=fmOderform.dbgo.Options+dgRowSelect-dgediting;end;procedure TfmOderform.FormShow(Sender: TObject);begin if fmMain.sttb.Panels0.Text= then begin /游客不能操作數(shù)據(jù)庫(kù) self.GroupBox1.Enabled:=false; self.GroupBox2.Enabled:=false; end else begin /游客不能操作數(shù)據(jù)庫(kù) self.GroupBox1.Enabled:=true; self.GroupBox2.Enabled:=true; end; / self.dtp1.DateTime:=now; self.dtp2.DateTime:=now;end;/單擊DBGrid標(biāo)題時(shí)排序/procedure TfmOderform.dbgoTitleClick(Column: TColumn);var i:integer;begin if dtmd.qryofm.Active then begin for i:=1 to dbgo.Columns.Count do begin dbgo.Columnsi-1.Title.Font.Color:=clWindowText;/恢復(fù)所有標(biāo)題字體為默認(rèn) dbgo.Columnsi-1.Title.Font.Style:=; end; if dtmd.qryofm.Sort(Column.FieldName+ ASC) then begin dtmd.qryofm.Sort:=Column.FieldName+ ASC; Column.Title.Font.Color:= clRed; /改變標(biāo)題行字體為紅色,表示當(dāng)前的排序方式為升序 Column.Title.Font.Style:= fsBold; end else begin dtmd.qryofm.Sort:=Column.FieldName+ DESC; Column.Title.Font.Color:=clBlue; /改變標(biāo)題行字體為藍(lán)色,表示當(dāng)前的排序方式為降序 Column.Title.Font.Style:=fsBold; end end else showmessage(記錄為空,不能排序!);end;end.2.3庫(kù)存管理界面如圖5.4 3: 圖5.4 3主要代碼:procedure TfmMstorage.cbmDropDown(tet:string);var i,j:integer; lsql:string;begin with dtmd.qrys do begin lsql:=select distinct +tet+ from matestor; /查詢唯一值 try Close; SQL.clear; SQL.Add(lsql); Open; fmMstorage.dbgd22.DataSource:=nil; fmMstorage.nvg23.DataSource:=nil; First; i:=RecordCount; for j:=0 to i-1 do /循環(huán)賦值 begin if m=1 then cno23.Items.Add(FieldByName(mno).AsString) else if m=2 then cno24.Items.Add(FieldByName(mno).AsString) else if m=3 then cnm22.Items.Add(FieldByName(mname).AsString) else if m=4 then cbly22.Items.Add(FieldByName(mlayer).AsString); Next; end; except showmessage(數(shù)據(jù)庫(kù)連接失敗!請(qǐng)檢查數(shù)據(jù)庫(kù)服務(wù)是否正常!); end; end;end;procedure TfmMo23DropDown(Sender: TObject);begin m:=1; o23.Items.Clear; self.cbmDropDown(mno);end;procedure TfmMo24DropDown(Sender: TObject);begin m:=2; o24.Items.Clear; self.cbmDropDown(mno);end;procedure TfmMm22DropDown(Sender: TObject);begin m:=3; m22.Items.Clear; self.cbmDropDown(mname);end;procedure TfmMstorage.cbly22DropDown(Sender: TObject);begin m:=4; self.cbly22.Items.Clear; self.cbmDropDown(mlayer);end;/*查詢/procedure TfmMstorage.searchClick(Sender: TObject);var ssql,cdt:string;begin ssql:=select mno as 物料編號(hào),mname as 物料名稱,mlayer as 層次,mtnum as 庫(kù)存總量,mvnum as 可用量,mwnum as 即將入庫(kù)量,secnum as 安全庫(kù)存,invat as 有效期至 from matestor where mno+; if cno23.Text then cdt:= and mno=+trim(cno23.Text)+; if cno24.Text then cdt:=cdt+ and mno=+trim(cno24.Text)+; if cnm22.Text then cdt:=cdt+ and mname=+trim(cnm22.Text)+; if datetostr(dtp22.Date) then cdt:=cdt+ and invat=+datetostr(dtp22.DateTime)+; if datetostr(dtp23.Date) then cdt:=cdt+ and invat=+datetostr(dtp23.DateTime)+; if cbly22.Text then cdt:=cdt+ and mlayer=+trim(cbly22.Text)+; ssql:=ssql+cdt; with dtmd.qrys do begin try Close; SQL.clear; SQL.Add(ssql); Open; fmMstorage.dbgd22.DataSource:=dtmd.dss;/動(dòng)態(tài)指定數(shù)據(jù)感知組件的數(shù)據(jù)源 fmMstorage.nvg23.DataSource:=dtmd.dss; except showmessage(數(shù)據(jù)庫(kù)連接失敗!請(qǐng)檢查數(shù)據(jù)庫(kù)服務(wù)是否正常!); end; end;end;/*退出/procedure TfmMstorage.exitClick(Sender: TObject);begin self.Close;end;/*是否允許編輯*procedure TfmMstorage.checkClick(Sender: TObject);begin if fmMstorage.check.Checked then /允許編輯 begin fmMstorage.dbgd22.Options:=fmMstorage.dbgd22.Options-dgRowSelect+dgediting; fmMstorage.nvg23.VisibleButtons:=nbinsert,nbdelete,nbedit,nbpost,nbcancel,nbrefresh; end else /不允許編輯 begin fmMstorage.dbgd22.Options:=fmMstorage.dbgd22.Options+dgRowSelect-dgediting; fmMstorage.nvg23.VisibleButtons:=nbfirst,nbprior,nbnext,nblast; endend;/*創(chuàng)建時(shí)默認(rèn)不允許編輯*procedure TfmMstorage.FormCreate(Sender: TObject);begin fmMstorage.dbgd22.Options:=fmMstorage.dbgd22.Options+dgRowSelect-dgediting; fmMstorage.nvg23.VisibleButtons:=nbfirst,nbprior,nbnext,nblast;end;procedure TfmMstorage.FormShow(Sender: TObject);begin if fmMain.sttb.Panels0.Text= then begin /游客不能操作數(shù)據(jù)庫(kù) self.GroupBox1.Enabled:=false; self.GroupBox2.Enabled:=false; end else begin /用戶可以操作數(shù)據(jù)庫(kù) self.GroupBox1.Enabled:=true; self.GroupBox2.Enabled:=true; end;end;end.2.4物料需求分析 界面如下圖5.4 4:圖5.4 4主要代碼:procedure TfmDmdbreak.FormCreate(Sender: TObject);begin fmDmdbreak.dbgo.Options:=fmDmdbreak.dbgo.Options+dgRowSelect-dgediting; fmDmdbreak.dbg2.Options:=fmDmdbreak.dbgo.Options+dgRowSelect-dgediting; fmDmdbreak.dbno.VisibleButtons:=nbfirst,nbprior,nbnext,nblast; fmDmdbreak.nvg2.VisibleButtons:=nbfirst,nbprior,nbnext,nblast;end;/=顯示窗體=procedure TfmDmdbreak.FormShow(Sender: TObject);begin if fmMain.sttb.Panels0.Text= then begin /游客不能操作數(shù)據(jù)庫(kù) self.gpb1.Enabled:=false; self.gpb2.Enabled:=false; end else begin /用戶可以操作數(shù)據(jù)庫(kù) self.gpb2.Enabled:=true; self.gpb2.Enabled:=true; self.btninit.Enabled:=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小數(shù)乘小數(shù)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)西師大版
- 第二章 有理數(shù)的運(yùn)算-綜合與實(shí)踐-進(jìn)位制的認(rèn)識(shí)與探究 大單元教學(xué)設(shè)計(jì)方案 2024-2025學(xué)年人教版數(shù)學(xué)七年級(jí)上冊(cè)
- 2025年中國(guó)抗衰老肽護(hù)膚品行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國(guó)聚酯漆刷行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 尿毒癥防治指南
- 設(shè)備采購(gòu)培訓(xùn)課件
- 信用專題培訓(xùn)課件
- 2024年全球及中國(guó)汽車鋰電池鋁制包外殼行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 中國(guó)耐熱壓制玻璃行業(yè)市場(chǎng)深度調(diào)查評(píng)估及投資方向研究報(bào)告
- 2025年中國(guó)電子地圖市場(chǎng)運(yùn)行態(tài)勢(shì)及行業(yè)發(fā)展前景預(yù)測(cè)報(bào)告
- 2024年西藏公安機(jī)關(guān)招聘警務(wù)輔助人員筆試真題
- 2025-2030中國(guó)顯示驅(qū)動(dòng)芯片行業(yè)競(jìng)爭(zhēng)風(fēng)險(xiǎn)及前景發(fā)展創(chuàng)新研判報(bào)告
- 2024年昆明市公安局招聘勤務(wù)輔警真題
- 客房部?jī)?nèi)部管理制度
- 小學(xué)生數(shù)學(xué)學(xué)習(xí)習(xí)慣的培養(yǎng)講座
- DeepSeek+AI大模型賦能制造業(yè)智能化供應(yīng)鏈解決方案
- 2025河南省豫地科技集團(tuán)有限公司社會(huì)招聘169人筆試參考題庫(kù)附帶答案詳解析集合
- T/CCOA 45-2023氣膜鋼筋混凝土球形倉(cāng)儲(chǔ)糧技術(shù)規(guī)程
- 《船舶行業(yè)重大生產(chǎn)安全事故隱患判定標(biāo)準(zhǔn)》解讀與培訓(xùn)
- 2025年中考生物模擬考試卷(附答案)
- 11《大家排好隊(duì)》(教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治二年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論