爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • PinToo帮助主页
  • 学习手册

  • 开发手册

    • 通讯协议

      • 串口

      • 蓝牙Bluetooth

        • 蓝牙打印机
          • 1. 说明
          • 2. 设计明细
          • 3. 程序设计
            • 3.1. 程序初始设置
            • 3.2. 事件设置
          • 4. 运行结果
        • 蓝牙电子秤
        • 蓝牙控制LED灯
        • 蓝牙读取温湿度
      • 无线网WiFi

      • ModbusRTU

      • ModbusTCP

      • MQTT

      • RestAPI

      • HTTP

    • 交互输出

    • 媒体存取

    • 人工智慧

    • 实例运用

目录

蓝牙打印机

# PinToo之蓝牙打印机

# 1. 说明

  范例采用蓝牙通讯协议,通过PinToo控制蓝牙打印机进行打印操作。本范例使用的打印机为佳博GP-3120TU标签打印机,该打印机带有蓝牙功能,可进行蓝牙通信的操作。该打印机使用TSPL打印语言来实现串口打印通信的功能,故通过蓝牙打印时输出为TSPL格式的打印语句。GP-3120TU的外观如下图所示。

  通过范例的学习,可以掌握打印语言的基本格式。并通过打印语言实现蓝牙无线打印的功能。

# 2. 设计明细

  开启PinToo设计器,分别加入下插图之控件。或者点击左上角的[打开模板Lib文件]选择模板文件来打开对应模板。

  ①:TfxGPrinter组件,控件名称为fxGPrinter1。

  ②:TfxSuperButton组件,控件名称为fxSuperButtonPaired。

  ③:TfxLabel组件,控件名称为fxLabel2。

  ④:TfxSuperButton组件,控件名称为fxSuperButtonPrint。

  • fxRunFrame属性设置

    • Height:设置页面高度=800。
    • Width:设置页面宽度=400。
  • ①fxGPrinter1属性设置

    • DeviceType:设置设备的连接类型=Bluetooth。
  • ②fxSuperButtonPaired属性设置

    • Height:设置控件高度=40。
    • Width:设置控件宽度=40。
    • ButtonType:设置按钮类型,设置为TfxSvgButton。
    • Name:设置控件名称=fxSuperButtonPaired。
    • ButtonType.SvgData:设置SVG数据,其数据内容如下。
    <path d="M31.9325103759766,13.0669937133789 C32.3362121582031,15.0472459793091 32.5401840209961,17.3547077178955 32.5401840209961,20.0021266937256 C32.5401840209961,22.6452980041504 32.3362121582031,24.9570064544678 31.9325103759766,26.9372596740723 C31.5288105010986,28.9175128936768 30.9763774871826,30.540807723999 30.2709712982178,31.8114013671875 C29.5698070526123,33.0819931030273 28.6774196624756,34.1103630065918 27.6065502166748,34.8965148925781 C26.5356845855713,35.6826667785645 25.3840789794922,36.2308502197266 24.1644802093506,36.5368118286133 C22.9448833465576,36.8470191955566 21.555305480957,37 20.0000019073486,37 C18.4446983337402,37 17.055118560791,36.8427696228027 15.8355197906494,36.5368118286133 C14.6159229278564,36.2266006469727 13.4643173217773,35.6784172058105 12.3934507369995,34.8965148925781 C11.3183355331421,34.1103630065918 10.4301948547363,33.0862426757813 9.72903251647949,31.8114013671875 C9.02787017822266,30.540807723999 8.47118949890137,28.9132633209229 8.06749057769775,26.9372596740723 C7.66379070281982,24.9570083618164 7.45981597900391,22.6495456695557 7.45981597900391,20.0021266937256 C7.45981597900391,17.3589553833008 7.66379070281982,15.0472450256348 8.06749057769775,13.0669927597046 C8.47118949890137,11.0867395401001 9.02362060546875,9.4634428024292 9.72903251647949,8.19285106658936 C10.4344453811646,6.92225933074951 11.3225841522217,5.89388847351074 12.3934507369995,5.10773658752441 C13.4685668945313,4.32583475112915 14.6159229278564,3.77340364456177 15.8355197906494,3.46744155883789 C17.055118560791,3.15723013877869 18.444694519043,3 20.0000019073486,3 C21.555305480957,3 22.9448833465576,3.15723013877869 24.1644802093506,3.46319222450256 C25.3840789794922,3.77340364456177 26.5356845855713,4.32158470153809 27.6065502166748,5.10348701477051 C28.6816654205322,5.88963890075684 29.5698070526123,6.91376113891602 30.2709712982178,8.18860244750977 C30.972131729126,9.4634428024292 31.5245609283447,11.0867404937744 31.9325103759766,13.0669927597046 Z M18.8993873596191,34.607551574707 L27.7000408172607,25.8026504516602 L21.895263671875,19.9978790283203 L27.7000350952148,14.1931028366089 L18.8993835449219,5.38820266723633 L18.8993835449219,16.9807548522949 L14.0634918212891,12.1448593139648 L12.2999620437622,13.9083890914917 L18.3724555969238,19.9978790283203 L12.2999620437622,26.087366104126 L14.0634918212891,27.8508949279785 L18.8993873596191,23.0150012969971 L18.8993873596191,34.607551574707 Z M21.3640804290771,11.3842029571533 L24.189977645874,14.2101001739502 L21.3810787200928,17.0189990997314 L21.3640804290771,11.3842029571533 Z M21.385326385498,22.9767551422119 L24.1942253112793,25.7856521606445 L21.3683280944824,28.6115474700928 L21.385326385498,22.9767551422119 Z" p-id="2763" fill="#FF1296DB" stroke="Null"></path>
    
    1
  • ③fxLabel2属性设置

    • Height:设置控件高度=35。
    • Width:设置控件宽度=315。
    • Text:设置标签文本=蓝牙MAC地址:DC:0D:30:75:4B:6C。
    • TextSettings.Font:设置字体大小及颜色。Size=18,Style中将fsBold勾选。使用该属性需将StyledSettings中的所有设定为True的选项的勾去除。
  • ④fxSuperButtonPrint属性设置

    • Height:设置控件高度=250。
    • Width:设置控件宽度=250。
    • ButtonType:设置按钮类型,设置为TfxImageButton。
    • Name:设置控件名称=fxSuperButtonPrint。
    • Opacity:设置透明度=0.8。
    • Bitmap:设置位图样式。双击该属性或者点击属性右侧的[...]打开图像编辑器。点击[Load...]打开资源管理器,选择所需的图片后点击[打开],选择的图像会显示在预览框中。可在该页面下进行裁切或者缩放像素以使图像与控件的宽度高度相适应,修改完成后点击[OK]按钮完成图像修改。

# 3. 程序设计

  点击程序设计界面右下角的按钮,切换至单元选择界面,勾选需要使用的单元。该程序需要引用GPrinter单元。

# 3.1. 程序初始设置

  将蓝牙获取到的Mac地址赋值给控件。

procedure MacAddr(AText:string);
//获取打印机的MAC地址,并将其赋值给打印机
begin
  fxGPrinter1.BluetoothMacAddress:=AText; //将蓝牙地址赋值给控件
  if fxGPrinter1.OpenPort then
  begin
    showmessage('连接成功!');
    fxLabel2.Text := '蓝牙MAC地址:' + fxGPrinter1.BluetoothMacAddress;
  End
  else
    showmessage('连接失败!');
End;
1
2
3
4
5
6
7
8
9
10
11
12

# 3.2. 事件设置

  • ②fxSuperButtonPaired-OnClick事件

  点击按钮打开蓝牙配对界面,连接蓝牙设备。

Procedure fxSuperButtonPairedOnClick(Sender: TObject);
//蓝牙配对连接
Begin
  fxShowBluetoothSetting('MacAddr'); 
End;
1
2
3
4
5
  • ④fxSuperButtonPrint-OnClick事件

  点击按钮,加载打印语言开始打印。

Procedure fxSuperButtonPrintOnClick(Sender: TObject);
var
  ALabelCommand: TfxGPrinterLabelCommand;
Begin
  ALabelCommand := TCCGPrinterLabelCommand.Create; //创建标签打印对象
  ALabelCommand.addCls; // 清除打印缓冲区数据
  ALabelCommand.addSize(80, 60); // 设置标签大小 mm,前者为标签宽度,后者为标签高度
  ALabelCommand.addGap(2); // 设置标签间隙,按照实际尺寸设置,如果为无间隙纸则设置为0
  ALabelCommand.addDirection(DIRECTION_FORWARD,MIRROR_NORMAL);//设置显示的方向
  ALabelCommand.addReference(0, 0); // 设置原点坐标
  try
    ALabelCommand.addText(8 * 2, 4 * 5,
      SIMPLIFIED_CHINESE,
      ROTATION_0, //设置旋转
      MUL_2,      //设置文字大小
      MUL_2, '姓名:爱招飞');
    ALabelCommand.addText(8 * 2, 4 * 15,
      SIMPLIFIED_CHINESE,
      ROTATION_0,
      MUL_1,
      MUL_1, '性别:男');
    ALabelCommand.addText(8 * 2, 4 * 25,
      SIMPLIFIED_CHINESE,
      ROTATION_0,
      MUL_1,
      MUL_1, '年龄:99岁');       
    ALabelCommand.add1DBarcode(8 * 2, 4 * 35,  //添加条形码
      CODE128, 8 * 12,
      EANBEL,
      ROTATION_0, '18888888888');   
    ALabelCommand.addQRCode(8 * 30, 4 * 35,
      LEVEL_L, 5,
      ROTATION_0, 'PinToo(拼图) 二维码');          
  Finally
    ALabelCommand.addPrint(1,1); // 设置打印份数
    ALabelCommand.addSound(2, 100); // 设置蜂鸣器
    // 发送打印标签命令
    fxGPrinter1.sendLabelCommand(ALabelCommand);
    ALabelCommand.Free;
  End;     
End;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

# 4. 运行结果

  使用鼠标在 PinToo 菜单,点击[调试运行]按钮,测试运行结果。

  通过同步中心,将程序上传至手机PinToo运行;同步时,请确保手机已经运行PinToo,并且已经登陆。

  点击蓝牙配对按钮,打开蓝牙配对界面,选择打印机的蓝牙设备名称(通常名称以Printer开头),连接完成后返回到主界面,点击打印按钮,蓝牙打印机接收到打印指令打印相应的内容。

串口控制LED灯
蓝牙电子秤

← 串口控制LED灯 蓝牙电子秤→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式