可视化程序设计精编版文档格式.docx
- 文档编号:7274084
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:12
- 大小:20.80KB
可视化程序设计精编版文档格式.docx
《可视化程序设计精编版文档格式.docx》由会员分享,可在线阅读,更多相关《可视化程序设计精编版文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
(5)DataControl中DBNavigator的DataSource属性置为
DataSource1
计算器
(1)Edit框:
Text置为空
(2)Button按钮:
数字按钮中写Edit1.Text:
=Edit1.Text+'
1'
;
1~0
清除按钮Edit1.Text:
='
'
小数点Edit1.Text:
.'
在implementation前定义变量
x,y:
real;
a:
integer;
+:
x:
=StrToFloat(Edit1.Text);
a:
=1;
Edit1.Text:
'
-:
a=2
*:
a=3
/:
a=4
=按钮:
begin
case(a)of
1:
=Floattostr(x+StrToFloat(Edit1.Text));
2:
=Floattostr(x-StrToFloat(Edit1.Text));
3:
=Floattostr(x*StrToFloat(Edit1.Text));
4:
=Floattostr(x/StrToFloat(Edit1.Text));
end;
end.
记事本(Memo组件:
)
(1)改变Memo上显示的内容:
改变lines属性。
(2)若要在Edit里输入的内容显示到Memo里:
在Button里写程序:
Memo1.lines.Add(Edit1.Text);
Edit1.Text:
=‘’;
(3)一按Button就将指定位置(例:
D盘里文件名为AAA.txt的文件里的内容读进去)的文件读到Memo里显示出来:
Memo1.lines.LoadFromFile(‘D:
\AAA.txt’);
(4)Memo里输入的内容被保存到指定位置(例:
保存到D盘BBB记事本里,若不存在BBB文件则新建一个)
Memo1.lines.SavetoFile(‘D:
\BBB.txt’);
(5)Dialogs里的OpenDialog和SaveDialog组件以及Standard里的Memo,Mainmenu组件。
Mainmenu主要设置功能栏,例如弄成这个样子:
文件编辑帮助
打开复制
保存粘贴
另存为剪切
退出
打开中的程序:
Opendialog1.Execute;
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
保存中的程序:
Savedialog1.Execute;
Memo1.Lines.SavetoFile(SaveDialog1.FileName);
另存为:
Memo1.Lines.SavetoFile(SaveDialog1.FileName);
退出:
close;
复制,粘贴,剪切里的程序分别为:
Memo1.CopyToClipboard;
Memo1.PasteFromClipboard;
Memo1.CutToClipboard;
十一月二日用Delphi访问Excel表
1:
新建Excel保存->
利用控制面板设计别名指向Excel(控制面板->
管理工具->
ODBC数据管理器->
添加->
设计别名->
选择工作簿以及之前保存的Excel)->
利用BDEAdministrator查看->
进入Delphi编程环境->
BDE中的table->
DataBasename指向刚建的Excel别名->
tablname用手动输入sheet1(该Excel的表格名字)->
Datacontrols和DataAcess中的DataSource和DBGird(操作同以前)
2:
用Delphi访问数据库并对其进行修改
准备好后,用Button组件一按就对该表的某一行做某种操作,此时要保证Table1已经添加了字段
Button:
Table1.First;
WhilenotTable1.EOFdo
Begin
Table1.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.Filtered:
=false;
Table1.Filter:
=’NO>
=’+Edit1.Text+’andNO<
=’+Edit2.Text;
Showmessage(Table1.Filter);
(调试语句将Table1.Filter里的内容显示一下)
=true;
当有多个条件进行筛选时不一定都设定才能筛选,用参数的方法设定筛选条件
ButtonClick:
varf:
string;
Begin
f:
=’‘;
(f为空)
IfEdit1.Text<
>
’‘thenf:
=f+’NO>
=’+Edit1.Text+’and’;
IfEdit2.Text<
=f+’NO<
=’+Edit2.Text+’and’;
=copy(f,1,length(f)-5);
//把最后的f中的and删除
Table1.Filter:
=f;
(以上对于数值型的成立)若为字符串则用以下程序,用另外的一个Edit3用于设置字符串条件
在Button里加上一句话:
ifEdit3.Text<
‘’thenf:
=f+’memo=’’’+Edit3.Text+’*’’and’;
(*为通配符,不限定字符个数)
建立索引:
在DatabaseDesktop中建立索引,用Desktop打开数据表选择一个table->
restruction->
Define(起名,例如PZBCODE,PZBID)
用radioButton1指向PZBCODE,用radioButton2指向PZBID
radioButton1里的程序:
table1.close;
table1.IndexName:
=‘PZBCODE’;
table1.open;
radioButton2里的程序同1的。
table1.IndexName:
=‘PZBID’;
十一月九日数据库连接
一:
BDE->
Databases指向数据库->
保存->
打开Delphi6
(1)安装3个table组件,设置同一个DatababaseName,分别设置TableName.
(2)安装2个DataSource分别对应2个table设置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->
Datasourse2(pzb)(用于显示pzb)
连接Table1与Table2,将Table1(pza)设为主动表,Table2(pzb)设为从动表:
①table2(pzb)的MasterSourse->
Datasourse1(pza).②将table2(pzb)的MasterField打开,将两个ID进行连接(用于显示哪两个字段相连接).AvailableIndexes设置为IndexID
Add键确定
(6)
(7)Form:
table2.open;
(8)在DBGrid1中的pzb显示中连接另一个数据库文件KM的一个字段:
连接table2与table3。
Table2(pzb)的字段添加:
右击table2(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:
前章介绍删除只能删除一项,无法动态进行删除用户想删除的内容。
添加组件:
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.Add(‘AndNUM<
=’+Edit2.Text);
Query1.open;
筛选方法二:
参数设置。
Query1SQL属性:
selete*frompza‘whereNUM>
=:
XandNUM<
Y
Params属性:
打开显示框,选中X,设置X的属性Datatype:
integerparams:
ptlnput
Button代码:
Query1.ParamByName(‘X’).Value:
=strtoint(Edit1.Text);
Query1.ParamByName(‘Y’).Value:
=strtoint(Edit2.Text);
为X,Y赋初值:
Query1->
params->
x->
value(初值必须为记录存在的项目)
用Query组件代替之前的三个table组件进行同一功能的编程。
DBEdit1:
DtaeSource->
DtaeSource1;
DateField->
NUM
DBEdit2:
Data
DBEdit3:
Memo
添加Query的所有字段,并在DBGrid右击选中ColumnField,删除不需要显示的字段。
SQL:
select*frompza,pzb(利用以上步骤只留下Name字段)
Wherepza.IDand(pzb.code=km.code)↑NUM=:
x
Button2:
用于向下翻一个记录。
Query1.ParamByName(‘x’).value=Query1.ParamByName(‘x’).value+1;
打印(最初的打印,用table组件)
table指向pza,DtaeSource指向table,DBGrid指向DtaeSource1。
QReport中的组件
(1)QuickRep:
右击选中Reportsettings.Portrait代表纸竖着,Margin意味着纸的边界,Dataset属性:
确定打印的二维表。
(2)QRBand(打印区域):
Bandtype属性置为rbDetail
(3)QRDBText(输出字段的位置):
DataSet->
table1
QRDBText1:
NUMQRDBText2:
QRDBText3:
QuickRep1.preview;
(让用户检查是否为要打印的数据)
十一月30日打印(用Query做报表)
最基本打印
(1)Query1:
DatabaseName->
别名
SQL:
select*frompza
(2)QuickRep1:
Query1(若不设置该属性则只打印一行)
(3)QRband1放在QuickRep1上,BandType->
rbDetail.
在QuickRep1上放三个QRDBText(1,2,3),其DateSet属性指向Query1,其DataFeild属性分别为:
No,Date,Memo.
FormActivate:
二:
打印表框
(1)加一个QRBand2:
BandType->
rbTitle(title在detail之前)QReport:
QRlabel放在QRBand2内,修改Caption.
(2)第一个QRBand1的Frame打印左线,右线,底线。
第二个QRBrand2只打印下线。
*打印竖线:
在两个QRDBText中间放QRlabel,Caption改为“|”,长度为横格长短(自己调)
三:
打印标题
QRBand3:
rbColumnHeader
QRlabel放在QRBand3上,Caption->
number
四:
页码
QRBand4:
BandType->
rbpagefooter
加一个QRSysData放在QRBand4上,属性Data改为Pagenumber.
五:
页码相加合计
QRBand5:
rbSummary
QRExpr1:
Expression:
function->
sum->
下拉->
DatabaseField->
Num->
ok->
打印预览。
用table做分组打印表:
listgroup(分组打印)(该表必须是按分组条件排好序的)
(1)table1:
利用pzb中ID为分组原则设置DatabaseName,TableName:
pzb
机器人教学存在的问题
(2)QuickRep1:
DataSet->
table1在QuickRep上放QRBand1,其BandType->
教学诊断(3)在QRBand1上放四个QRDBText分别指向order,code,DB,CR.
极昼的知识Form:
button1:
描写学习态度的成语(4)QRGroup:
类型为GroupHeader与BandType中的rbGroupHeader不一样。
若分组打印必须用QRGroup。
加一个QRDBText放在QRGroup上,指向ID。
加一个QRlabel1,标明以什么分组,例如:
ID=在保证已经添加字段的前提下QRGroup属性Expression->
DatabaseField->
table->
ID:
table1.ID
如果未按照ID顺序排好,则设置table属性IndexName:
pzbID
新军事变革全面发展始于。
将每个ID分格
QRGroup:
上,左,右线。
QRBand1:
左,右加QRBand2:
rbGroupFooter左,右,下
合计DB与CR
李笑来学习这里分别在QRBand2上安两个QRExpr,对应DB,CR
QRExpr:
Expression->
continue->
DatabaseField->
table1.DB(CR也一样)->
ok
ResetAfterPrint属性:
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.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 程序设计 精编
![提示](https://static.bingdoc.com/images/bang_tan.gif)