《可视化程序设计教案资料.doc》由会员分享,可在线阅读,更多相关《可视化程序设计教案资料.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Good is good, but better carries it.精益求精,善益求善。可视化程序设计-媒体播放器1.两个Edit框:Text置为空。2System中MediaPlayer组件:FileName置为歌曲的路径,AutoOpen属性置为True。EnabledButton属性决定组件上的按钮是否可用。MediaPlayer可以播放AVI格式的视频。3System中Timer组件中写入:Edit1.Text:=timetostr(time();ifEdit1.Text=Edit2.TextthenMediaplayer1.play;4Button组件:写入Caption置为闹钟
2、停止MediaPlayer1.Stop;5两个Lable组件分别写现在时间和闹钟时间。6Form中的Caption可以改变Form的窗体标题。7Dialogs中的OpenDialog组件电话本1使用DatabaseDesktop制作数据库文件:File-New-Table设置FieldName,Type中单击右键选择Alpha,Size。编辑好后用EditData添加数据。添加好数据后必须关上DatabaseDesktop,否则在Delphi中会出错。2新建BDE:Object-New-Ok更改名字PATH设置为新的DB格式文件的地址。PATH中的Drives可也改变磁盘地址保存后关闭BDE否
3、则在Delphi中会出错.3(1)Table组件:DatabaseName设置为新的BDETableName设置为DB格式的表的名字Table1Open(2)DataSource组件的DataSet属性设置为Table1。(3)DBGird组件DataSource属性设为DataSource1.(4)DBEdit组件DataSource设为DataSource1,DataField设置为想要查阅字段的名称Name。(5)DataControl中DBNavigator的DataSource属性置为DataSource1计算器(1)Edit框:Text置为空(2)Button按钮:数字按钮中写Ed
4、it1.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)of1:Edit1.Text:=Floattostr(x+StrToFloat(Edit1.Text);2:Edit1.Text:=Floattostr(x-StrToFloat(Edit1.Text);3:Edit1.Text
5、:=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的文件里的内容读进去)的文件读到Memo里显示出来:在Button里写程序:Memo1.lines.
6、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;Memo1.Lines.LoadFromFile(OpenDialog1.FileN
7、ame);保存中的程序:Savedialog1.Execute;Memo1.Lines.SavetoFile(SaveDialog1.FileName);另存为:Savedialog1.Execute;Memo1.Lines.SavetoFile(SaveDialog1.FileName);退出:close;复制,粘贴,剪切里的程序分别为:Memo1.CopyToClipboard;Memo1.PasteFromClipboard;Memo1.CutToClipboard;十一月二日用Delphi访问Excel表1:新建Excel保存-利用控制面板设计别名指向Excel(控制面板-管理工具-O
8、DBC数据管理器-添加-设计别名-选择工作簿以及之前保存的Excel)-利用BDEAdministrator查看-进入Delphi编程环境-BDE中的table-DataBasename指向刚建的Excel别名-tablname用手动输入sheet1(该Excel的表格名字)-Datacontrols和DataAcess中的DataSource和DBGird(操作同以前)2:用Delphi访问数据库并对其进行修改准备好后,用Button组件一按就对该表的某一行做某种操作,此时要保证Table1已经添加了字段Button:Table1.First;WhilenotTable1.EOFdoBegi
9、nTable1.Edit;Table1No.value:=Table1No.value+1;Table1.Post;Table1.Next;End将Table1数据中的字段合法化:右击Table1-FieldsEdit-右击窗体-选AddFields-选择OK-则table中的各字段就会出现在代码编程中(为table添加字段)。3:访问数据库时进行筛选条件的设置添加组件Edit1,Edit2,Button1(Edit1,Edit2用于筛选范围)用lable显示提示Table1的Filter属性(设置条件)例如:NO=10(Table1的Filter属性置为true。Button:Table1.
10、Filtered:=false;Table1.Filter:=NO=+Edit1.Text+andNO=+Edit2.Text;Showmessage(Table1.Filter);(调试语句将Table1.Filter里的内容显示一下)Table1.Filtered:=true;当有多个条件进行筛选时不一定都设定才能筛选,用参数的方法设定筛选条件ButtonClick:varf:string;BeginTable1.Filtered:=false;f:=;(f为空)IfEdit1.Textthenf:=f+NO=+Edit1.Text+and;IfEdit2.Textthenf:=f+NO=
11、+Edit2.Text+and;f:=copy(f,1,length(f)-5);/把最后的f中的and删除Showmessage(Table1.Filter);Table1.Filter:=f;Table1.Filtered:=true;(以上对于数值型的成立)若为字符串则用以下程序,用另外的一个Edit3用于设置字符串条件在Button里加上一句话:ifEdit3.Textthenf:=f+memo=+Edit3.Text+*and;(*为通配符,不限定字符个数)建立索引:在DatabaseDesktop中建立索引,用Desktop打开数据表选择一个table-restruction-De
12、fine(起名,例如PZBCODE,PZBID)用radioButton1指向PZBCODE,用radioButton2指向PZBIDradioButton1里的程序:table1.close;table1.IndexName:=PZBCODE;table1.open;radioButton2里的程序同1的。table1.IndexName:=PZBID;十一月九日数据库连接一:BDE-Databases指向数据库-保存-打开Delphi6(1) 安装3个table组件,设置同一个DatababaseName,分别设置TableName.(2) 安装2个DataSource分别对应2个tabl
13、e设置Tata1(pza),table2(pzb).(3) 安装3个DBEdit(在DataControls中):用于显示pza的三个字段:No,Data,Memo.DBEdit1:Datasourse-Table1(pza),DateFileld-No.DBEdit2,DBEdit3:Datasourse分别-Table2,3(pza,pza),DateFileld-Data,Memo.(4) 安装DBNavigater:VisibleButtons展开,将不需要的置为false.Datasourse-Table1(pza).(5) 安装DBGrid:Datasourse-Datasours
14、e2(pzb)(用于显示pzb)连接Table1与Table2,将Table1(pza)设为主动表,Table2(pzb)设为从动表:table2(pzb)的MasterSourse-Datasourse1(pza).将table2(pzb)的MasterField打开,将两个ID进行连接(用于显示哪两个字段相连接).AvailableIndexes设置为IndexID(6) Add键确定Form:table1.open;table2.open;(7) 在DBGrid1中的pzb显示中连接另一个数据库文件KM的一个字段:连接table2与table3。Table2(pzb)的字段添加:右击ta
15、ble2(pzb)打开添加的字段,右击对话框中NewField填写Name类型String,Size30,,Fieldtype(lookup),KeyField(code),Dataset(table3(km),lookupkeys(code),ResultField(Name).字段删除:可在table中删除Delete永久删除,但可能会影响DBGrid显示或table间的连接受影响。DBGrid中“删除”即不显示该字段。右击DBGrid选中ColumnField进行删除。字段中文化:DBGrid-ColumnField-属性title中caption进行修改。十一月二十三日动态删除1:前章
16、介绍删除只能删除一项,无法动态进行删除用户想删除的内容。添加组件:Edite框。将Button里的程序改为:Query2.SQL.clear;Query2.SQL.Add(DeletefromPzawhereNum=“+EditText);Query2.Exec.SQL;Query1.Close;Query1.open;2:筛选方法一:字符串拼接。进行筛选条件:组件:Edit1,Edit2,Button1.Button1:Query1.Close;Query1.SQL.clear;Query1.SQL.Add(select*frompzaNUM=+Edit1.Text);Query1.SQL.
17、Add(AndNUM=:XandNUMparams-x-value(初值必须为记录存在的项目)3:用Query组件代替之前的三个table组件进行同一功能的编程。DBEdit1:DtaeSource-DtaeSource1;DateField-NUMDBEdit2:DtaeSource-DtaeSource1;DateField-DataDBEdit3:DtaeSource-DtaeSource1;DateField-Memo添加Query的所有字段,并在DBGrid右击选中ColumnField,删除不需要显示的字段。SQL:select*frompza,pzb(利用以上步骤只留下Name字
18、段)Wherepza.IDand(pzb.code=km.code)NUM=:xButton2:用于向下翻一个记录。Query1.Close;Query1.ParamByName(x).value=Query1.ParamByName(x).value+1;Query1.open;打印(最初的打印,用table组件)组件:table指向pza,DtaeSource指向table,DBGrid指向DtaeSource1。QReport中的组件(1)QuickRep:右击选中Reportsettings.Portrait代表纸竖着,Margin意味着纸的边界,Dataset属性:确定打印的二维表。
19、(2)QRBand(打印区域):Bandtype属性置为rbDetail(3)QRDBText(输出字段的位置):DataSet-table1QRDBText1:DateField-NUMQRDBText2:DateField-DataQRDBText3:DateField-MemoButton1:QuickRep1.preview;(让用户检查是否为要打印的数据)十一月30日打印(用Query做报表)一:最基本打印(1)Query1:DatabaseName-别名SQL:select*frompza(2)QuickRep1:DataSet-Query1(若不设置该属性则只打印一行)(3)QR
20、band1放在QuickRep1上,BandType-rbDetail.在QuickRep1上放三个QRDBText(1,2,3),其DateSet属性指向Query1,其DataFeild属性分别为:No,Date,Memo.FormActivate:Query1.open;Button1:QuickRep1.preview;二:打印表框(1)加一个QRBand2:BandType-rbTitle(title在detail之前)QReport:QRlabel放在QRBand2内,修改Caption.(2)第一个QRBand1的Frame打印左线,右线,底线。第二个QRBrand2只打印下线。
21、*打印竖线:在两个QRDBText中间放QRlabel,Caption改为“|”,长度为横格长短(自己调)三:打印标题QRBand3:BandType-rbColumnHeaderQRlabel放在QRBand3上,Caption-number四:页码QRBand4:BandType-rbpagefooter加一个QRSysData放在QRBand4上,属性Data改为Pagenumber.五:页码相加合计QRBand5:BandType-rbSummaryQRExpr1:Expression:function-sum-下拉-DatabaseField-Num-ok-ok-打印预览。用tabl
22、e做分组打印表:listgroup(分组打印)(该表必须是按分组条件排好序的)一:(1)table1:利用pzb中ID为分组原则设置DatabaseName,TableName:pzb(2)QuickRep1:DataSet-table1在QuickRep上放QRBand1,其BandType-rbDetail.(3)在QRBand1上放四个QRDBText分别指向order,code,DB,CR.Form:table1.open;button1:QuickRep1.preview;(4)QRGroup:类型为GroupHeader与BandType中的rbGroupHeader不一样。若分组
23、打印必须用QRGroup。加一个QRDBText放在QRGroup上,指向ID。加一个QRlabel1,标明以什么分组,例如:ID=在保证已经添加字段的前提下QRGroup属性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也一样)-okResetAfterPrint属性: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.-
限制150内