程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> LED數碼管仿真顯示程序

LED數碼管仿真顯示程序

編輯:Delphi

  在電子設備上廣泛地使用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仿真顯示板上。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved