通訊埠印表機
# PinToo之通訊埠印表機
# 1. 說明
範例採用通訊埠通訊協議,控制通訊埠印表機進行列印輸出。通過向通訊埠輸入特定列印指令的字元,印表機對指令進行解析並列印出所需的內容。目前市面上的一些帶有通訊埠的標籤印表機使用的是TSPL(TSC標籤印表機的通訊埠列印程式語言),通過通訊埠輸入的內容需按照TSPL的規範進行。
範例使用到的是佳博GP-3120TN標籤印表機,印表機帶有一個通訊埠介面,可用於接收TSPL指令進行列印操作,其外觀如下圖所示。
在使用前,先將USB通訊埠轉接線的通訊埠端與標籤印表機的通訊埠端連線,再將USB端與手機的USB埠進行連線。印表機通電並打開印表機的電源開關。 通過範例學習,可以掌握通訊埠印表機的連線以及使用。
# 2. 設計明細
開啟PinToo設計器,分別加入下插圖之控制元件。或者點選左上角的[打開模板Lib檔案]
選擇模板檔案來打開對應模板。
①:TfxImage元件,控制元件名稱為fxImageSearch
。
②:TfxText元件,控制元件名稱為fxTextStatus
。
③:TfxRDIconFlicker元件,控制元件名稱為fxRDIconFlickerPrint
。
④:TfxSwitchButton元件,控制元件名稱為fxSwitchButtonEdit
。
⑤:TfxUsbSerail元件,控制元件名稱為fxUsbSerial
。
⑥:TfxImage元件,控制元件名稱為fxImageConnect
。
fxRunFrame屬性設定
Height
:設定頁面高度=800
。Width
:設定頁面寬度=400
。
fxComboBox屬性設定
Name
:設定控制元件名稱=fxComboBox
。Visible
:設定控制元件是否可見=False
。
fxMemoContent屬性設定
Height
:設定控制元件高度=240
。Width
:設定控制元件寬度=380
。Lines
:設定列印需要輸入的內容,如下所示。
SIZE 40 mm,60 mm CLS TEXT 50,30,"TSS24.BF2",0,1,1,"商品清單" TEXT 50,45,"4",0,1,1,"--------------------" TEXT 50,60,"TSS24.BF2",0,1,1,"西紅柿 1 15 15 " TEXT 50,90,"TSS24.BF2",0,1,1,"娃哈哈 1 15 15 " TEXT 50,120,"TSS24.BF2",0,1,1,"牛肉乾 1 15 15 " TEXT 50,150,"TSS24.BF2",0,1,1,"紅牛 1 15 15 " TEXT 50,170,"4",0,1,1,"--------------------" TEXT 50,190,"TSS24.BF2",0,1,1,"合計 1 15 15 " QRCODE 50,210,L,4,A,0,"www.fasterp.com" PRINT 1 EOP
1
2
3
4
5
6
7
8
9
10
11
12
13①fxImageSearch屬性設定
Height
:設定控制元件高度=40
。Width
:設定控制元件寬度=40
。Name
:設定控制元件名稱=fxImageSearch
。WarpMode
:設定影象在控制元件中顯示的模式,設定為Fit
,即影象適應于控制元件大小。Bitmap
:設定顯示的圖片,雙擊該屬性或者點選屬性右側的[...]
打開影象編輯器。點選[Load...]
打開資源管理器,選擇所需的圖片後點擊[打開]
,選擇的影象會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影象與控制元件的寬度高度相適應,修改完成後點選[OK]
按鈕完成影象修改。
②fxTextStatus屬性設定
Text
:設定顯示文字=等待連線
。Height
:設定控制元件高度=40
。Width
:設定控制元件寬度=280
。Name
:設定控制元件名稱=fxTextStatus
。TextSettings
:設定文字字型的相關資訊。設定Font.Size
=18
。FontColor
=White
。HorzAlign
:設定文字在控制元件中的水平位置=Center
。VertAlign
:設定文字在控制元件中的垂直位置=Center
。
③fxRDIconFlickerPrint屬性設定
Height
:設定控制元件高度=140
。Width
:設定控制元件寬度=145
。Name
:設定控制元件名稱=fxRDIconFlickerPrint
。BitmapIcon
:設定顯示的圖片,雙擊該屬性或者點選屬性右側的[...]
打開影象編輯器。點選[Load...]
打開資源管理器,選擇所需的圖片後點擊[打開]
,選擇的影象會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影象與控制元件的寬度高度相適應,修改完成後點選[OK]
按鈕完成影象修改。
④fxSwitchButtonEdit屬性設定
Height
:設定控制元件高度=40
。Width
:設定控制元件寬度=40
。Name
:設定控制元件名稱=fxSwitchButtonEdit
。SwitchOffBmp
:設定開關狀態為關時顯示的影象,雙擊該屬性或者點選屬性右側的[...]
打開影象編輯器。點選[Load...]
打開資源管理器,選擇所需的圖片後點擊[打開]
,選擇的影象會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影象與控制元件的寬度高度相適應,修改完成後點選[OK]
按鈕完成影象修改。
SwitchOnBmp
:設定開關狀態為開時顯示的影象,雙擊該屬性或者點選屬性右側的[...]
打開影象編輯器。點選[Load...]
打開資源管理器,選擇所需的圖片後點擊[打開]
,選擇的影象會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影象與控制元件的寬度高度相適應,修改完成後點選[OK]
按鈕完成影象修改。
⑤fxUsbSerial屬性設定
UsbSerialType
:設定USB通訊埠的連線型別,設定為RS232
。
⑥fxImageConnnect屬性設定
Height
:設定控制元件高度=40
。Width
:設定控制元件寬度=40
。Name
:設定控制元件名稱=fxImageConnect
。WarpMode
:設定影象在控制元件中顯示的模式,設定為Fit
,即影象適應于控制元件大小。Bitmap
:設定顯示的圖片,雙擊該屬性或者點選屬性右側的[...]
打開影象編輯器。點選[Load...]
打開資源管理器,選擇所需的圖片後點擊[打開]
,選擇的影象會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影象與控制元件的寬度高度相適應,修改完成後點選[OK]
按鈕完成影象修改。
# 3. 程式設計
點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式需要引用uUsbSerail
單元。
# 3.1. 程式初始設定
該程式無初始設定。
# 3.2. 事件設定
- ①fxImageSearch-OnClick事件
點選按鈕以載入通訊埠列表並顯示。
Procedure fxImageSearchOnClick(Sender: TObject);
//點選搜索按鈕尋找印表機
Begin
if fxUsbSerial.Devices.Text = '' Then
begin
fxTextStatus.Text := '請檢查通訊埠是否連線';
Exit;
End;
fxComboBox.Items := fxUsbSerial.Devices;
fxComboBox.DropDown;
End;
2
3
4
5
6
7
8
9
10
11
- fxComboBox-OnChange事件
當選擇設備時,將選擇的設備連賦值給控制元件。
Procedure fxComboBoxOnChange(Sender: TObject);
Begin
fxUsbSerial.UsbDevice := fxComboBox.Items.Strings[fxComboBox.ItemIndex];
fxTextStatus.Text := '已選擇印表機';
End;
2
3
4
5
- ⑥fxImageConnnect-OnClick事件
當點選連線按鈕時打開通訊埠通訊。
Procedure fxImageConnectOnClick(Sender: TObject);
//連線印表機
Begin
fxUsbSerial.Open(True);
if fxUsbSerial.Devices.Text <> '' Then
fxTextStatus.Text := '印表機已連線';
End;
2
3
4
5
6
7
- ③fxRDIconFlickerPrint-OnClick事件
點選以向印表機通訊埠發送列印數據。
Procedure fxRDIconFlickerPrintOnClick(Sender: TObject);
//列印
Begin
fxUsbSerial.WriteStrToBytes(fxMemoContent.Lines.Text,'Ansi');
End;
2
3
4
5
- ④fxSwitchButtonEdit-OnSwitch事件
點選切換按鈕以打開或者關閉列印命令編輯界面。
Procedure fxSwitchButtonEditOnSwitch(Sender: TObject);
//編輯列印內容
Begin
fxMemoContent.Visible := fxSwitchButtonEdit.IsChecked;
End;
2
3
4
5
# 4. 運行結果
使用滑鼠在 PinToo 功能表,點選[儲存至資料庫]
按鈕,將其儲存至資料庫,點選[除錯運行]
確認能夠正常打開。
通過同步中心,將程式上傳至手機PinToo運行;同步時,請確保手機已經運行PinToo,並且已經登陸。
點選左側的搜索按鈕,打開通訊埠設備列表,選擇對應的通訊埠,點選右側的連線按鈕開啟通訊埠連線。點選列印按鈕下方的按鈕可顯示或者隱藏文字編輯框,該文字編輯框中顯示的是列印格式內容。點選上方的列印按鈕,連線通訊埠的印表機根據指令列印出對應的標籤。