在電子設(shè)備上廣泛地使用LED數(shù)碼管顯示數(shù)據(jù),在許多應(yīng)用軟件中也經(jīng)常模擬LED數(shù)碼管顯示數(shù)據(jù),使程序畫面看起來很有特色。使用Delphi 程序?qū)崿F(xiàn)LED數(shù)碼管的仿真顯示非常容易,具體步驟如下:
---- 1.啟動(dòng)Delphi 4.0。在“Tools”工具菜單上選擇Delphi的圖象編輯器“Image Editor”,建立一個(gè)新的位圖,并設(shè)定位圖的尺寸,寬為:48,高為:64。設(shè)定位圖的底色為紫紅色,前景色為紅色。在位圖上選擇適當(dāng)寬度的線條畫出一個(gè)正方的8字,并將方型8字的各個(gè)拐角處用斜線斷開,這樣可使圖象模擬的更加真實(shí)。完成后按文件名bitmap_0.bmp存儲(chǔ)。然后用此文件復(fù)制9個(gè)文件,文件名分別為bitmap_1—9。用圖象編輯器將這些方形的8字位圖按文件名序號(hào)的順序分別修改成0-9的數(shù)字位圖,存儲(chǔ)后備用。
---- 2.建立一個(gè)新的工程,在窗體Form1上添加“面板”元件Panel1,設(shè)定“面板”元件的屬性:bevelouter=bmRaised; bvevelInner=bvLowered; BorderWidth=4,設(shè)置后在Panel1元件上形成一個(gè)凸起的邊框。在Panel1上添加一個(gè)“畫板”元件PaintBox1,將PaintBox1的屬性Hight 和Width設(shè)定為64和318,并適當(dāng)調(diào)整Panel1面板的尺寸,使其正好包圍畫板元件。
---- 3.在窗體中添加一個(gè)“圖象列表”元件ImageList1,在元件上雙擊鼠標(biāo),調(diào)出添加圖象對(duì)話框,將先前制作好的位圖bitmap_0至bitmap_9按順序添加進(jìn)圖象列表元件中去,使圖象列表中位圖的序號(hào)與位圖本身代表的數(shù)字相同,并注意將位圖設(shè)定為不透明。
---- 4.轉(zhuǎn)到單元編輯窗口,在Tform1的類說明部分添加一個(gè)顯示LED的過程說明語句:
---- procedure display_LED(number:integer); 。
---- 在implementation語句下面添加一個(gè)全局變量和對(duì)應(yīng)上面過程說明的過程體。內(nèi)容如下:
implementation
{$R *.DFM}
var
dis_number:integer;
procedure Tform1.display_LED(number:integer);
var
I:integer;
digital:array[0..5]of integer;
begin
{限制顯示位數(shù)小于6位}
if number>999999 then number:=0;
for I:=0 to 5 do digital[I]:=0;
{分離數(shù)字位}
I:=0;
while (number)>0 do
begin
digital[I]:=number mod 10;
number:=number div 10;
I:=I+1;
end;
{顯示數(shù)字}
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); ,此語句非常重要,它可以在初始啟動(dòng)時(shí)顯示初值0,在窗口本身被覆蓋后又恢復(fù)到前臺(tái)時(shí)仍可顯示正常的數(shù)值。至此已完成了顯示函數(shù)的程序編制。在需要顯示數(shù)字的程序中調(diào)用display_LED 函數(shù)就能將數(shù)字顯示在LED 的仿真顯示板上。本舉例程序只顯示6位以下的數(shù)字。
---- 6.為了測試顯示效果,我們在窗體上增加一個(gè)編輯框元件Edit1,和一個(gè)按鈕元件button1。用鼠標(biāo)雙擊按鈕元件跳轉(zhuǎn)到Click事件編輯窗口,輸入如下語句:
dis_number:=strTOint(Edit1.text);
display_LED(dis_number);
---- 完成后按F9鍵編譯并運(yùn)行程序。在運(yùn)行窗口的編輯框中輸入6位以下的整數(shù)數(shù)字,點(diǎn)擊按鈕,編輯框中的數(shù)字就顯示在LED仿真顯示板上。