2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  湖南農(nóng)業(yè)大學(xué)</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  學(xué)校餐飲IC卡系統(tǒng)</b></p><p>  UNIVERSITY CANTEEN IC CARD SESTEM</p><p>  學(xué)生姓名 :

2、 </p><p>  年級專業(yè) : </p><p>  指導(dǎo)老師 : </p><p>  學(xué) 院 : </p><p>  提交日期:2007年6月</p><p><b>  目 錄</b><

3、/p><p>  前 言………………………………………………………………………………………………2</p><p><b>  1.需求分析3</b></p><p>  1.1數(shù)據(jù)需求分析3</p><p>  1.1.1數(shù)據(jù)字典3</p><p>  1.1.2系統(tǒng)數(shù)據(jù)流圖5</p&

4、gt;<p>  1.2應(yīng)用系統(tǒng)功能分析5</p><p>  2 概要結(jié)構(gòu)設(shè)計(jì)5</p><p><b>  3邏輯結(jié)構(gòu)設(shè)計(jì)7</b></p><p>  4詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)7</p><p>  4.1建立數(shù)據(jù)庫和表7</p><p>  4.2系統(tǒng)主窗體9</p

5、><p>  4.3管理員登錄窗口12</p><p>  4.4辦理新卡窗口15</p><p>  4.5 IC卡注銷窗口20</p><p>  4.6充值窗口234</p><p>  4.7管理員權(quán)限窗口26</p><p>  4.8關(guān)于系統(tǒng)窗口311</p>

6、<p><b>  5總結(jié)311</b></p><p><b>  參考文獻(xiàn)311</b></p><p>  致 謝…………………………………………………………………………………32</p><p><b>  學(xué)校餐飲IC卡系統(tǒng)</b></p><p>&l

7、t;b>  作 者: </b></p><p><b>  指導(dǎo)老師:</b></p><p> ?。ê限r(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院2005級計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)3班,長沙 410128)</p><p>  摘 要:隨著高校招生規(guī)模的不斷擴(kuò)大,學(xué)校的后勤管理變得越來越復(fù)雜,一個(gè)重要的方面就是解決學(xué)生的用餐問題。一直延續(xù)

8、的餐票制度已經(jīng)不能適應(yīng)龐大的信息管理需要。引進(jìn)一個(gè)信息管理系統(tǒng)就成為解決這一問題的迫切要求。餐飲IC卡系統(tǒng)是根據(jù)學(xué)生的學(xué)籍信息來發(fā)放一張IC智能卡,學(xué)生在卡上充入一定金額,就餐時(shí)進(jìn)行刷卡,無現(xiàn)金交易,避免了工作人員找零而耽誤時(shí)間。該系統(tǒng)具有辦理新卡、IC卡掛失、IC卡充值、消費(fèi)查詢等功能,為工作人員和學(xué)生就餐提供了方便。</p><p>  關(guān)鍵字:餐飲IC卡、SQL2000數(shù)據(jù)庫、Delphi 7</p&

9、gt;<p>  CANTEEN IC CARD SESTEM FOR CAMPUS</p><p><b>  Author:</b></p><p><b>  Tutor:</b></p><p>  (Computer and Information Engineering college, Comp

10、uter Science and Technology Class 3,Grade2005, Hunan Agricultural University, ChangSha 410128)</p><p>  Abstract: With enrollments in colleges and universities continues to expand, schools logistical managem

11、ent has become increasingly complex, An important aspect is to solve the problem of meals. It has extended the meal ticket system can not cope with large-scale information management needs. The introduction of an informa

12、tion management system for solving the problem is an urgent requirement. Canteen IC card system is based on the information of any pupil to release an IC smart cards students on</p><p>  Key words: Canteen I

13、C Card, SQL2000 Server, Delphi 7</p><p><b>  前言</b></p><p>  隨著高校招生規(guī)模的不斷擴(kuò)大,學(xué)校的后勤管理變得越來越復(fù)雜,一個(gè)重要的方面就是解決學(xué)生的用餐問題。一直延續(xù)的餐票制度已經(jīng)不能適應(yīng)龐大的信息管理需要。引進(jìn)一個(gè)信息管理系統(tǒng)就成為解決這一問題的迫切要求。該系統(tǒng)應(yīng)具有辦理新卡、IC卡掛失、IC卡充值、

14、消費(fèi)查詢、密碼修改等功能。</p><p><b>  1.需求分析</b></p><p><b>  1.1數(shù)據(jù)需求分析</b></p><p>  學(xué)籍信息:記錄學(xué)生的基本信息,以便于辦理新卡調(diào)出檔案之用。包括學(xué)生姓名、學(xué)號、性別、年級、班級、專業(yè)。</p><p>  卡信息:卡號、金額、密

15、碼、辦卡時(shí)間。</p><p>  卡用戶信息:卡號、學(xué)號、姓名、性別、年級、專業(yè)、班級、辦卡時(shí)間</p><p>  管理員信息:姓名、性別、出生日期、編號、密碼、權(quán)限</p><p><b>  1.1.1數(shù)據(jù)字典</b></p><p>  表1.卡的各項(xiàng)數(shù)據(jù)描述</p><p>  卡={

16、卡號、學(xué)號、金額、密碼,存取方式:更新}</p><p>  表2.卡用戶的各項(xiàng)數(shù)據(jù)描述</p><p>  卡用戶={卡號、學(xué)號、姓名、性別、年級、專業(yè)</p><p>  班級、辦卡日期,存取方式:更新}</p><p>  表3.學(xué)籍信息的各項(xiàng)數(shù)據(jù)描述</p><p>  學(xué)籍={學(xué)號、姓名、性別、年級、班級、專

17、業(yè),</p><p><b>  存取方式:更新}</b></p><p>  表4.用戶消費(fèi)的各項(xiàng)數(shù)據(jù)描述</p><p>  用戶消費(fèi)={卡號、學(xué)號、消費(fèi)日期、消費(fèi)金額,</p><p><b>  存取方式:更新}</b></p><p>  表5.管理員信息的各項(xiàng)數(shù)據(jù)

18、描述</p><p>  管理員={編號、性別、姓名、密碼、出生年月、</p><p>  是否超級管理員,存取方式:更新}</p><p>  數(shù)據(jù)流描述1={管理員登錄請求,用戶名、密碼,數(shù)據(jù)來源:用戶輸入,</p><p>  數(shù)據(jù)流向:在管理員信息表中查找比對}</p><p>  數(shù)據(jù)流描述2={辦理新卡,學(xué)

19、號、卡號、密碼、金額,數(shù)據(jù)來源:學(xué)籍</p><p>  信息表中查詢結(jié)果,數(shù)據(jù)流向:將新卡信息加入到卡信息表、卡用戶信息表中}</p><p>  數(shù)據(jù)流描述3={撤銷卡,卡號、卡用戶表信息,數(shù)據(jù)來源:在卡信息表和卡用戶信息表中與對應(yīng)卡號相關(guān)的信息,數(shù)據(jù)流向:去除學(xué)籍信息表以外的其他表中與被撤銷卡卡號相對應(yīng)的信息}</p><p>  1.1.2系統(tǒng)數(shù)據(jù)流圖<

20、;/p><p>  1.2應(yīng)用系統(tǒng)功能分析</p><p><b>  圖2 系統(tǒng)功能模塊</b></p><p><b>  2 概要結(jié)構(gòu)設(shè)計(jì)</b></p><p>  圖3 學(xué)生信息實(shí)體E-R圖</p><p>  圖4 卡用戶實(shí)體信息E-R圖</p><

21、;p>  圖5 管理員實(shí)體信息E-R圖</p><p>  圖6 IC卡實(shí)體信息E-R圖</p><p><b>  圖7 系統(tǒng)E-R圖</b></p><p><b>  3邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  根據(jù)餐飲IC卡系統(tǒng)數(shù)據(jù)需求分析,設(shè)計(jì)出數(shù)據(jù)的邏輯結(jié)構(gòu)</p>

22、<p>  數(shù)據(jù)表名稱 主要字段</p><p>  學(xué)籍信息表: 記錄學(xué)生的基本信息,以便于辦理新卡調(diào)出檔案之用。包括學(xué)生姓名、學(xué)號、性別、年級、班級、專業(yè)。</p><p>  卡 信 息 表:卡號、金額、密碼、辦卡時(shí)間。</p><p>  卡用戶信息表:卡號、學(xué)號、姓名、性別、年級、專業(yè)、班級、辦卡時(shí)間</

23、p><p>  管理員信息表:姓名、性別、出生日期、編號、密碼、權(quán)限</p><p><b>  4詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p>  4.1建立數(shù)據(jù)庫和表</p><p>  本系統(tǒng)采用的數(shù)據(jù)庫由SQL SERVER 2000搭建,建立名為“canteen”的數(shù)據(jù)庫。各數(shù)據(jù)表的建表SQL腳本語言如下。</p&

24、gt;<p>  創(chuàng)建“學(xué)籍信息”表的腳本</p><p>  CREATE TABLE [dbo].[學(xué)籍信息] (</p><p>  [學(xué)號] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [姓名] [char] (10) COLLATE Chinese_PRC_CI_AS

25、NOT NULL ,</p><p>  [性別] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [年級] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [班級] [char] (10) COLLATE Chinese_PR

26、C_CI_AS NOT NULL ,</p><p>  [專業(yè)] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  創(chuàng)建卡信息表的腳本</

27、b></p><p>  CREATE TABLE [dbo].[卡信息] (</p><p>  [卡號] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [學(xué)號] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p&

28、gt;  [金額] [float] NOT NULL ,</p><p>  [狀態(tài)] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [密碼] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL </p><p>  ) ON [PRIMARY]</p&g

29、t;<p><b>  GO</b></p><p>  創(chuàng)建卡用戶信息表的腳本</p><p>  CREATE TABLE [dbo].[卡用戶信息] (</p><p>  [卡號] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [學(xué)號]

30、 [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [姓名] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [性別] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p&g

31、t;  [年級] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [專業(yè)] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [班級] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p>

32、<p>  [辦卡日期] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  創(chuàng)建管理員表的腳本</b></p><p> 

33、 CREATE TABLE [dbo].[管理員表] (</p><p>  [編號] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [性別] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [姓名] [char] (10) COLL

34、ATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [密碼] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [出生年月] [datetime] NOT NULL ,</p><p>  [是否超級管理員] [char] (10) COLLATE Chinese_

35、PRC_CI_AS NOT NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  4.2系統(tǒng)主窗體</b></p><p><b>  圖8 系統(tǒng)主窗體</b></p><p>

36、;  系統(tǒng)主窗體主要代碼如下:</p><p>  uses loginF, //管理員登錄窗口</p><p>  addcardF, //辦理新卡窗口</p><p>  addmoneyF, //IC卡充值窗口</p><p>  adminF, //

37、管理員權(quán)限窗口</p><p>  dropcardF, //IC卡注銷窗口</p><p>  aboutF; //關(guān)于系統(tǒng)窗口</p><p>  //************狀態(tài)欄顯示是期函數(shù)************</p><p>  function Load_Week(const Dt

38、ime: TDateTime): string;</p><p><b>  const</b></p><p>  dstr: array[1..7] of string = ('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '

39、星期六');</p><p><b>  begin</b></p><p>  result := dstr[DayOfWeek(dtime)];</p><p><b>  end;</b></p><p>  //*************狀態(tài)欄顯示日期,星期,系統(tǒng)時(shí)間 *******

40、****</p><p>  procedure Tmain.Timer1Timer(Sender: TObject);</p><p><b>  begin</b></p><p>  state.Panels[1].Text := DateToStr(Now);</p><p>  state.Panels[2].

41、Text := Load_Week(Now);</p><p>  state.Panels[4].Text := TimeToStr(Now);</p><p><b>  end;</b></p><p>  //***************管理員登錄窗口************</p><p>  procedu

42、re TMain.N2Click(Sender: TObject);</p><p><b>  begin</b></p><p>  if SpeedButton1.Enabled=true then</p><p><b>  begin</b></p><p>  messagedlg(&#

43、39;已經(jīng)有管理員登錄!',mtInformation,[mbOK],0);</p><p><b>  exit;</b></p><p><b>  end;</b></p><p>  login.Show;</p><p><b>  end;</b></

44、p><p>  //****************退出系統(tǒng)************</p><p>  procedure Tmain.N3Click(Sender: TObject);</p><p><b>  begin</b></p><p><b>  close;</b></p>

45、;<p><b>  end;</b></p><p>  //********打開辦理新卡窗口************</p><p>  procedure Tmain.N4Click(Sender: TObject);</p><p><b>  begin</b></p><p&g

46、t;  addcard.Show;</p><p><b>  end;</b></p><p>  //***********打開IC卡注銷窗口***********</p><p>  procedure Tmain.IC4Click(Sender: TObject);</p><p><b>  begi

47、n</b></p><p>  dropcard.Show;</p><p><b>  end;</b></p><p>  //************打開IC卡充值窗口************</p><p>  procedure Tmain.IC5Click(Sender: TObject);<

48、;/p><p><b>  begin</b></p><p>  addmoney.Show;</p><p><b>  end;</b></p><p>  //************打開管理員權(quán)限設(shè)置窗口*****</p><p>  procedure Tmain.N

49、6Click(Sender: TObject);</p><p><b>  begin</b></p><p>  admin.Show;</p><p><b>  end;</b></p><p>  //*******辦理新卡快捷鍵**********</p><p>

50、;  procedure Tmain.SpeedButton1Click(Sender: TObject);</p><p><b>  begin</b></p><p>  N4Click(Sender);</p><p><b>  end;</b></p><p>  //*******IC

51、卡注銷快捷鍵************</p><p>  procedure Tmain.SpeedButton4Click(Sender: TObject);</p><p><b>  begin</b></p><p>  IC4Click(Sender);</p><p><b>  end;</

52、b></p><p>  //***********IC卡充值快捷鍵************</p><p>  procedure Tmain.SpeedButton5Click(Sender: TObject);</p><p><b>  begin</b></p><p>  IC5Click(Sender

53、);</p><p><b>  end;</b></p><p>  //*************管理員權(quán)限窗口快捷鍵***********</p><p>  procedure Tmain.SpeedButton6Click(Sender: TObject);</p><p><b>  begin&l

54、t;/b></p><p>  N6Click(Sender);</p><p><b>  end;</b></p><p>  //**********關(guān)于系統(tǒng)提示**********</p><p>  procedure Tmain.N11Click(Sender: TObject);</p>

55、<p><b>  begin</b></p><p>  about.Show;</p><p><b>  end;</b></p><p><b>  end.</b></p><p>  4.3管理員登錄窗口</p><p><

56、b>  圖9管理員登路窗口</b></p><p>  管理員登錄窗口主要代碼如下:</p><p><b>  public</b></p><p>  { Public declarations }</p><p>  procedure clear();//定義清除函數(shù)clear();</p

57、><p><b>  end;</b></p><p><b>  var</b></p><p>  login: Tlogin;</p><p>  implementation</p><p>  {$R *.dfm}</p><p>  uses

58、mainF;</p><p>  // *********清除輸入框信息函數(shù)clear()***********</p><p>  procedure Tlogin.clear;</p><p><b>  begin</b></p><p>  edit1.Clear;</p><p>  e

59、dit2.Clear;</p><p><b>  end;</b></p><p>  //***********用戶登錄過程************</p><p>  procedure Tlogin.BitBtn1Click(Sender: TObject);</p><p><b>  var<

60、/b></p><p>  number,user,passw,issuper:string;</p><p><b>  begin</b></p><p>  user:=trim(edit1.Text);</p><p>  passw:=trim(edit2.Text);</p><p&

61、gt;  //要求在用戶姓名輸入框和密碼輸入框中 輸入信息</p><p>  if user='' then</p><p><b>  begin</b></p><p>  messagedlg('請輸入用戶姓名!',mtWarning,[mbOK],0);</p><p>  ed

62、it1.SetFocus;</p><p><b>  exit;</b></p><p><b>  end;</b></p><p>  if passw='' then</p><p><b>  begin</b></p><p>

63、;  messagedlg('請輸入用戶密碼!',mtWarning,[mbOK],0);</p><p>  edit2.SetFocus;</p><p><b>  exit;</b></p><p><b>  end;</b></p><p>  //查看是否存在此用戶&l

64、t;/p><p>  adoquery1.Close;</p><p>  adoquery1.SQL.clear;</p><p>  adoquery1.SQL.Add('select * from 管理員表 where 姓名 ='''+user+'''and 密碼='''+pas

65、sw+'''');</p><p>  adoquery1.Open;</p><p>  number:=adoquery1.FieldByName('編號').AsString;</p><p>  issuper:=trim(adoquery1.fieldByName('是否超級管理員').AsS

66、tring);</p><p>  if (number<>'') then</p><p><b>  begin</b></p><p><b>  //打開可執(zhí)行權(quán)限</b></p><p>  main.IC1.Enabled:=true; //卡登記&l

67、t;/p><p>  main.N4.Enabled:=true; //辦理新卡</p><p>  main.IC4.Enabled:=true; //IC卡注銷</p><p>  main.IC5.Enabled:=true; //IC卡充值</p><p>  main.N5.Enabled:=true;

68、 //密碼修改起始欄</p><p>  main.SpeedButton1.Enabled:=true; //辦理新卡</p><p>  main.SpeedButton4.Enabled:=true; //IC卡注銷快捷鍵</p><p>  main.SpeedButton5.Enabled:=true; //IC卡充值快捷鍵</p

69、><p>  if (issuper='是') then</p><p><b>  begin</b></p><p>  //超級管理員可進(jìn)行管理員權(quán)限操作</p><p>  main.N6.Enabled:=true; //管理員權(quán)限</p><p>  

70、main.SpeedButton6.Enabled:=true; //管理員權(quán)限快捷鍵 </p><p><b>  end;</b></p><p>  messagedlg(‘ 登錄成功! ',mtInformation,[mbOK],0);</p><p><b>  close;</b></p>

71、;<p><b>  end</b></p><p><b>  else</b></p><p>  messagedlg('用戶名或密碼錯(cuò)誤,請核對!',mtWarning,[mbOK],0);</p><p><b>  end;</b></p>&l

72、t;p>  //*************退出窗口并清空信息*************</p><p>  procedure Tlogin.BitBtn2Click(Sender: TObject);</p><p><b>  begin</b></p><p><b>  clear();</b></p&

73、gt;<p><b>  close;</b></p><p><b>  end;</b></p><p>  //**********啟動窗口時(shí)清空信息***********</p><p>  procedure Tlogin.FormCreate(Sender: TObject);</p>

74、<p><b>  begin</b></p><p><b>  clear();</b></p><p><b>  end;</b></p><p>  //***********輸入完密碼之后按回車鍵,執(zhí)行登錄***********</p><p>  p

75、rocedure Tlogin.Edit2KeyPress(Sender: TObject; var Key: Char);</p><p><b>  begin</b></p><p>  if key=#13 then</p><p>  bitbtn1.Click;</p><p><b>  end;

76、</b></p><p><b>  end.</b></p><p><b>  4.4辦理新卡窗口</b></p><p>  圖10 辦理新卡窗口</p><p>  辦理新卡窗口主要代碼如下:</p><p><b>  public</b

77、></p><p>  { Public declarations }</p><p>  //學(xué)號,姓名,出生年月,性別,專業(yè),年級字段</p><p>  studno,name,bornyear,man,clas,major,grade:string;</p><p>  procedure clear(); //定義輸入框信息

78、函數(shù)clear();</p><p><b>  end;</b></p><p><b>  var</b></p><p>  addcard: Taddcard;</p><p>  implementation</p><p>  {$R *.dfm}</p&g

79、t;<p>  uses mainF;</p><p>  //清除輸入框信息函數(shù)clear();</p><p>  procedure Taddcard.clear;</p><p><b>  begin</b></p><p>  edit1.Clear;</p><p> 

80、 edit2.Clear;</p><p>  edit3.Clear;</p><p>  edit4.Clear;</p><p>  edit5.Clear;</p><p>  edit6.Clear;</p><p>  radiobutton1.Checked:=false;</p><

81、p>  radiobutton2.Checked:=false;</p><p><b>  end;</b></p><p>  //**********顯示總共卡記錄數(shù)**************</p><p>  procedure Taddcard.DataSource1DataChange(Sender: TObject; F

82、ield: TField);</p><p><b>  begin</b></p><p>  edit4.Text:=inttostr(adotable1.RecordCount);</p><p><b>  end;</b></p><p>  //**********搜索學(xué)生信息*****

83、*************</p><p>  procedure Taddcard.BitBtn3Click(Sender: TObject);</p><p><b>  begin</b></p><p>  if (trim(edit1.Text)='')and (trim(edit2.Text)='')

84、 then</p><p><b>  begin</b></p><p>  MessageDlg(‘請輸入查詢條件! ',mtWarning,[mbOk], 0);</p><p><b>  exit;</b></p><p><b>  end;</b><

85、/p><p>  adoquery1.Close;</p><p>  adoquery1.SQL.Clear;</p><p>  adoquery1.SQL.Add('select * from '+adotable1.TableName);</p><p>  if radiobutton1.Checked then<

86、/p><p><b>  begin</b></p><p><b>  //按學(xué)號查詢</b></p><p>  adoquery1.SQL.Add('where('+radiobutton1.Caption+'like ''%'+trim(edit1.Text)+'

87、%'')');</p><p>  edit1.SetFocus;</p><p>  edit2.Clear;</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin

88、</b></p><p><b>  //按姓名查詢</b></p><p>  adoquery1.SQL.Add('where('+radiobutton2.Caption+'like ''%'+edit2.Text+'%'')');</p><p>

89、;  edit2.SetFocus;</p><p>  edit1.Clear;</p><p><b>  end;</b></p><p>  adoquery1.Open;</p><p>  studno:=trim(adoquery1.fieldByName('學(xué)號').AsString);&

90、lt;/p><p>  name:=trim(adoquery1.fieldByName('姓名').AsString);</p><p>  clas:=trim(adoquery1.fieldByName('班級').AsString);</p><p>  man:=trim(adoquery1.fieldByName('性

91、別').AsString);</p><p>  grade:=trim(adoquery1.fieldByName('年級').AsString);</p><p>  major:=trim(adoquery1.fieldByName('專業(yè)').AsString);</p><p>  //將查詢得到的數(shù)據(jù)通過復(fù)制到數(shù)據(jù)

92、庫中</p><p>  adotable1.Clone(adoquery1,ltUnspecified);</p><p>  adoquery1.Close;</p><p><b>  end;</b></p><p>  //***********辦理新卡***************</p>&l

93、t;p>  procedure Taddcard.BitBtn1Click(Sender: TObject);</p><p><b>  var</b></p><p>  cardno,cardpassw,money,date,tempcard,tempno:string;</p><p><b>  begin</b

94、></p><p>  cardno:=trim(edit3.Text);</p><p>  cardpassw:=trim(edit5.Text);</p><p>  money:=trim(edit6.Text);</p><p>  date:=datetostr(now);</p><p>  //要

95、求用戶輸入基本信息</p><p>  if cardno='' then</p><p><b>  begin</b></p><p>  MessageDlg(‘請輸入新卡號!',mtWarning,[mbOk], 0);</p><p>  edit3.SetFocus;</p>

96、;<p><b>  exit;</b></p><p><b>  end;</b></p><p>  if cardpassw='' then</p><p><b>  begin</b></p><p>  MessageDlg(‘請為新

97、卡確定密碼!',mtWarning,[mbOk], 0);</p><p>  edit5.SetFocus;</p><p><b>  exit;</b></p><p><b>  end;</b></p><p>  if money='' then</p>

98、;<p><b>  begin</b></p><p>  MessageDlg(‘請輸入要充入的金額!',mtWarning,[mbOk], 0);</p><p>  edit6.SetFocus;</p><p><b>  exit;</b></p><p><

99、b>  end;</b></p><p>  //查詢是否已經(jīng)存在此卡號,如是則要求另輸入一新卡號</p><p>  adoquery3.Close;</p><p>  adoquery3.SQL.Clear;</p><p>  adoquery3.SQL.Add('select * from 卡用戶信息 wh

100、ere 卡號='''+cardno+'''');</p><p>  adoquery3.Open;</p><p>  tempcard:=trim(adoquery3.fieldByName('卡號').AsString);</p><p>  adoquery3.Close;</

101、p><p>  //查詢該生是否已經(jīng)辦理了卡,不允許一人多卡</p><p>  adoquery2.Close;</p><p>  adoquery2.SQL.Clear;</p><p>  if radiobutton1.Checked then</p><p>  adoquery2.SQL.Add('s

102、elect * from 卡用戶信息 where 學(xué)號='''+trim(edit1.Text)+'''')</p><p><b>  else</b></p><p>  adoquery2.SQL.Add('select * from 卡用戶信息 where 姓名=''

103、9;+trim(edit2.Text)+'''');</p><p>  adoquery2.Open;</p><p>  tempno:=trim(adoquery2.fieldByName('學(xué)號').AsString);</p><p>  adoquery2.Close;</p><p&g

104、t;  if tempno<>'' then</p><p><b>  begin</b></p><p>  MessageDlg(‘該生已經(jīng)辦理了餐卡!',mtWarning,[mbOk], 0);</p><p><b>  exit;</b></p><p&

105、gt;<b>  end;</b></p><p>  if tempcard<>’’then</p><p><b>  begin</b></p><p>  MessageDlg(‘已經(jīng)存在此卡號,請重新輸入新卡號!’,mtWarning,[mbOk], 0);</p><p> 

106、 edit3.SetFocus;</p><p><b>  exit;</b></p><p><b>  end;</b></p><p>  //在卡用戶信息表中添加新卡記錄</p><p>  adoquery1.Close;</p><p>  adoquery1.

107、SQL.Clear;</p><p>  adoquery1.SQL.Add('insert into 卡用戶信息(卡號,學(xué)號,姓名,性別,年級,專業(yè),班級,辦卡日期) values ('''+cardno+''','''+studno+''','''+name+''

108、','''+man+''','''+grade+''','''+major+''','''+clas+''','''+date+''')');</p><p>

109、  adoquery1.Open;</p><p>  adoquery1.Close;</p><p>  //在卡信息表中添加新記錄</p><p>  adoquery2.Close;</p><p>  adoquery2.SQL.Clear;</p><p>  adoquery2.SQL.Add('

110、insert into 卡信息(卡號,密碼,學(xué)號,金額,狀態(tài)) values ('''+cardno+''','''+cardpassw+''','''+studno+''','''+money+''',''正常''

111、)');</p><p>  adoquery2.ExecSQL;</p><p>  adoquery2.Close;</p><p>  MessageDlg(‘新卡辦理成功!',mtInformation,[mbOk], 0);</p><p><b>  end;</b></p>&

112、lt;p>  //********輸入完查詢條件后按回車執(zhí)行查詢功能**********</p><p>  procedure Taddcard.Edit1KeyPress(Sender: TObject; var Key: Char);</p><p><b>  begin</b></p><p>  if key=#13 then

113、</p><p>  bitbtn3.Click;</p><p><b>  end;</b></p><p>  // ***********輸入完查詢條件之后按回車執(zhí)行查詢功能********</p><p>  procedure Taddcard.Edit2KeyPress(Sender: TObject; v

114、ar Key: Char);</p><p><b>  begin</b></p><p>  if key=#13 then</p><p>  bitbtn3.Click;</p><p><b>  end;</b></p><p>  //***********輸入

115、完充值金額后按回車執(zhí)行增加新卡功能*******</p><p>  procedure Taddcard.Edit6KeyPress(Sender: TObject; var Key: Char);</p><p><b>  begin</b></p><p>  if key=#13 then</p><p>  

116、Bitbtn1.Click;</p><p><b>  end;</b></p><p>  4.5 IC卡注銷窗口</p><p>  圖11 IC卡注銷窗口</p><p>  IC卡注銷窗口主要代碼如下:</p><p><b>  public</b></p&

117、gt;<p>  { Public declarations }</p><p>  procedure clear(); //定義清除函數(shù)clear();</p><p><b>  end;</b></p><p><b>  var</b></p><p>  dropcard:

118、 Tdropcard;</p><p>  implementation</p><p>  {$R *.dfm}</p><p>  uses mainF;</p><p>  //*****清除各選選項(xiàng)的信息*******</p><p>  procedure Tdropcard.clear;</p>

119、<p><b>  begin</b></p><p>  edit1.Clear;</p><p>  edit2.Clear;</p><p>  checkbox1.Checked:=false;</p><p>  radiobutton1.Checked:=false;</p>&l

120、t;p>  radiobutton2.Checked:=false;</p><p><b>  end;</b></p><p>  //***********搜索卡信息*************</p><p>  procedure Tdropcard.BitBtn3Click(Sender: TObject);</p>

121、<p><b>  begin</b></p><p>  if (trim(edit1.Text)=‘’)and (trim(edit2.Text)='') then</p><p><b>  begin</b></p><p>  messagedlg('請輸入查詢條件!!

122、9;,mtWarning,[mbOK],0);</p><p>  edit1.SetFocus;</p><p><b>  exit;</b></p><p><b>  end;</b></p><p>  adoquery1.Close;</p><p>  adoq

123、uery1.SQL.Clear;</p><p>  adoquery1.SQL.Add('select * from '+adotable1.TableName);</p><p>  if radiobutton1.Checked then</p><p><b>  begin</b></p><p&g

124、t;  adoquery1.SQL.Add('where('+radiobutton1.Caption+'like ''%'+edit1.Text+'%'')');</p><p>  edit1.SetFocus;</p><p>  edit2.Clear;</p><p><

125、b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  adoquery1.SQL.Add('where('+radiobutton2.Caption+'like ''%'+e

126、dit2.Text+'%'')');</p><p>  edit2.SetFocus;</p><p>  edit1.Clear;</p><p><b>  end;</b></p><p>  adoquery1.open;</p><p>  adotab

127、le1.Clone(adoquery1,ltUnspecified);</p><p>  adoquery1.Close;</p><p><b>  clear();</b></p><p><b>  end;</b></p><p>  //*************注銷IC卡*******

128、************</p><p>  procedure Tdropcard.BitBtn1Click(Sender: TObject);</p><p><b>  begin</b></p><p>  if (trim(edit1.Text)='')and (trim(edit2.Text)='')

129、 then</p><p><b>  begin</b></p><p>  messagedlg('請輸入要注銷的卡號或相應(yīng)學(xué)號!!',mtWarning,[mbOK],0);</p><p>  edit1.SetFocus;</p><p><b>  exit;</b>&l

130、t;/p><p><b>  end;</b></p><p>  if checkbox1.Checked then</p><p><b>  begin</b></p><p>  //********刪除卡用戶信息表中的記錄******</p><p>  adoquer

131、y1.Close;</p><p>  adoquery1.SQL.Clear;</p><p>  if radiobutton1.Checked then</p><p>  adoquery1.SQL.Add('delete from 卡用戶信息 where 卡號='''+trim(edit1.Text)+''

132、;'')</p><p><b>  else</b></p><p>  adoquery1.SQL.Add('delete from 卡用戶信息 where 學(xué)號='''+edit2.Text+'''');</p><p>  adoquery1.ExecS

133、QL;</p><p>  //********刪除卡信息表中的記錄*******</p><p>  adoquery2.Close;</p><p>  adoquery2.SQL.Clear;</p><p>  if radiobutton1.Checked then</p><p>  adoquery2.S

134、QL.Add('delete from 卡信息 where 卡號='''+trim(edit1.Text)+'''')</p><p><b>  else</b></p><p>  adoquery2.SQL.Add('delete from 卡信息where學(xué)號 ='

135、9;'+trim(edit2.Text)+'''');</p><p>  adoquery2.ExecSQL;</p><p>  adoquery2.Close;</p><p>  //*********刪除用戶消費(fèi)中的相應(yīng)記錄*********</p><p>  adoquery1.SQL.C

136、lear;</p><p>  if radiobutton1.Checked then</p><p>  adoquery1.SQL.Add('delete from 用戶消費(fèi)where卡號='''+trim(edit1.Text)+'''')</p><p><b>  else&l

137、t;/b></p><p>  adoquery1.SQL.Add('delete from 用戶消費(fèi)where 學(xué)號='''+trim(edit2.Text)+'''');</p><p>  adoquery1.ExecSQL;</p><p>  adoquery1.Close;<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論