《可视化程序设计.doc》由会员分享,可在线阅读,更多相关《可视化程序设计.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流可视化程序设计.精品文档.媒体播放器1.两个Edit框:Text置为空。2 System中MediaPlayer组件:FileName置为歌曲的路径,AutoOpen属性置为True。EnabledButton属性决定组件上的按钮是否可用。MediaPlayer可以播放AVI格式的视频。3 System中Timer组件中写入: Edit1.Text:=timetostr(time(); if Edit1.Text= Edit2.Text thenMediaplayer1.play;4 Button组件:写入 Caption置为闹钟停止Medi
2、aPlayer1.Stop;5 两个Lable组件分别写现在时间和闹钟时间。6 Form 中的Caption可以改变Form的窗体标题。7 Dialogs中的 OpenDialog组件电话本1 使用Database Desktop制作数据库文件 :File-New-Table设置Field Name,Type中单击右键选择Alpha,Size。编辑好后用Edit Data添加数据。添加好数据后必须关上Database Desktop,否则在Delphi中会出错。2新建BDE :Object-New-Ok更改名字 PATH设置为新的DB格式文件的地址。PATH中的Drives可也改变磁盘地址 保
3、存后关闭BDE否则在Delphi中会出错.3(1)Table组件:DatabaseName设置为新的BDETableName设置为DB格式的表的名字Table1Open(2)DataSource组件的DataSet属性设置为Table1。(3)DBGird组件DataSource属性设为DataSource1.( 4 )DBEdit组件Data Source设为Data Source1,DataField设置为想要查阅字段的名称Name。(5)Data Control中DBNavigator的Data Source属性置为Data Source1计算器(1)Edit框:Text置为空(2)Bu
4、tton按钮:数字按钮中写Edit1.Text:=Edit1.Text+1;10清除按钮Edit1.Text:=;小数点Edit1.Text:=Edit1.Text+.;在implementation前定义变量x,y:real; a:integer;+:x:=StrToFloat(Edit1.Text); a:=1; Edit1.Text:= ;- : a=2*: a=3/: a=4=按钮:begincase (a) of 1: Edit1.Text:=Floattostr(x+StrToFloat(Edit1.Text); 2: Edit1.Text:=Floattostr(x-StrToF
5、loat(Edit1.Text); 3: Edit1.Text:=Floattostr(x*StrToFloat(Edit1.Text); 4: Edit1.Text:=Floattostr(x/StrToFloat(Edit1.Text);end;end;end.记事本(Memo组件:)(1)改变Memo上显示的内容:改变lines属性。(2)若要在Edit里输入的内容显示到Memo里:在Button里写程序:Memo1.lines.Add(Edit1.Text); Edit1.Text:=;(3)一按Button就将指定位置(例:D盘里文件名为AAA.txt的文件里的内容读进去)的文件读到
6、Memo里显示出来:在Button里写程序:Memo1.lines.LoadFromFile(D:AAA.txt);(4)Memo里输入的内容被保存到指定位置(例:保存到D盘BBB记事本里,若不存在BBB文件则新建一个)在Button里写程序:Memo1.lines.SavetoFile(D:BBB.txt);(5)Dialogs里的OpenDialog和SaveDialog组件以及Standard里的Memo,Mainmenu组件。Mainmenu主要设置功能栏,例如弄成这个样子:文件 编辑 帮助 打开 复制 保存 粘贴 另存为 剪切 退出打开中的程序:Opendialog1.Execute
7、; Memo1.Lines.LoadFromFile(OpenDialog1.FileName);保存中的程序:Savedialog1.Execute; Memo1.Lines.SavetoFile(SaveDialog1.FileName);另存为:Savedialog1.Execute; Memo1.Lines.SavetoFile(SaveDialog1.FileName);退出:close;复制,粘贴,剪切里的程序分别为:Memo1.CopyToClipboard; Memo1.PasteFromClipboard; Memo1.CutToClipboard;十一月二日 用Delphi
8、访问Excel表1:新建Excel保存-利用控制面板设计别名指向Excel(控制面板-管理工具-ODBC数据管理器-添加-设计别名-选择工作簿以及之前保存的Excel)-利用BDE Administrator查看-进入Delphi编程环境-BDE中的table-DataBasename指向刚建的Excel别名-tablname用手动输入sheet1(该Excel的表格名字)-Datacontrols和DataAcess中的DataSource和DBGird(操作同以前)2:用Delphi访问数据库并对其进行修改准备好后,用Button组件一按就对该表的某一行做某种操作,此时要保证Table1已
9、经添加了字段Button:Table1.First; While not Table1.EOF do Begin Table1.Edit; Table1No.value:= Table1No.value+1;Table1.Post; Table1.Next;End将Table1数据中的字段合法化:右击Table1-Fields Edit-右击窗体-选Add Fields-选择OK-则table中的各字段就会出现在代码编程中(为table添加字段)。3:访问数据库时进行筛选条件的设置 添加组件Edit1,Edit2,Button1(Edit1,Edit2用于筛选范围)用lable显示提示Tabl
10、e1的Filter属性(设置条件)例如:NO=10 (Table1的Filter属性置为true。Button: Table1.Filtered:=false; Table1.Filter:=NO=+Edit1.Text+ andNO=+ Edit2.Text; Showmessage(Table1.Filter);(调试语句将Table1.Filter里的内容显示一下) Table1.Filtered:= true;当有多个条件进行筛选时不一定都设定才能筛选,用参数的方法设定筛选条件ButtonClick: var f:string; Begin Table1.Filtered:=false
11、; f:= ;(f为空) If Edit1.Text then f:=f+NO=+ Edit1.Text+and; If Edit2.Text then f:=f+NO=+ Edit2.Text+and; f:=copy(f,1,length(f)-5);/把最后的f中的and删除 Showmessage(Table1.Filter); Table1.Filter:=f; Table1.Filtered:= true;(以上对于数值型的成立)若为字符串则用以下程序,用另外的一个Edit3用于设置字符串条件 在Button里加上一句话: if Edit3.Text then f:=f+memo=
12、+ Edit3.Text+*and;(*为通配符,不限定字符个数)建立索引:在Database Desktop中建立索引,用Desktop打开数据表选择一个table-restruction-Define(起名,例如PZBCODE,PZBID)用radioButton1指向PZBCODE,用radioButton2指向PZBID radioButton1里的程序:table1.close; table1.IndexName:=PZBCODE; table1.open;radioButton2里的程序同1的。table1.IndexName:=PZBID;十一月九日 数据库连接一:BDE - D
13、atabases指向数据库 - 保存-打开Delphi6(1) 安装3个table组件,设置同一个DatababaseName,分别设置TableName.(2) 安装2个DataSource分别对应2个table设置Tata1(pza),table2(pzb).(3) 安装3个DBEdit(在Data Controls中):用于显示pza的三个字段:No,Data,Memo.DBEdit1:Datasourse-Table1(pza),DateFileld-No.DBEdit2, DBEdit3: Datasourse分别-Table2,3(pza,pza), DateFileld-Data
14、,Memo.(4) 安装DBNavigater: Visible Buttons展开,将不需要的置为false. Datasourse-Table1(pza).(5) 安装DBGrid: Datasourse- Datasourse2(pzb)(用于显示pzb)连接Table1与Table2,将Table1(pza)设为主动表,Table2(pzb)设为从动表:table2(pzb)的MasterSourse- Datasourse1(pza). 将table2(pzb)的MasterField打开,将两个ID进行连接(用于显示哪两个字段相连接). Available Indexes设置为In
15、dexIDAdd键确定(6) Form: table1.open; table2.open;(7) 在DBGrid1中的pzb显示中连接另一个数据库文件KM的一个字段:连接table2与table3。Table2(pzb)的字段添加:右击table2(pzb)打开添加的字段,右击对话框中New Field填写Name类型String,Size30,,Fieldtype(lookup),KeyField(code),Dataset(table3(km),lookup keys(code),Result Field(Name).字段删除:可在table中删除Delete永久删除,但可能会影响DBG
16、rid显示或table间的连接受影响。DBGrid中“删除”即不显示该字段。右击DBGrid选中Column Field进行删除。字段中文化:DBGrid-Column Field-属性title中caption进行修改。十一月二十三日 动态删除1:前章介绍删除只能删除一项,无法动态进行删除用户想删除的内容。添加组件:Edite框。 将Button里的程序改为:Query2.SQL.clear;Query2.SQL.Add(Delete from Pza where Num = “+Edit Text);Query2.Exec.SQL;Query1.Close;Query1.open;2:筛选
17、方法一:字符串拼接。进行筛选条件:组件:Edit1,Edit2,Button1.Button1: Query1.Close; Query1.SQL.clear; Query1.SQL.Add(select* from pza NUM=+Edit1.Text); Query1.SQL.Add(And NUM=:X and NUMparams-x-value (初值必须为记录存在的项目)3:用Query组件代替之前的三个table组件进行同一功能的编程。 DBEdit1: DtaeSource- DtaeSource1; DateField-NUM DBEdit2: DtaeSource- Dta
18、eSource1; DateField-Data DBEdit3: DtaeSource- DtaeSource1; DateField-Memo添加Query的所有字段,并在DBGrid右击选中Column Field,删除不需要显示的字段。SQL:select *from pza,pzb (利用以上步骤只留下Name字段) Where pza.ID and (pzb.code=km.code) NUM=:xButton2:用于向下翻一个记录。 Query1.Close;Query1.ParamByName(x).value=Query1.ParamByName(x).value+1; Qu
19、ery1.open;打印(最初的打印,用table组件)组件:table指向pza,DtaeSource指向table, DBGrid指向DtaeSource1。 QReport中的组件(1)QuickRep: 右击选中Report settings. Portrait代表纸竖着,Margin意味着纸的边界,Dataset属性:确定打印的二维表。 (2)QRBand(打印区域): Bandtype属性置为rbDetail (3)QRDBText(输出字段的位置): DataSet-table1 QRDBText1: DateField-NUM QRDBText2: DateField-Data
20、 QRDBText3: DateField-MemoButton1: QuickRep1.preview;(让用户检查是否为要打印的数据)十一月30日 打印(用Query做报表)一:最基本打印(1)Query1:Database Name-别名 SQL:select *from pza(2)QuickRep1: DataSet-Query1(若不设置该属性则只打印一行)(3)QRband1放在QuickRep1上,BandType-rbDetail.在QuickRep1上放三个QRDBText(1,2,3),其DateSet属性指向Query1,其DataFeild属性分别为:No,Date,
21、Memo.FormActivate: Query1.open;Button1: QuickRep1.preview;二:打印表框(1)加一个QRBand2: BandType-rbTitle(title在detail之前)QReport:QRlabel放在QRBand2内,修改Caption.(2)第一个QRBand1的Frame打印左线,右线,底线。第二个QRBrand2只打印下线。* 打印竖线:在两个QRDBText中间放QRlabel,Caption改为“|”,长度为横格长短(自己调)三:打印标题QRBand3: BandType-rbColumnHeaderQRlabel放在QRBan
22、d3上,Caption-number四:页码QRBand4:BandType-rbpagefooter加一个QRSysData放在QRBand4上,属性Data改为Pagenumber.五:页码相加合计QRBand5: BandType-rbSummaryQRExpr1: Expression: function-sum-下拉-Database Field-Num-ok-ok-打印预览。用table做分组打印表:list group (分组打印)(该表必须是按分组条件排好序的)一:(1)table1:利用pzb中ID为分组原则 设置Database Name,Table Name:pzb(2)
23、 QuickRep1:DataSet-table1 在QuickRep上放QRBand1,其BandType-rbDetail.(3)在QRBand1上放四个QRDBText分别指向order,code,DB,CR.Form: table1.open; button1: QuickRep1.preview;(4) QRGroup: 类型为Group Header与BandType中的rbGroupHeader不一样。若分组打印必须用QRGroup。 加一个QRDBText放在QRGroup上,指向ID。加一个QRlabel1,标明以什么分组,例如:ID= 在保证已经添加字段的前提下QRGrou
24、p属性Expression- DatabaseField-table-ID: table1.ID 如果未按照ID顺序排好,则设置table属性IndexName:pzbID二:将每个ID分格QRGroup:上,左,右线。 QRBand1:左,右 加QRBand2:BandType-rbGroupFooter 左,右,下三:合计DB与CR分别在QRBand2上安两个QRExpr,对应DB,CRQRExpr:Expression-sum-continue-DatabaseField-table1.DB(CR也一样)-okResetAfter Print属性:true (每组合计一次)十二月七日 用两个form打印 Form1显示二维表,Form2打印。1:两个table分别指向pza,pzb.两个DataSource.2: table2的MasterSource属性- DataSource1, table2的MasterFeild将两个ID相连。3:是三个DBEdit指向table1的no,memo,date.4: 安装DBNavigter. DBGrid指向table2.