欢迎来到天天文库
浏览记录
ID:1230351
大小:47.00 KB
页数:5页
时间:2017-11-09
《模拟led数码管显示(delphi)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Delphi之模拟LED数码管显示在电子设备上广泛使用LED数码管显示数据,在许多应用软件中也经常模拟LED数码管显示数据,使程序界面看起来很有特色。 使用Delphi程序实现LED数码管的仿真显示非常容易,具体步骤如下: 1.启动Delphi。在“Tools”工具菜单上选择Delphi的图象编辑器“ImageEditor”,建立一个新的位图,并设定位图的尺寸,宽为:13,高为:23。设定位图的底色为黑色,前景色为红色。在位图上选择适当宽度的线条画出一个正方的8字,并将方型8字的各个拐角处用斜线断开,这样可使图象模拟的更加真实。完成后按文件名bitmap_0.bmp存
2、储。然后用此文件复制9个文件,文件名分别为bitmap_1—9。用图象编辑器将这些方形的8字位图按文件名序号的顺序分别修改成0-9的数字位图,存储后备用。 2.建立一个新的工程,在窗体Form1上添加元件Panel1,设定元件的属性:BevelOuter=bvRaised;BevelInner=bvLowered;BevelWidth=2;BorderWidth=4,设置后在Panel1元件上形成一个凸起的边框。在Panel1上添加一个元件PaintBox1,将PaintBox1的属性Height和Width设定为32和120,调整Panel1面板的Height为48,W
3、idth为136,使其正好包围PaintBox1元件。 3.在窗体中添加一个元件ImageList1,修改ImageList1的Height和Width属性为32和20,在元件上双击鼠标,调出添加图象对话框,将先前制作好的位图bitmap_0至bitmap_9按顺序添加进图象列表元件中去,使图象列表中位图的序号与位图本身代表的数字相同,并注意将位图设定为不透明,Option选择Center。 4.转到单元编辑窗口,在Tform1的类说明部分添加一个显示LED的过程说明语句:procedureDisplay_LED(number:integer);。 在implemen
4、tation语句下面添加一个全局变量DisplayNumber和对应上面过程说明的过程体。 5.在Form1窗体的OnCreate事件中输入语句:DisplayNumber:=0;,使显示的初始值为0。在PaintBox1元件的OnPaint事件中输入语句:Display_LED(DisplayNumber);,此语句非常重要,它可以在初始启动时显示初值0,在窗口本身被覆盖后又恢复到前台时仍可显示正常的数值。至此已完成了显示函数的程序编制。在需要显示数字的程序中调用Display_LED函数就能将数字显示在LED的仿真显示板上。本举例程序只显示6位及以下的数字。6.为了测
5、试显示效果,在窗体上增加一个文本编辑元件Edit1和一个按钮元件Button1。用鼠标双击按钮元件跳转到Click事件编辑窗口,输入如下语句:DisplayNumber:=StrToInt(Edit1.Text); Display_LED(DisplayNumber); 完成后按F9键编译并运行程序。在运行窗口的编辑框中输入6位以下的整数数字,点击按钮,编辑框中的数字就显示在LED仿真显示板上。 看一下显示效果: 完整的程序如下:unitUnit1;interfaceuses Windows,Messages,SysUtils,Variants,Classes,
6、Graphics,Controls,Forms, Dialogs,StdCtrls,ExtCtrls,ImgList,ComCtrls;type TForm1=class(TForm) Panel1:TPanel; ImageList1:TImageList; PaintBox1:TPaintBox; Button1:TButton; Edit1:TEdit; proceduredisplay_LED(number:integer); procedurePaintBox1Paint(Sender:TObject); procedureForm
7、Create(Sender:TObject); procedureButton1Click(Sender:TObject); private {Privatedeclarations} public {Publicdeclarations} end;var Form1:TForm1;implementation{$R*.dfm}var DisplayNumber:Integer;procedureTForm1.Display_LED(number:integer);var i:Integer; digi
此文档下载收益归作者所有