在电子设备上广泛地使用led数码管显示数据,在许多应用软件中也经常模拟led数码管显示数据,使程序画面看起来很有特色。使用delphi 程序实现led数码管的仿真显示非常容易,具体步骤如下:
---- 1.启动delphi 4.0。 在“tools”工具菜单上选择delphi的图象编辑器“image editor”,建立一个新的位图,并设定位图的尺寸,宽为:48,高为:64。设定位图的底色为紫红色,前景色为红色。在位图上选择适当宽度的线条画出一个正方的8字,并将方型8字的各个拐角处用斜线断开,这样可使图象模拟的更加真实。完成后按文件名bitmap_0.bmp存储。然后用此文件复制9个文件,文件名分别为bitmap_1—9。用图象编辑器将这些方形的8字位图按文件名序号的顺序分别修改成0-9的数字位图,存储后备用。
---- 2.建立一个新的工程,在窗体form1上添加“面板”元件panel1,设定“面板”元件的属性:bevelouter=bmraised; bvevelinner=bvlowered; borderwidth=4,设置后在panel1元件上形成一个凸起的边框。在panel1上添加一个“画板”元件paintbox1,将paintbox1的属性hight 和width设定为64和318,并适当调整panel1面板的尺寸,使其正好包围画板元件。
---- 3.在窗体中添加一个“图象列表”元件imagelist1,在元件上双击鼠标,调出添加图象对话框,将先前制作好的位图bitmap_0至bitmap_9按顺序添加进图象列表元件中去,使图象列表中位图的序号与位图本身代表的数字相同,并注意将位图设定为不透明。
---- 4.转到单元编辑窗口,在tform1的类说明部分添加一个显示led的过程说明语句:
---- procedure display_led(number:integer); 。
---- 在implementation语句下面添加一个全局变量和对应上面过程说明的过程体。内容如下:
implementation
{$r *.dfm}
var
dis_number:integer;
procedure tform1.display_led(number:integer);
var
i:integer;
digital:array[0..5]of integer;
begin
{限制显示位数小于6位}
if number>999999 then number:=0;
for i:=0 to 5 do digital[i]:=0;
{分离数字位}
i:=0;
while (number)>0 do
begin
digital[i]:=number mod 10;
number:=number div 10;
i:=i+1;
end;
{显示数字}
for i:=5 downto 0 do
imagelist1.draw(paintbox1.canvas, (5-i)*54,0,digital[i]);
end;
---- 5.在form1窗体的oncreated 事件中输入语句:dis_number:=0; ,使显示的初始值为0。在画板元件的on paint 事件中输入语句:display_led(dis_number); ,此语句非常重要,它可以在初始启动时显示初值0,在窗口本身被覆盖后又恢复到前台时仍可显示正常的数值。至此已完成了显示函数的程序编制。在需要显示数字的程序中调用display_led 函数就能将数字显示在led 的仿真显示板上。本举例程序只显示6位以下的数字。
---- 6.为了测试显示效果,我们在窗体上增加一个编辑框元件edit1,和一个按钮元件button1。用鼠标双击按钮元件跳转到click事件编辑窗口,输入如下语句:
dis_number:=strtoint(edit1.text);
display_led(dis_number);
---- 完成后按f9键编译并运行程序。在运行窗口的编辑框中输入6位以下的整数数字,点击按钮,编辑框中的数字就显示在led仿真显示板上。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器