Delphi
文章平均质量分 92
ghs79
这个作者很懒,什么都没留下…
展开
-
USB小票打印解决办法
一、需要驱动,无需更改程序 安装USB打印驱动,然后共享打印机,通过 “\\计算机\打印机名”的形式,按端口方式写。二、直接写USB端口,无需驱动,但需要改程序。 1、USB端口的形式如:\\?\usb#vid_0483&pid_5720#11101800002#{a5dcbf10-6530-11d2-901f-00c04fb951ed}。 1.1、原创 2015-06-18 08:44:19 · 5589 阅读 · 3 评论 -
电子合同的实现 合同套打
合同电子化,以方便和规范对合同的管理,实现合同签订、审批的流程化管理,满足管理信息化的要求。将合同中变化的部分抽取出来,通过系统(用Delphi开发)录入数据库,借助审批流完成对合同的审批,最后转到打印管理员处打印、盖章。一、实现方法一:WORD方式用Word排版,将变化的部分用变量代替;在程序中通过COM操作Word,完成对变量的替换。保存成PDF文档,在客户端打印。优点:对WO原创 2018-01-07 18:03:30 · 7718 阅读 · 0 评论 -
cxGrid多表头实现
cxGrid实现多表头,在网上也有不少文章。但是总感觉不用着不顺手。结合DBGridEH的多表头实现方法,为了保持两者的兼容(还是个人习惯作祟吧)。主要代码如下:一、function AddGridColumn(aGrid: TcxGridTableView; aCaption, aField: string; aWidth: integer = 40; aSumKind: stri原创 2018-01-02 11:56:57 · 1756 阅读 · 0 评论 -
delphi中string,pchar,array of char,pointer,Pbyte,array of byte之间的转化
写程序时,老是被几个数据类型搞的晕头转向,现在总结一下。基本上都是从网上查的,但又不是在一个地方,所以标记成‘转载’但又不好写从哪里转载的。有抄袭请见谅。vars:string;p:pchar;a:array[1..20] of char;那么三者之间的转换如下:1、字符串到PChar p:=PChar(s);2、PChar到字符串 s:=p;转载 2017-11-06 11:58:41 · 3135 阅读 · 6 评论 -
cxGrid显示'合计'
之前看到有人用事件的方法实现了合计列显示‘合计’的实现方法,但觉得比较复杂,需要多写一个过程。对于动态创建字段的控件也比较难实现。看了源码,突发奇想,用Format格式字符串实现,特简单。方法一我没有实现成功,才找到方法二的。方法一:加一个Summary项,Column设为Grid的第一列,Kind设为skNone 在该Summary项的OnGetText事件中,输入: p原创 2017-10-05 17:15:34 · 1642 阅读 · 0 评论 -
解决reportmachine导出pdf有蓝色底色问题
用reportmachine导出PDF文件,背景是蓝色,试了好多版本的RM,都有这个问题。解决办法很简单,就是先给底色刷成白色。在事件OnExportPage中增加一句话。 lBmp.Width := FPageWidth; lBmp.Height := FPageHeight; lBmp.PixelFormat := FPixelFormat; l原创 2017-06-20 11:34:52 · 3713 阅读 · 0 评论 -
cxGrid使用点滴
转自:http://blog.csdn.net/chelen_jak/article/details/7083994记录此地址,以建立资料库,方便查找。转载 2017-04-14 17:43:01 · 313 阅读 · 1 评论 -
导出Excel的方法及困惑
我们在做项目时,难免要用到导出功能。将数据导出到Excel中做进一步加工,因为软件不可能把用户所有需求及后来的要求都做进去;多数情况下也不需要导出太多数据,如果数据导出太多就要调整需求。 但无论如何总会有需要导出大数据的时候。比如要把销售明细导出给尼尔森、商务部的信息部等,他们都需要的是大量的明细(要按店分明细,店号+条码)。 1、用cxGrid 当数据量小原创 2017-04-13 11:49:19 · 1154 阅读 · 1 评论 -
Dephi调用C#编写的WebService的一些问题与解决方法
http://blog.csdn.net/star_of_light/article/details/2315288问题1:服务端接收的所有中文都是"?????"(乱码) 解决:设置HTTPRIO控件的HTTPRIO.HTTPWebNode.UserUTF8InHeader属性为true问题2:Dephi编写的客户端在windows2003下调用WebService提示"A转载 2017-04-13 08:04:27 · 774 阅读 · 0 评论 -
Delphi容器类之---TList、TObjectList、TComponentList、TClassList的使用
转载自:http://blog.csdn.net/iseekcode/article/details/4922001从Delphi5开始VCL中增加了新的Contnrs单元,单元中定义了8个新的类,全部都是基于标准的TList类。TList TList类实际上就是一个可以存储指针的容器类,提供了一系列的方法和属性来转载 2017-03-21 19:09:17 · 1969 阅读 · 0 评论 -
Delphi 中的 procedure of object
转自:http://www.cnblogs.com/ywangzi/archive/2012/08/28/2659811.html其实要了解这些东西,适当的学些反汇编,WINDOWS内存管理机制,PE结构,看下李维的VCL架构剖析可以很好理解type TMyEvent = procedure of object;这是一种数据类型的定义,他定义了一个可以在类中使用的函数类型转载 2017-03-21 18:13:20 · 567 阅读 · 1 评论 -
Dev打包问题
把DEV打包成一个BPL,供程序调用(虽然大了点,有38M,可以用ASPACK压缩到之前的一半)。下面是制作步骤:1、先建一个BPL,不包含任何DEV单元。2、按业务需要做窗体、写代码,当然是用包的形式编译,会提示一堆dev的包的引用(这是关键),按提示的顺序将用到的单元加到Dev包中。3、然后编译Dev包,再编译业务包。这时业务包会小很多,因为用到的单元都编译进dev包了。原创 2017-03-18 16:31:48 · 1030 阅读 · 0 评论 -
Delphi写dll文件
从http://blog.csdn.net/km_afei/article/details/53218977这里看到,确实写的很好,作为资料保存之。一、开使你的第一个DLL专案 1.File->Close all->File->New﹝DLL﹞代码: //自动产生Code如下 library Project2; //这有段废话 uses SysU转载 2017-03-03 19:33:35 · 479 阅读 · 0 评论 -
socket C#与Delphi互传结构体
摘要: Delphi与C#通过SOCKET通信,互传结构体。好处是可以把协议及要传送的内容封装成一个结构体,一次性发送,不需要再做过多的封包的拆包。封包过程通过的做法是把要发送的内容组成字符串,每个子项内容之间用分隔符隔开,以便客户端收到内容后知道如何拆包。拆包过程就把接收到的字符串再按分隔符分解成多项,并按封包时对应的子项赋值给对应的接收者。整个过程很繁琐,并且不同的开发语言对封包原创 2015-09-30 18:26:47 · 2153 阅读 · 0 评论 -
ADO操作Excel,提示错误“不可识别的数据库格式”
程序要实现从Excel中读取数据到数据库中,一直都很顺利。这次又在使用时却莫名出现错误“不可识别的数据库格式”。最后却发现是属性赋值错了。conExcel.KeepConnection := false;应该是conExcel.KeepConnection := True;惊喜天天有。原创 2016-01-29 22:04:18 · 4449 阅读 · 0 评论 -
socket C#发送int整数delphi接收
C#服务端与Delphi客户端互传整数有解决方法。1、服务端C# byte[] data = BitConverter.GetBytes(123898);//data={250,227,1,0} ClientSocket.Send(Data, 0, Data.Length, SocketFlags.None);2、客户端(D7+Indy10.5.7)原创 2015-09-30 17:44:02 · 1194 阅读 · 0 评论 -
Socket通信 C#写服务商 Delphi客户端
摘要: 最近在做Wince开发,搞一个超市卖场采用手持机盘点的现场作业模块。通信部分的实现有两种,其一是通过USB线把数据拷到PDA 上,扫描条码后,查询本地的商品资料库(用SQLite做本地库),盘点完成后再通过USB把盘点结果导入服务器(还是通过读取SQLite库的方式),好处是卖场不需要布局WIFI,减少投资。其二是通过WIFI,建立无线连接,打描条码后,直接读取服务器上的商品资料,盘点数量原创 2015-09-28 10:44:10 · 1315 阅读 · 1 评论 -
事件声明与赋值
今天看到一朋友在问技术问题:TField事件赋值问题。问题如下procedure fieldGetText(Sender: TField; var Text: string; DisplayText: Boolean);begin //text:= MyTextDEncrypt(Sender.AsString, 'xxxxxddddd');end;procedure f原创 2015-07-02 09:33:04 · 950 阅读 · 0 评论 -
Delphi中BPL包的使用,个人经验
用包可以分模块编写功能,方便开发阶段的组织,同时也便于后期的升级维护,使升级的粒度越来越少(也是用了C#的类库之后的感悟)。下面写几点经验一、不要用Delphi本身的bpl,把delphi自身的包中的单元取出来,合并成一个bpl。二、不要直接用三方控件的安装包,也要自己建一个包,把单元文件中加进去,编译成新包。以上两点可以有效避免包编译时的错误 Never-build package 'a...原创 2018-04-19 14:36:46 · 4019 阅读 · 0 评论