FastReport VCL使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

報表生成器FastReport VCL是用於在軟件中集成商務智能的現代解決方案。它提供了可視化模板設計器,能夠訪問最受歡迎的數據源,報告引擎,預覽,將過濾器導出爲30多種格式,並能夠部署到雲,Web,電子郵件和打印中。算法

近日,FastReport VCL更新至v6.7,在新版本中,添加了對最新版本IDE的支持,簡化了用於付款標準的條形碼的建立,新增從預覽窗口直接編輯RichView的功能,同時修復了多個Bug問題。歡迎下載體驗。(點擊下方按鈕下載)編程

點擊下載最新版FastReport VCL編輯器

Fastreport在線下單立享85折起 !趕忙 加入購物清單 吧!

CODE 39是Intermec Corporation在1975年開發的條形碼。條形碼中最多能夠包含43個字符,包括數字,字母和一些符號:0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ-。$ / +%。因爲能夠處理字母,所以CODE 39在工業領域必不可少,而且在汽車和電子等行業中使用。例如,在德國,它用於藥品,但主要用於倉儲。在美國,代碼39被標準化爲ANSI MH 10.8 M-1983和MIL-STD-1189。該標準後來被取消,並由ANSI / AIM BC1 / 1995代替。 編碼

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼
可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

CODE 39以其條形和空格模式命名,在9個條形和空格中有3個是寬的。基本組成以下:url

 

  • 一個字母(字符)由9個小節和空格表示。
  • 星號(*)附加在條形碼的開頭和結尾。(開始/中止字符)
  • 字符之間的間隔稱爲「字符間間隙」。一般,間隙寬度與窄條寬度同樣寬。(最大寬度規定爲窄條寬度的3到5.3倍。)

字符間距spa

 

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

下表概述了Code 39規範。分配給每一個字符的數字值(開始/中止除外)在如下所述的校驗和算法中使用。.net

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

代碼39有時與可選的模43校驗位一塊兒使用,帶有校驗位的代碼稱爲代碼39 mod43。
這是執行校驗和計算的方法:
1.取條形碼中每一個字符的值(0到42),不包括開始和結束代碼。
2.對值求和。設計

3.將結果除以43。3d

.餘數是要附加的校驗和字符的值。code

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

Code 39 Extended是Code 39的擴展版本,支持ASCII字符集。它能夠編碼128個字符:0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ!#$%&'()* +,-。/ :; <=>?@ [\] ^ _`{|} abcdefg hijklmnopqrs tuvwxyz,其中包括26個大寫字母( AZ),26個小寫字母(az)和帶空格的特殊字符。

請務必注意,擴展代碼39條形碼的長度大約是常規代碼39條形碼的兩倍。根據ISO 646,經過組合兩個符號字符來顯示這些字符,第一個由$ +%/四個字符之一組成,後跟26個字母之一。若是使用完整的ASCII字符集對解碼器進行編程,則僅傳輸ASCII等效字符,而不傳輸符號字符組合。

Code 39 Extended也能夠與可選的43模校驗和一塊兒使用,帶有校驗位的代碼看起來像「 CODE 39 EXTENDED mod 43」。

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

CODE 39和CODE 39 Extended的並排比較

讓咱們比較不一樣條形碼中的相同短語。在這兩種狀況下,咱們在第一欄中都看不到任何區別。可是爲何沒有區別呢?這是由於字符0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ-。兩個條形碼中的$ / +%以相同的方式編碼,可是若是將大寫字母替換爲小寫字母,則會出現更改。

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

再一次,在CODE 39 Extended中,經過組合兩個符號字符來顯示字符,第一個由$ +%/四個字符之一組成,而後由26個字母之一組成。

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

在視覺設計器中建立條形碼

FastReport VCL容許您在報告中使用上述兩種條形碼類型。讓咱們看看如何與他們合做。

在FastReport VCL設計器中,將obCatBarcode組件添加到報告中,而後從列表中選擇條形碼類型:
obCatBarcode

接下來,轉到條形碼編輯器:

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

代碼–條形碼數值的區域;

條形碼類型–條形碼類型能夠在編輯器中當即更改,而無需在報告中添加新組件;

Calc CheckSum –校驗。全部線性條形碼都具備此屬性。還記得「錯過閱讀」嗎?咱們必須以某種方式與之抗爭!此屬性肯定是否應自動計算校驗和。若是禁用,則校驗和必須出如今對象文本中;

縮放–設置條形碼的縮放比例,僅與「自動調整大小」屬性結合使用;

文字–啓用/禁用條形碼下的文字顯示;

旋轉–容許您將對象的旋轉設置爲固定角度之一– 0、90、180、270度。

單擊F(x)圖標並進入大表達式編輯器。

能夠在FastReport VCL設計器或文檔中找到更多詳細信息。 連接1 和連接2 

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

轉到obCatBarcode組件的屬性。

Code字段的內容將傳輸到Expression字段。若是「表達式」字段爲空,則顯示「文本」字段中的文本。

簡而言之,「文本」是靜態文本,「表達式」包含計算得出的表達式,包括來自數據源的值。

可視化報告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus建立CODE 39和CODE 39擴展條形碼

從Delphi / Lazarus代碼建立條形碼

uses frxBarcod;
 
procedure TForm1.Button1Click(Sender: TObject);
var bc: TfrxBarcodeView;
begin
 bc :=
TfrxBarcodeView(frxReport1.FindObject('BarCode1'));
{Set the type of the barcode}
bc.BarType := bcCode39;
{Set the fixed barcode value}
 bc.Text := '123456';
{Set the calculated barcode value}
//bc.Expression := '<YourDatasetName."FieldName1"> + <YourDatasetName."FieldName2">';
{Set whether it is necessary to calculate the checksum and add it to the end of the barcode}
bc.CalcCheckSum := False;
{Set the scale at which the barcode will be displayed}
 bc.Zoom := 2;
{Set the angle of the barcode rotation. Can take the following values: 0, 90, 180, 270}
bc.Rotation := 0;
{Set whether to set the width of the barcode depending on its content.}
{If set to False, Zoom will be set to keep the barcode width fixed}
 bc.AutoSize := True;
{Set the barcode background color}
bc.Color := clNone;
{Set the barcode lines color}
bc.ColorBar := clBlack;
{Set whether to display the text at the bottom of the barcode}
 bc.ShowText := True;
 frxReport1.ShowReport();
end;

如今,咱們能夠在業務應用程序中使用CODE 39標準的條形碼(不只對數字進行編碼,並且對字母字符進行編碼),例如,以在標籤上輸出(例如,也採用ZPL格式)。 


Fastreport在線下單立享85折起 !趕忙 加入購物清單 吧!

還想要更多嗎?您能夠點擊閱讀【FastReport 報表2020最新資源盤點】,查找須要的教程資源。若是您有任何疑問或需求,請隨時加入FastReport技術交流羣(783996712),咱們很高興爲您提供查詢和諮詢。

相關文章
相關標籤/搜索