C++Builder開(kāi)發(fā)_第1頁(yè)
C++Builder開(kāi)發(fā)_第2頁(yè)
C++Builder開(kāi)發(fā)_第3頁(yè)
C++Builder開(kāi)發(fā)_第4頁(yè)
C++Builder開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩51頁(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)介

1、 C+Builder 開(kāi)發(fā)開(kāi)發(fā)Borland C+Bilder 是Interprise(Borland)公司推出的基于C+ 語(yǔ)言的快速應(yīng)用程序發(fā)(Rapid Application Development,RAD)工具,它是最先進(jìn)的開(kāi)發(fā)應(yīng)用程序的組件思想和面向?qū)ο蟮母咝дZ(yǔ)言C+融合的產(chǎn)物。C+Builder 已經(jīng)成為一個(gè)非常成熟的可視化應(yīng)用程序開(kāi)發(fā)工具,功能強(qiáng)大而且效率高。 1C+Builder 是高性能的C+開(kāi)發(fā)工具2C+Builder是優(yōu)秀的可視化應(yīng)用程序開(kāi)發(fā)工具3C+Builder具有強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)功能 4C+Builder具有強(qiáng)大的網(wǎng)絡(luò)編程能力 C+Builder的集成開(kāi)發(fā)環(huán)

2、境(IDE,Integrated Development Environment) 1 C+Builder 6.0的IDE主界面 (1)組件面板標(biāo)準(zhǔn)組件選項(xiàng)卡上的組件是構(gòu)成Windows應(yīng)用程序窗口最常用的標(biāo)準(zhǔn)元素,它們包括15種組件。主要有:主菜單(MainMenu),右鍵菜單(PopMenu),標(biāo)簽(Label),備注(Memo),命令按鈕(Button),單選按鈕(GroupBox),復(fù)選按鈕(CheckBox),列表框(ListBox),下拉式列表框(ComboBox),滾動(dòng)條(ScrollBar),組框(GroupBox)和單項(xiàng)按鈕組框(RadioGroup)。 Win32組件選項(xiàng)卡

3、上的組件是32位Windows應(yīng)用程序的常用元素,它們具有32位應(yīng)用程序的新特征,Win32組件選項(xiàng)卡共包括18種組件。分頁(yè)面控制(PageControl),圖片列表(ImageList),多文本編輯器(RichEdit),列表視圖框(ListView),樹(shù)狀目錄視圖框(TreeView),工具欄(ToolBar)和狀態(tài)欄(StatusBar)。 Data Access和Data Control組件選項(xiàng)卡上的組件是用來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用程序的。其中Data Access組件選項(xiàng)卡上的組件是數(shù)據(jù)庫(kù)應(yīng)用程序用來(lái)與數(shù)據(jù)庫(kù)建立連接的,它們也稱為數(shù)據(jù)訪問(wèn)組件。而Data Control 組件選項(xiàng)卡上的組件是

4、用來(lái)與用戶交互的,它們也稱為數(shù)據(jù)感知組件。主要是:表(Table),查詢(Query),數(shù)據(jù)源(DataSource),數(shù)據(jù)庫(kù)導(dǎo)航器(DBNavigator),數(shù)據(jù)表格(DBGrid),數(shù)據(jù)庫(kù)編輯框(DBEdit),數(shù)據(jù)庫(kù)靜態(tài)文本框(DBText),數(shù)據(jù)庫(kù)列表框(DBListBox),數(shù)據(jù)庫(kù)圖片(DBImage)。(2)對(duì)象查看器二創(chuàng)建Windows程序 創(chuàng)建Windows程序 在主菜單中選擇【File】中的【New】,在New 對(duì)話框中選擇Application,按OK。 運(yùn)行程序在菜單中選擇【Run】中的【Run】,或者直接按快捷菜單上的運(yùn)行按鈕,還有是按快捷鍵F9,就可以運(yùn)行當(dāng)前程序。編

5、譯程序在菜單中選擇【Project】中的【build project1】就可以把程序編譯成為可以直接運(yùn)行的.exe文件。保存程序在主菜單中選擇【File】中的【Save Porject As】選項(xiàng)。再把所以文件(包括.cpp,.bak)都保存到一個(gè)目錄下面。編程入門第一課HelloWorld 如上述所示,分別設(shè)置三個(gè)組件的屬性為: 2.加入事件。雙擊Button1,彈出代碼編輯窗口,在Button1Click事件中加入以下代碼:Label1-Caption=Hello C+Builder! ;雙擊Button2,在Button1Click事件中加入以下代碼:Form1Close(); 3.編譯

6、運(yùn)行HelloWorld程序。按快速欄上的運(yùn)行按鈕,或者按快捷鍵(F9)運(yùn)行HelloWorld程序。 4.保存項(xiàng)目 1 更換標(biāo)題欄上得圖標(biāo)。更改窗體(Form1)的Ico屬性,把它改為你想要的圖標(biāo)文件(*.Ico). 2 更改執(zhí)行文件的圖標(biāo)在【Project】菜單下選【Options】,彈出【Project Option】對(duì)話框,選擇【Application】頁(yè),按【LoadIcon】鍵瀏覽選擇自己想要的圖標(biāo)文件。按【OK】。按【Project】菜單下的【Build Project】編譯HelloWorld程序,得到可執(zhí)行文件(.exe)。 主菜單(MainMenu) (1)創(chuàng)建主菜單。步驟

7、1:先啟動(dòng)一個(gè)新的工程【File】-【New Application】。步驟2:從組件面板的【Standard】頁(yè),拖拉MainMenu組件到Form1上。步驟3:雙擊Form1上的MainMenu,出現(xiàn)一個(gè)菜單編輯器。步驟4:接著點(diǎn)選第一項(xiàng)主菜單的位置,并且在屬性Caption輸入字符串文件,然后點(diǎn)選第一項(xiàng)主菜單下面的第一層子菜單,繼續(xù)輸入直到第一項(xiàng)主菜單的功能建立完畢,接著輸入第二項(xiàng)主菜單,如此類推。 相關(guān)屬性有:相關(guān)屬性有: (可靜態(tài)設(shè)置,也可動(dòng)態(tài)設(shè)置) 復(fù)選標(biāo)記(Checked) 有效屬性(Enable,變灰) 隱藏屬性(Visible),在應(yīng)用程序中可根據(jù)不同用戶顯示彈出菜單(Pop

8、upMenu) 相關(guān)內(nèi)容: 在需要的form的popupmenu屬性設(shè)置為popupmenu即可 TrackButton,在組建上是左鍵還是右鍵顯示多窗體設(shè)計(jì) 從Form1調(diào)用Form2需要經(jīng)過(guò)2步 1.在Form1文件頭要包含F(xiàn)orm2庫(kù)文件: #include Unit2.h 2.在Form1的調(diào)用按紐中輸入 Form2-Show(); Form1-Hide(); 3.從Form2返回Form1情況正好相反。 4.程序結(jié)束 Form1-Close(); 進(jìn)入錄入 void _fastcall TForm2:Button1Click(TObject *Sender) Form3-Show()

9、; Form2-Hide() ; 應(yīng)用實(shí)例 使用菜單和多窗體 要求:新建一應(yīng)用程序,包含兩個(gè)窗體Form1和Form2。 Form1 有一個(gè)mainmenu菜單,可控制Form2的顯示,隱藏和關(guān)閉; Form2有一個(gè)popupmenu菜單,可控制Form1的顯示,隱藏和關(guān)閉。學(xué)生管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)與數(shù)據(jù)庫(kù)有關(guān)的控件 ADO連接方式 1.在表單中放入ADO中的ADOQuery1按紐 和 Data access中的data source按紐 2.在ADOQuery1按紐的屬性窗口中的connection string 屬性中連接你的數(shù)據(jù)庫(kù) 在data source按紐屬性中的dataset屬性選

10、擇ADOQuery1登陸窗體確定按鈕代碼確定按鈕代碼void _fastcall TForm1:Button1Click(TObject *Sender) if(Form1-Edit1-Text=|Form1-Edit2-Text=)ShowMessage(對(duì)不起,用戶名或密碼不能為空);return; /判斷edit1和edit2是否為空 ADOQuery1-SQL-Clear() ; /清除SQL緩沖區(qū)內(nèi)容 AnsiString an1=select * from mm where user1= +Form1-Edit1-Text+” ; an1+= and password1=+Form

11、1-Edit2-Text+; ADOQuery1-SQL-Add(an1); /將SQL語(yǔ)句加入到緩沖區(qū) ADOQuery1-Open() ; if(ADOQuery1-RecordCount=0)ShowMessage(用戶名或密碼不正確); return; else Form2-Show(); Form1-Hide() ; SQL語(yǔ)言的嵌入 在要執(zhí)行的過(guò)程中加入: AnsiString an1=select * .; 定義字符串型變量an1并賦于SQL語(yǔ)句 ADOQuery1-SQL-Clear() ; 清除SQL緩沖區(qū)內(nèi)容 ADOQuery1-SQL-Add(an1); 將SQL語(yǔ)句加入

12、到緩沖區(qū)ADOQuery1-Open();執(zhí)行SQL查詢命令A(yù)DOQuery1-ExecSQL();執(zhí)行SQL插入,修改,刪除命令其他 1.取C+控件變量值: 字符型: “ +變量+ 數(shù)字型:“+變量+ 如執(zhí)行時(shí)取4表單中edit2的密碼 select * from where password1=+Edit2-Text+ 2.顯示變量值或提示信息用 ShowMessage(增加成功)或ShowMessage(aa) aa=MessageBox(NULL,“真的要?jiǎng)h除該生記錄嗎?”,“詢問(wèn)窗口”,4);/NULL表示消息框/沒(méi)有擁有窗體,即窗體還是可以任意控制 if(aa=6) /選擇,是Me

13、ssageBox()函數(shù) 【函數(shù)】 MessageBox( Text, Title, nType);【函數(shù)說(shuō)明】 彈出一個(gè)消息框?!菊Z(yǔ)法】參數(shù):Text ,消息框的正文;Title ,消息框的標(biāo)題;nType ,消息框的類型。返回值:,用戶在消息框上點(diǎn)擊關(guān)閉時(shí)的選擇的按鈕?!菊f(shuō)明】其中nType對(duì)應(yīng)的對(duì)話框如下表所示:0: 確定1: 確定,取消2: 終止,重試,忽略3: 是,否,取消4: 是,否5: 重試,取消6: 取消,再試一次,繼續(xù)(注:Windows NT下不支持)返回值對(duì)應(yīng)的值如下:1: 確定2: 取消3: 終止4: 重試5: 忽略6: 是7: 否10:再試一次/管理員擁有的權(quán)限 Ra

14、dioButtion(單選按鈕),CheckBox(復(fù)選按鈕)的使用特點(diǎn)和屬性設(shè)置 ListBox和ComboBox的使用特點(diǎn) (Text,Items)靜態(tài)設(shè)置items選項(xiàng),動(dòng)態(tài)設(shè)置items選項(xiàng),如出生日期1960-2011 Label控件的AutoSize屬性 AnsiString rq,xb; rq=ComboBox2-Text+-+ComboBox3-Text+-+ComboBox4-Text; /先將出生日期復(fù)值到rq中 if(Form3-RadioButton1-Checked=1) xb=男; else xb=女 ; AnsiString an1=insert into stu

15、dent values( ; an1+= +Form3-Edit1-Text+ ,; an1+= +Form3-Edit2-Text+ ,; an1+= +xb+ ,; an1+= +ComboBox1-Text+ ,; an1+=“ ”+rq+“)” ;/rq是出生日期 ADOQuery1-SQL-Clear();/該語(yǔ)句的作用?如果不寫該語(yǔ)句會(huì)出現(xiàn)如何情況 ADOQuery1-SQL-Add(an1); ADOQuery1-ExecSQL(); ADOQuery1-Close(); ShowMessage(“增加成功”);/ 使用MessageBox()進(jìn)行錄入確定提示 /考慮當(dāng)錄入相同學(xué)

16、號(hào)時(shí),出現(xiàn)何問(wèn)題,該如何處理?/學(xué)生和管理員都擁有的權(quán)限1。Datasource 和DBGrid的使用特點(diǎn)2。靜態(tài)設(shè)置與動(dòng)態(tài)設(shè)置void _fastcall TForm1:FormCreate(TObject *Sender)ADOQuery1-SQL-Add(select sno,sname from student) ;ADOQuery1-Open();/ADOQuery1-Active=true; AnsiString xb=;if(RadioButton1-Checked=1) xb=男; if(RadioButton2-Checked=1) xb=女; ADOQuery1-SQL-C

17、lear() ; AnsiString an1= select * from student where ; if(Form4-Edit1-Text!=) /如果 Form4-Edit1-Text為空, /就不執(zhí)行 an1+= sno=+Form4-Edit1-Text+ and /當(dāng)都為空就顯示select * from student where year(csrq)1990 an1+= sno=+Form4-Edit1-Text+ and; if(Form4-Edit2-Text!=) an1+= sname=+Form4-Edit2-Text+ and; if(xb!=) an1+=

18、sex=+xb+ and; if(ComboBox1-Text!=) an1+= sdept=+ComboBox1-Text+ and; if(ComboBox2-Text!=請(qǐng)選擇) an1+= year(csrq)=+ComboBox2-Text+ and; if(ComboBox3-Text!=請(qǐng)選擇) an1+= year(csrq)Text+ and; an1+= year(csrq)1900 ; ADOQuery1-SQL-Add(an1); /ShowMessage(an1); ADOQuery1-Open() ; DBGrid1-DataSource=DataSource1;

19、/ 動(dòng)態(tài)設(shè)置數(shù)據(jù)源,當(dāng)然也可事先(靜態(tài))設(shè)置好 刷新按鈕刷新按鈕void _fastcall TForm4:Button2Click(TObject *Sender) Form4-Edit1-Text=; Form4-Edit2-Text=; RadioButton1-Checked=false; RadioButton2-Checked=false; ComboBox1-Text= ; ComboBox2-Text=請(qǐng)選擇; ComboBox3-Text=請(qǐng)選擇 ; Form4-Refresh() ; 查詢按鈕(此處必須輸入學(xué)號(hào))查詢按鈕(此處必須輸入學(xué)號(hào)) if(Form5-Edit1-T

20、ext=) ShowMessage(請(qǐng)查詢輸入要查詢的學(xué)號(hào)); return; ADOQuery1-SQL-Clear(); AnsiString an1=select sno,sname,sex,sdept,year(csrq) ; an1+= as nn,month(csrq) as ; an1+=“ yy ,day(csrq) as rr from student where ”;/nn,yy,rr的作用的作用 an1+= sno=+Form5-Edit1-Text+; ADOQuery1-SQL-Add(an1); ADOQuery1-Open(); /為各個(gè)變量賦值 Form5-Ed

21、it1-Text=ADOQuery1-FieldValuessno;/取數(shù)據(jù)庫(kù)表中字段值的內(nèi)容,當(dāng)前查詢到的記錄,當(dāng)前指針指向的取數(shù)據(jù)庫(kù)表中字段值的內(nèi)容,當(dāng)前查詢到的記錄,當(dāng)前指針指向的 Form5-Edit2-Text=ADOQuery1-FieldValuessname; AnsiString xb; xb=ADOQuery1-FieldValuessex; if(xb=男) RadioButton1-Checked=true; if(xb=女) RadioButton2-Checked=true; ComboBox1-Text=ADOQuery1-FieldValuesnn ; Comb

22、oBox2-Text=ADOQuery1-FieldValuesyy ; ComboBox3-Text=ADOQuery1-FieldValuesrr ; ComboBox4-Text=ADOQuery1-FieldValuessdept ;修改按鈕(update student setwhere) AnsiString xb,rq; if(RadioButton1-Checked=true) xb=男; else xb=女; rq=ComboBox1-Text+-+ComboBox2-Text+-+ComboBox2-Text; ADOQuery1-SQL-Clear(); AnsiStri

23、ng an1= update student set ; an1+= sno=+Form5-Edit1-Text+ ,; an1+= sname=+Form5-Edit2-Text+ ,; an1+= sex=+xb+, ; an1+= sdept=+ComboBox4-Text+ ,; an1+= csrq=+rq+; an1+= where sno=+Form5-Edit1-Text+; ADOQuery1-SQL-Add(an1); ShowMessage(an1);/注意關(guān)鍵詞之間的空格注意關(guān)鍵詞之間的空格 ADOQuery1-ExecSQL() ; ShowMessage(“修改成功

24、”);/請(qǐng)使用請(qǐng)使用messagebox進(jìn)行進(jìn)行查詢按鈕 void _fastcall TForm6:Button1Click(TObject *Sender) if(Form6-Edit1-Text=) ShowMessage(請(qǐng)查詢輸入要查詢的學(xué)號(hào)); return; ADOQuery1-SQL-Clear(); AnsiString an1=select * from student where ; an1+= sno=+Form6-Edit1-Text+; ADOQuery1-SQL-Add(an1); ADOQuery1-Open(); DBGrid1-DataSource=Data

25、Source1; 刪除按鈕void _fastcall TForm6:Button2Click(TObject *Sender) int aa; aa=MessageBox(NULL,真的要?jiǎng)h除該生記錄嗎?,詢問(wèn)窗口,4); if(aa=6) /對(duì)話框選擇是對(duì)話框選擇是 ADOQuery1-SQL-Clear(); AnsiString an1=delete from student where ; an1+= sno=+Form6-Edit1-Text+; ADOQuery1-SQL-Add(an1); ADOQuery1-ExecSQL(); DBGrid1-DataSource=Data

26、Source1;/重置數(shù)據(jù)源,即刷新作用 else return; 1。先判斷用戶賬號(hào)和舊密碼 2。判斷新密碼和確認(rèn)新密碼 3。修改該賬戶的password1 if(Form7-Edit1-Text= |Form7-Edit2-Text=) ShowMessage(對(duì)不起,用戶名或密碼不得為空); return; if(Form7-Edit3-Text= |Form7-Edit4-Text=) ShowMessage(對(duì)不起,輸入新密碼也不能為空); return; if(Form7-Edit3-Text!=Form7-Edit4-Text) ShowMessage(兩次密碼不一致); ret

27、urn; ADOQuery1-SQL-Clear() ; AnsiString an1=select * from mm ; an1+= where user1=+Form7-Edit1-Text+ ; an1+= and password1=+Form7-Edit2-Text+; ADOQuery1-SQL-Add(an1); ADOQuery1-Open() ; if(ADOQuery1-RecordCount=0) ShowMessage(對(duì)不起,用戶名或密碼錯(cuò)誤,請(qǐng)重試); return; ADOQuery1-SQL-Clear() ; an1=update mm set password1=+Form7-Edit3-Text+ ; an1+= where user1=+Form7-Edit1-Text+; ADOQuery1-SQL-Add(an1); ShowMessage(an1); ADOQuery1-

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論