ChinaCock打印控件介绍-TCCFujitsuPrinter实现蓝牙针式打印
项目中遇到,要蓝牙针式打印机,用手机打印表单。感谢专家,对厂家提供的SDK进行了封装,实现利用Delphi开发出这一功能。
现在来看看,如何利用这一控件实现打印过程:
procedure startScanDevices;
procedure stopScanDevices;
function getScanedDevices: TList<TCCFujitsuPrinterDevice>;
function openConnection(ADevice: TCCFujitsuPrinterDevice): Integer;
procedure printPDFPaper(pdfPath: String; sX: Integer; mode: Integer);
TCCFujitsuPrinter提供了上面几个方法,利用startScanDevices扫描蓝牙打印机,
property Devices: TList<TCCFujitsuPrinterDevice> read FDevices;
然后我们用stopScanDevices停止扫描,调用getScanDevices,将扫描到的设备存到Devices。
接下来就是利用openConnection联接打印机,成功返回1,然后调用printPDFPaper进行打印。
下面,是实际项目中的查询打印机的代码,利用kbmMW Scheduler实现。
procedure TPrintFrame.ScanPrinter;
begin if IsConnectPrinter=1 then
Exit;
AniIndicator1.Visible:=True;
AniIndicator1.Enabled:=True;
Printer.startScanDevices;//查找打印机
Scheduler.Schedule(
procedure (const AScheduledEvent:IkbmMWScheduledEvent)
var
i:Integer;
begin
CCButton1.Text:='正在查找打印机...';
Printer.getScanedDevices;//取得扫到的设备
for I := 0 to Printer.Devices.Count-1 do
begin
if (Printer.Devices[i].DeviceName='蓝牙打印机') and (Printer.Devices[i].Paired) then//如果找到指定的打印机并已经配对,中止扫描并返回设备号
begin
DeviceIndex:=i;
printer.stopScanDevices;
IsConnectPrinter:=printer.openConnection(Printer.Devices[i]);
sleep(500); AniIndicator1.Visible:=False;
AniIndicator1.Enabled:=False; CCButton1.Text:='开始打印';
AScheduledEvent.Activate(False);//中止线程
Break;
end;
end;
end)
.Synchronized//主线程中执行
.NamedAs('ScanPrinter')
.EverySecond(2)//每两秒检查一次扫到的设备
.Activate;
end;
找到了打印机,就可以实现打印了:
procedure TPrintFrame.CCButton1Click(Sender: TObject);
begin if DeviceIndex=- then//没找到打印机直接返回
Exit; if IsConnectPrinter<> then//没联接打印机则执行联接打印机
IsConnectPrinter:=Printer.openConnection(Printer.Devices[DeviceIndex]); Scheduler.Run(procedure
begin
Printer.printPDFPaper(FInfo.Data['FileName'].AsString,,);
end)
.Activate; end;
上面代码,同样利用kbmMW Scheduler实现在线程中打印。
最后,代码实现完成,发布时要带几个SO文件:

这个控件在即将发布的新版本中集成,如果项目中有需要,可以联系作者购买。
开发的过程中遇到一个问题,就是必须在Release下才能正常打印!
ChinaCock打印控件介绍-TCCFujitsuPrinter实现蓝牙针式打印的更多相关文章
- ChinaCock界面控件介绍-CCLoadingIndicator
这是一个显示等待状态的控件,当在线程中执行一个稍长时间的任务,需要显示一个等待过程,免得让用户不知app在做什么?避免用户寂寞. 先看看这个控件的属性说明: BackgroundTransparenc ...
- ChinaCock界面控件介绍-TCCYearMonthSelector
Delphi原生控件支持日期的选择,但对于只选择年月的情况,则没有好的实现.TCCYearMonthSelector正是为解决这个问题而产生的.看看运行效果图: 用法一如即往的简单,这是一个不可视控件 ...
- ChinaCock界面控件介绍-TCCImageViewerForm
有多个图片,左右滑动可以切换,通过手势还可以放大.缩小查看,象常见的相册,就是这样子实现效果. 现在,我们有了TCCImageViewerForm组件,也可以轻松实现这样的场景应用. 现在看看TCCI ...
- ChinaCock界面控件介绍-CCButton
即将发布的ChinaCock新版本,将带来一个CCButton控件,实现可视按钮.Delphi原生的Button,在上面滑动后,当释放手指时会误触发OnClick事件,这不是我们想要的结果,CCBut ...
- ChinaCock界面控件介绍-CCSystemBar
Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体验.而A ...
- ChinaCock界面控件介绍-CCNavigateTitle
先看一下实际项目中的运行效果,如图,通过品牌的导航栏,显示不同品牌的商品列表. 完全基于ChinaCock控件包中CCNavigateTitle组件实现的,这是一个可视控件,从组件面板上拖放一个到Fo ...
- ChinaCock界面控件介绍-TCCBarcodeCreator
条码生成器,可以生成各种条码,包括二维码.这是一个不可视控件.用起来依旧简单. 属性说明: BarCodeColor:生成条码的颜色 BarcodeFormat:生成条码的类型,支持的条码类型: Bo ...
- ChinaCock界面控件介绍-CCGridPictureEditor
CCGridPictureEditor如其名,网格图片编辑控件,实现利用一个网格来显示多张图片的缩略图,这是一个非常实用的控件,实现类似微信朋友圈中发布多张图片的功能. 在没有这个控件之前,我都是用D ...
- ChinaCock界面控件介绍-CCNewsSilder
上图是控件包里的Demo运行效果,轮播新闻图片. 这个控件用起来简单,拖放一个CCNewsSiler到Form上,设置Align为Top,再设置好高度,然后用代码加载图片: procedure TFo ...
随机推荐
- python之scrapy模块下载中间件
知识点 使用方法: 编写一个Downloader Middlewares和我们编写一个pipeline一样,定义一个类,然后在setting中开启 Downloader Middlewares默认的方 ...
- 'pybot.bat' 不是内部或外部命令,也不是可运行的程序
在通过命令行工具 运行RobotFramework的文件, 会使用到pybot.bat. 在dos输入pybot提示'pybot' 不是内部或外部命令,也不是可运行的程序或批处理文件, 可以在pyth ...
- PLSQL连接本地oracle或远程oracle数据库,实现随意切换
转: PLSQL连接本地oracle或远程oracle数据库,实现随意切换 置顶 2018年01月12日 19:36:45 前方一片光明 阅读数 43542 版权声明:本文为博主原创文章,未经博主 ...
- [GPU] Install H2O.ai
一.前言 主页:https://www.h2o.ai/products/h2o4gpu/ GPU版本安装:h2oai/h2o4gpu 采用GPU,能否成为超越下面链接中实验的存在? [ML] LIBS ...
- Go项目实战:打造高并发日志采集系统(二)
日志统计系统的整体思路就是监控各个文件夹下的日志,实时获取日志写入内容并写入kafka队列,写入kafka队列可以在高并发时排队,而且达到了逻辑解耦合的目的.然后从kafka队列中读出数据,根据实际需 ...
- 一些常用的java书籍的适看范围
一些常用的java书籍的适看范围 Java三本经典的书: 1.Java核心技术书籍:适合查阅,遇到某个问题不清楚了,可以来此求证. 2.Effective Java:对java底层的一些涉及内容,书 ...
- vue是一个渐进式的框架,我是这么理解的
vue是一个渐进式的框架,我是这么理解的 原文地址 时间:2017-10-26 10:37来源:未知 作者:admin 每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主 ...
- 鸟哥私房菜基础篇:Linux 账号管理与 ACL 权限配置习题
猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0410accountmanager.php 1-root 的 UID 与 GID 是多少?而基于这个理由 ...
- Android性能专项分类
性能专项分类:1.资源消耗2.启动耗时3.主要页面加载时间4.内存泄漏.抖动5.卡顿.页面渲染 一.资源消耗:CPU.内存.流量.功耗-----1.查看CPU占用率:adb shell dumpsys ...
- Appendix 1- LLN and Central Limit Theorem
1. 大数定律(LLN) 设Y1,Y2,……Yn是独立同分布(iid,independently identically distribution)的随机变量,A = SY /n = (Y1+...+ ...