C++Builder开发_第1页
C++Builder开发_第2页
C++Builder开发_第3页
C++Builder开发_第4页
C++Builder开发_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C+Builder 开发开发Borland C+Bilder 是Interprise(Borland)公司推出的基于C+ 语言的快速应用程序发(Rapid Application Development,RAD)工具,它是最先进的开发应用程序的组件思想和面向对象的高效语言C+融合的产物。C+Builder 已经成为一个非常成熟的可视化应用程序开发工具,功能强大而且效率高。 1C+Builder 是高性能的C+开发工具2C+Builder是优秀的可视化应用程序开发工具3C+Builder具有强大的数据库应用程序开发功能 4C+Builder具有强大的网络编程能力 C+Builder的集成开发环

2、境(IDE,Integrated Development Environment) 1 C+Builder 6.0的IDE主界面 (1)组件面板标准组件选项卡上的组件是构成Windows应用程序窗口最常用的标准元素,它们包括15种组件。主要有:主菜单(MainMenu),右键菜单(PopMenu),标签(Label),备注(Memo),命令按钮(Button),单选按钮(GroupBox),复选按钮(CheckBox),列表框(ListBox),下拉式列表框(ComboBox),滚动条(ScrollBar),组框(GroupBox)和单项按钮组框(RadioGroup)。 Win32组件选项卡

3、上的组件是32位Windows应用程序的常用元素,它们具有32位应用程序的新特征,Win32组件选项卡共包括18种组件。分页面控制(PageControl),图片列表(ImageList),多文本编辑器(RichEdit),列表视图框(ListView),树状目录视图框(TreeView),工具栏(ToolBar)和状态栏(StatusBar)。 Data Access和Data Control组件选项卡上的组件是用来设计数据库应用程序的。其中Data Access组件选项卡上的组件是数据库应用程序用来与数据库建立连接的,它们也称为数据访问组件。而Data Control 组件选项卡上的组件是

4、用来与用户交互的,它们也称为数据感知组件。主要是:表(Table),查询(Query),数据源(DataSource),数据库导航器(DBNavigator),数据表格(DBGrid),数据库编辑框(DBEdit),数据库静态文本框(DBText),数据库列表框(DBListBox),数据库图片(DBImage)。(2)对象查看器二创建Windows程序 创建Windows程序 在主菜单中选择【File】中的【New】,在New 对话框中选择Application,按OK。 运行程序在菜单中选择【Run】中的【Run】,或者直接按快捷菜单上的运行按钮,还有是按快捷键F9,就可以运行当前程序。编

5、译程序在菜单中选择【Project】中的【build project1】就可以把程序编译成为可以直接运行的.exe文件。保存程序在主菜单中选择【File】中的【Save Porject As】选项。再把所以文件(包括.cpp,.bak)都保存到一个目录下面。编程入门第一课HelloWorld 如上述所示,分别设置三个组件的属性为: 2.加入事件。双击Button1,弹出代码编辑窗口,在Button1Click事件中加入以下代码:Label1-Caption=Hello C+Builder! ;双击Button2,在Button1Click事件中加入以下代码:Form1Close(); 3.编译

6、运行HelloWorld程序。按快速栏上的运行按钮,或者按快捷键(F9)运行HelloWorld程序。 4.保存项目 1 更换标题栏上得图标。更改窗体(Form1)的Ico属性,把它改为你想要的图标文件(*.Ico). 2 更改执行文件的图标在【Project】菜单下选【Options】,弹出【Project Option】对话框,选择【Application】页,按【LoadIcon】键浏览选择自己想要的图标文件。按【OK】。按【Project】菜单下的【Build Project】编译HelloWorld程序,得到可执行文件(.exe)。 主菜单(MainMenu) (1)创建主菜单。步骤

7、1:先启动一个新的工程【File】-【New Application】。步骤2:从组件面板的【Standard】页,拖拉MainMenu组件到Form1上。步骤3:双击Form1上的MainMenu,出现一个菜单编辑器。步骤4:接着点选第一项主菜单的位置,并且在属性Caption输入字符串文件,然后点选第一项主菜单下面的第一层子菜单,继续输入直到第一项主菜单的功能建立完毕,接着输入第二项主菜单,如此类推。 相关属性有:相关属性有: (可静态设置,也可动态设置) 复选标记(Checked) 有效属性(Enable,变灰) 隐藏属性(Visible),在应用程序中可根据不同用户显示弹出菜单(Pop

8、upMenu) 相关内容: 在需要的form的popupmenu属性设置为popupmenu即可 TrackButton,在组建上是左键还是右键显示多窗体设计 从Form1调用Form2需要经过2步 1.在Form1文件头要包含Form2库文件: #include Unit2.h 2.在Form1的调用按纽中输入 Form2-Show(); Form1-Hide(); 3.从Form2返回Form1情况正好相反。 4.程序结束 Form1-Close(); 进入录入 void _fastcall TForm2:Button1Click(TObject *Sender) Form3-Show()

9、; Form2-Hide() ; 应用实例 使用菜单和多窗体 要求:新建一应用程序,包含两个窗体Form1和Form2。 Form1 有一个mainmenu菜单,可控制Form2的显示,隐藏和关闭; Form2有一个popupmenu菜单,可控制Form1的显示,隐藏和关闭。学生管理系统的设计与开发与数据库有关的控件 ADO连接方式 1.在表单中放入ADO中的ADOQuery1按纽 和 Data access中的data source按纽 2.在ADOQuery1按纽的属性窗口中的connection string 属性中连接你的数据库 在data source按纽属性中的dataset属性选

10、择ADOQuery1登陆窗体确定按钮代码确定按钮代码void _fastcall TForm1:Button1Click(TObject *Sender) if(Form1-Edit1-Text=|Form1-Edit2-Text=)ShowMessage(对不起,用户名或密码不能为空);return; /判断edit1和edit2是否为空 ADOQuery1-SQL-Clear() ; /清除SQL缓冲区内容 AnsiString an1=select * from mm where user1= +Form1-Edit1-Text+” ; an1+= and password1=+Form

11、1-Edit2-Text+; ADOQuery1-SQL-Add(an1); /将SQL语句加入到缓冲区 ADOQuery1-Open() ; if(ADOQuery1-RecordCount=0)ShowMessage(用户名或密码不正确); return; else Form2-Show(); Form1-Hide() ; SQL语言的嵌入 在要执行的过程中加入: AnsiString an1=select * .; 定义字符串型变量an1并赋于SQL语句 ADOQuery1-SQL-Clear() ; 清除SQL缓冲区内容 ADOQuery1-SQL-Add(an1); 将SQL语句加入

12、到缓冲区ADOQuery1-Open();执行SQL查询命令ADOQuery1-ExecSQL();执行SQL插入,修改,删除命令其他 1.取C+控件变量值: 字符型: “ +变量+ 数字型:“+变量+ 如执行时取4表单中edit2的密码 select * from where password1=+Edit2-Text+ 2.显示变量值或提示信息用 ShowMessage(增加成功)或ShowMessage(aa) aa=MessageBox(NULL,“真的要删除该生记录吗?”,“询问窗口”,4);/NULL表示消息框/没有拥有窗体,即窗体还是可以任意控制 if(aa=6) /选择,是Me

13、ssageBox()函数 【函数】 MessageBox( Text, Title, nType);【函数说明】 弹出一个消息框。【语法】参数:Text ,消息框的正文;Title ,消息框的标题;nType ,消息框的类型。返回值:,用户在消息框上点击关闭时的选择的按钮。【说明】其中nType对应的对话框如下表所示:0: 确定1: 确定,取消2: 终止,重试,忽略3: 是,否,取消4: 是,否5: 重试,取消6: 取消,再试一次,继续(注:Windows NT下不支持)返回值对应的值如下:1: 确定2: 取消3: 终止4: 重试5: 忽略6: 是7: 否10:再试一次/管理员拥有的权限 Ra

14、dioButtion(单选按钮),CheckBox(复选按钮)的使用特点和属性设置 ListBox和ComboBox的使用特点 (Text,Items)静态设置items选项,动态设置items选项,如出生日期1960-2011 Label控件的AutoSize属性 AnsiString rq,xb; rq=ComboBox2-Text+-+ComboBox3-Text+-+ComboBox4-Text; /先将出生日期复值到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();/该语句的作用?如果不写该语句会出现如何情况 ADOQuery1-SQL-Add(an1); ADOQuery1-ExecSQL(); ADOQuery1-Close(); ShowMessage(“增加成功”);/ 使用MessageBox()进行录入确定提示 /考虑当录入相同学

16、号时,出现何问题,该如何处理?/学生和管理员都拥有的权限1。Datasource 和DBGrid的使用特点2。静态设置与动态设置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为空, /就不执行 an1+= sno=+Form4-Edit1-Text+ and /当都为空就显示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!=请选择) an1+= year(csrq)=+ComboBox2-Text+ and; if(ComboBox3-Text!=请选择) an1+= year(csrq)Text+ and; an1+= year(csrq)1900 ; ADOQuery1-SQL-Add(an1); /ShowMessage(an1); ADOQuery1-Open() ; DBGrid1-DataSource=DataSource1;

19、/ 动态设置数据源,当然也可事先(静态)设置好 刷新按钮刷新按钮void _fastcall TForm4:Button2Click(TObject *Sender) Form4-Edit1-Text=; Form4-Edit2-Text=; RadioButton1-Checked=false; RadioButton2-Checked=false; ComboBox1-Text= ; ComboBox2-Text=请选择; ComboBox3-Text=请选择 ; Form4-Refresh() ; 查询按钮(此处必须输入学号)查询按钮(此处必须输入学号) if(Form5-Edit1-T

20、ext=) ShowMessage(请查询输入要查询的学号); 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(); /为各个变量赋值 Form5-Ed

21、it1-Text=ADOQuery1-FieldValuessno;/取数据库表中字段值的内容,当前查询到的记录,当前指针指向的取数据库表中字段值的内容,当前查询到的记录,当前指针指向的 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);/注意关键词之间的空格注意关键词之间的空格 ADOQuery1-ExecSQL() ; ShowMessage(“修改成功

24、”);/请使用请使用messagebox进行进行查询按钮 void _fastcall TForm6:Button1Click(TObject *Sender) if(Form6-Edit1-Text=) ShowMessage(请查询输入要查询的学号); 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,真的要删除该生记录吗?,询问窗口,4); if(aa=6) /对话框选择是对话框选择是 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;/重置数据源,即刷新作用 else return; 1。先判断用户账号和旧密码 2。判断新密码和确认新密码 3。修改该账户的password1 if(Form7-Edit1-Text= |Form7-Edit2-Text=) ShowMessage(对不起,用户名或密码不得为空); return; if(Form7-Edit3-Text= |Form7-Edit4-Text=) ShowMessage(对不起,输入新密码也不能为空); 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(对不起,用户名或密码错误,请重试); 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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论