自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (4)
  • 收藏
  • 关注

原创 Delphi中BPL包的使用,个人经验

    用包可以分模块编写功能,方便开发阶段的组织,同时也便于后期的升级维护,使升级的粒度越来越少(也是用了C#的类库之后的感悟)。下面写几点经验一、不要用Delphi本身的bpl,把delphi自身的包中的单元取出来,合并成一个bpl。二、不要直接用三方控件的安装包,也要自己建一个包,把单元文件中加进去,编译成新包。以上两点可以有效避免包编译时的错误 Never-build package 'a...

2018-04-19 14:36:46 3892

原创 电子合同的实现 合同套打

合同电子化,以方便和规范对合同的管理,实现合同签订、审批的流程化管理,满足管理信息化的要求。将合同中变化的部分抽取出来,通过系统(用Delphi开发)录入数据库,借助审批流完成对合同的审批,最后转到打印管理员处打印、盖章。一、实现方法一:WORD方式用Word排版,将变化的部分用变量代替;在程序中通过COM操作Word,完成对变量的替换。保存成PDF文档,在客户端打印。优点:对WO

2018-01-07 18:03:30 7503

原创 cxGrid多表头实现

cxGrid实现多表头,在网上也有不少文章。但是总感觉不用着不顺手。结合DBGridEH的多表头实现方法,为了保持两者的兼容(还是个人习惯作祟吧)。主要代码如下:一、function AddGridColumn(aGrid: TcxGridTableView; aCaption, aField: string; aWidth: integer = 40;  aSumKind: stri

2018-01-02 11:56:57 1672

转载 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 2956 6

原创 cxGrid显示'合计'

之前看到有人用事件的方法实现了合计列显示‘合计’的实现方法,但觉得比较复杂,需要多写一个过程。对于动态创建字段的控件也比较难实现。看了源码,突发奇想,用Format格式字符串实现,特简单。方法一我没有实现成功,才找到方法二的。方法一:加一个Summary项,Column设为Grid的第一列,Kind设为skNone  在该Summary项的OnGetText事件中,输入:  p

2017-10-05 17:15:34 1534

原创 DEV控件编辑框录入内容消失的问题

DEV控件确实很漂亮,但是在TcxBarEditItem编辑框录入内容后,必须回车或者TAB键才有效,否则就会消失。解决办法1、输入之后按Enter或者TAB键。2、在onCurChange事件加这句行:cxBarEditItem1.EditValue := cxBarEditItem1.CurEditValue;3、设置你的 dxBarManager 的 AlwaysSaveTe

2017-09-03 17:27:01 1305

原创 给DBGridEh的data group增加比值(如毛利)

一、设置数据关系1、要利用DBGridEh的datagroup功能,必须是关联数据集MemTableEh1;不可是传统的ADOQuery,Clientdataset等。2、好在MemTableEh1有自动从其它数据集中取数据的功能,设置好对应关系,即可完成数据的转换。我是从ADO取的数据,所以关系如下。    ADOQuery1.connection := ADOconnnect1;

2017-06-23 10:53:31 892

原创 解决reportmachine导出pdf有蓝色底色问题

用reportmachine导出PDF文件,背景是蓝色,试了好多版本的RM,都有这个问题。解决办法很简单,就是先给底色刷成白色。在事件OnExportPage中增加一句话。    lBmp.Width := FPageWidth;    lBmp.Height := FPageHeight;    lBmp.PixelFormat := FPixelFormat;    l

2017-06-20 11:34:52 3612

转载 解决Windows 7 (或Vista)远程桌面连接XP或2003缓慢的问题

在使用Windows 7之后发现一个问题,远程桌面连接XP或2003 Server时,在某些网络情况下存在连接后刷新缓慢的问题。1. 以管理员方式启动一个命令行窗口(Win+R 输入cmd按Ctrl+Shift+Enter)2. 在命令行窗口中输入:netsh interface tcp set global autotuninglevel=disabled后面那条

2017-04-19 14:26:48 1549

转载 cxGrid使用点滴

转自:http://blog.csdn.net/chelen_jak/article/details/7083994记录此地址,以建立资料库,方便查找。

2017-04-14 17:43:01 287 1

原创 导出Excel的方法及困惑

我们在做项目时,难免要用到导出功能。将数据导出到Excel中做进一步加工,因为软件不可能把用户所有需求及后来的要求都做进去;多数情况下也不需要导出太多数据,如果数据导出太多就要调整需求。     但无论如何总会有需要导出大数据的时候。比如要把销售明细导出给尼尔森、商务部的信息部等,他们都需要的是大量的明细(要按店分明细,店号+条码)。   1、用cxGrid         当数据量小

2017-04-13 11:49:19 1085 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 751

转载 升级Win10后VMware虚拟机不能联网该怎么办?

高高兴兴的升级了win10正式版,升级的时候没有遇到任何问题,但是升级结束后,发现虚拟机不能联网了。下面分享解决办法,需要的朋友可以参考下。1、打开VMware虚拟机主页,点击“编辑——虚拟网络编辑器”。2、点击左下角的“恢复默认设置”,弹出对话框选确定。此步骤会重置虚拟网卡并安装相应的服务。如果‘恢复默认设置’是灰色的,不可点;请先点右边的‘更改设置’按钮。

2017-04-11 18:36:41 790

转载 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 1835

转载 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 529 1

原创 Dev打包问题

把DEV打包成一个BPL,供程序调用(虽然大了点,有38M,可以用ASPACK压缩到之前的一半)。下面是制作步骤:1、先建一个BPL,不包含任何DEV单元。2、按业务需要做窗体、写代码,当然是用包的形式编译,会提示一堆dev的包的引用(这是关键),按提示的顺序将用到的单元加到Dev包中。3、然后编译Dev包,再编译业务包。这时业务包会小很多,因为用到的单元都编译进dev包了。 

2017-03-18 16:31:48 960

转载 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 451

原创 微信支付

在做微信支付开发,完成付款很简单,但要完美运行却要付出不少努力。一、等待顾客输入支付密码    1、如果开通了免密支付,又在允许的条件下,支付最简单,调用一次“付款”接口就实现了。    2、如果不符合免密码支付条件(超过次数或者没有开通),在调用“付款”接口后还需要等待顾客输入密码。         文档中建议每三秒检查一次付款状态,在实际使用中两秒更合适,会带来更好的使用体验。

2017-03-03 19:18:55 406

原创 运行期设置cxDBPivotGrid字段的统计类型

cxDBPivotGrid这么强大的控件,如果不能在运行期指定字段的统计类型,实在是太遗憾了(希望是我没有找到此功能),所以就动手添加。1、  首先寻找切入口。一种方法是改控件本身,第二种方法是在控件外部实现对控件增加功能。在看源码寻找切入点的过程中,发现还是直接改控件本身较简单。在单元中cxPivotGridAdvancedCustomization中有双击事件ListBoxDblCli

2017-02-23 19:10:15 858

原创 dxNavBar获得右键菜单位置的dxNavBarItem。

1、应用场景:        右键点击dxNavBar1,更改所选TdxNavBarItem的图标。2、实现的方法      A、用dxNavBar1.HotTrackedLink.Item获取的就是dxNavBarItem1。      B、或者更通用的写法是TdxNavBar( PopupMenu1.PopupComponent).HotTrackedLink.Item。 

2017-02-22 18:27:17 1242

原创 DEV的打印

DEV的打印功能确实强大,但是初学者很难使用。看了打印的例子,还是不知道如何使用,从窗体文件中能看到有打印连接对象Printer1Link,但就是不知道如何关联。无意中双击了一下dxComponentPrinter1,惊喜出现,如下图点击。无意中双击了一下dxComponentPrinter1,惊喜出现,如下图点击。1、Add以增加打印对象,可以是窗体,也可以是cxGrid,c

2017-02-21 18:49:10 2672 1

原创 DEV dxBar使用

dxBar工具样式控件横向放置时,用默认的属性可以正确显示。1、纵向放置时,文字在图标左侧,并且字体头向右,很不习惯。2、解决方法:设置RotateWhenVertical=False;这样横向放置或者纵向放置都是正确的。3、设置分隔线。‘查询设置’按键前增加的分隔线,实现按功能分组的效果,让按钮显示不再单调。右键点击需要增加分隔的按钮,然后选中‘开始分组’

2017-02-21 17:41:01 1780

转载 Devexpress Dxribbon风格窗体设计

转自:http://blog.163.com/bin0315@126/blog/static/406626422012844271447/Delphi2010及其以后的版本,已经有了RIBBOB风格的窗体控件,但现在用的还不多吧。这里介绍的方法是使用第三方控件DevExpressBar来完成Ribbon风格的界面。首先下载并安装DevExpress,版本最好是4.6以后的吧,最新的已经出了

2017-02-21 17:14:51 5866

原创 DBGridEh用法总结三(PivotGrid的汉化)

数据库字段一般都是英文,不能直接展示给用户,而应该显示中文含义给用户。需要汉化两部分,一是设计用的字段汉化,二是表格区显示内容的汉化。1、 字段汉化设计工具(PivotGridToolBoxEh1)中显示字段中文含义,是通过数据集字段的DisplayLabel属性实现,只需要正确设置DisplayLabel即可。一种方法运行期动态指定,是把字段名和中文含义保存在数据库中,需要的

2017-02-08 14:33:27 1713 1

原创 DBGridEh用法总结二(PivotGrid的使用)

1、  之前的程序中实现分组编译都是动态生成SQL语句,到服务器执行,然后显示结果。现在用PivotGridEh,太方便了。但是在测试过程中费了不劲,自带的例子很正常。经过代码跟踪,发现是字段的Required应该设置为false即可。解决办法要修改单元PivotGridEh中4个过程,分别是:    procedure MakeColsTable;    procedure Ma

2017-02-06 18:19:51 2236

原创 DBGridEh用法总结一

DBGridEh用法总结一 一直用DBGridEh,最近才想把使用情况做一记录,以便查看。一、过滤窗口汉化。解决办法:修改EhLibConsts.pas这个文件即可实现。二、过滤功能要实现过滤功能需要做如下设置。DBG.STFilter.Visible:= True;//让过滤显示出来DBG.STFilter.Location:= stflInTitleFi

2017-02-05 14:56:41 1965

原创 用DEV控件制作Ribbon不能更换皮肤

1、在设计期更换的皮肤,运行后不起作用,后来经过网上搜索,发现需要手动添加单元 dxskinsdxribbonpainter,之后一切正常。2、一句话就可以实现换肤功能  dxRibbon1.ColorSchemeName := SkinName;支持的皮肤可以从dxRibbon1.ColorSchemeName中看到,主要有:MoneyTwinsOffice2007Blue

2016-12-15 19:19:52 1725

转载 win10升级后,已经安装的sql2000提示无法定位序数1于动态链接库sqlunirl.dll解决办法

转自:http://blog.sina.com.cn/s/blog_a8dc361e0102wt37.html解决方法:1、首先取得权限,TrustedInstaller权限.只要将下面的注册表文件导入,就有TrustedInstaller权限。   注册表下载链接: http://pan.baidu.com/s/1i4cLutR 密码: bxfv2、在c:\windo

2016-10-04 11:21:02 36597

原创 Oracle查询问题引发临时表使用

分析某段时间内,刷卡金额大于1000的卡的消费记录,写法如下。SQL语句写法:select a.dno,  a.dcard, a.dcard_money, a.dcard_type, a.ddate,       a.dsubshop, a.dworker,  a.dtype, j.Djf Dnowjf, b.dsje, B.Dcount  from st_card_salemx a,

2016-07-19 19:25:30 1522

转载 执行力就要“多快好省”

【案例分享】  一家企业的产品和服务最终到达消费者手中,至少要经过研发、采购、生产、销售等十几个关键环节,经过成百上千个工艺与流程,经由几人、几十人、成百上千个员工的辛勤工作,才能完成从投入到产出的一个循环。在这些环节、流程以及这些人的工作过程中,任何一个地方出现执行偏差,都会给整体绩效带来消极影响。  在讲授执行力课程的时候,我会给出3个公式让学员进行讨论,我们假设企业的产品从生

2016-02-29 22:01:38 721

原创 oracle update 几种方法容易理解和使用的更新命令

习惯了SQL server的update写法,感觉如此优雅和简便,近期要用oracle,是如此的不方便。经过努力发现三种写法还是很不错的,真不愧是大佬。    例子:两个表,结构相同,都有编号和名称。          create table tb1(              id int not null primary key,              name varc

2016-02-01 21:58:22 3516

原创 ADO操作Excel,提示错误“不可识别的数据库格式”

程序要实现从Excel中读取数据到数据库中,一直都很顺利。这次又在使用时却莫名出现错误“不可识别的数据库格式”。最后却发现是属性赋值错了。conExcel.KeepConnection := false;应该是conExcel.KeepConnection := True;惊喜天天有。

2016-01-29 22:04:18 4356

转载 Wince C#只运行一个实例有解决办法

C#写winForm程序和WinCE程序,实现单实例运行的代码是不一样的。收集多人的代码,测试成功,放在这里大家借鉴。一、WinForm简单。    static class Program    {        ///         /// 应用程序的主入口点。        ///         [STAThread]        static void

2015-12-09 18:21:49 1690

原创 DevExpress 控件中设置分隔符

在Delphi的标准菜单上设置分隔符是一件很简单的事,无论是设计期还是运行期动态生。但是DEV控件却不好使用,下面简单说说如何使用。1、设计期:右键店要设置分隔符的按钮,有‘begin a Group’,点一下。2、运行期:dxBarLargeButton3.Links[0].BeginGroup := True; //增加分隔符。会在这个按钮前添加一条分隔线。运行期动态生成的

2015-12-09 12:00:56 4652

原创 WinCE Socket的陷阱

摘要:    在做桑达PDA盘点功能。基本功能已经完成,最近想在门店部署WIFI,然后通过WIFI直接也数据库通信,将数据实时存入数据库。一是为了减少盘点结束后再手工导入的麻烦,并节省大量时间。回收一台数据大概需要30秒,这30秒并不是设备慢,而是需要人工拿设备并放在底座上,浪费了太多无功时间。二是为了实时看到盘点结果。在后台能够实时看到盘点结果,分析盘点原因,并且能够知道盘点进度以及还需要多

2015-10-08 12:14:59 2449

原创 socket C#与Delphi互传结构体

摘要:      Delphi与C#通过SOCKET通信,互传结构体。好处是可以把协议及要传送的内容封装成一个结构体,一次性发送,不需要再做过多的封包的拆包。封包过程通过的做法是把要发送的内容组成字符串,每个子项内容之间用分隔符隔开,以便客户端收到内容后知道如何拆包。拆包过程就把接收到的字符串再按分隔符分解成多项,并按封包时对应的子项赋值给对应的接收者。整个过程很繁琐,并且不同的开发语言对封包

2015-09-30 18:26:47 2093

原创 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 1149

原创 Socket通信 C#写服务商 Delphi客户端

摘要: 最近在做Wince开发,搞一个超市卖场采用手持机盘点的现场作业模块。通信部分的实现有两种,其一是通过USB线把数据拷到PDA 上,扫描条码后,查询本地的商品资料库(用SQLite做本地库),盘点完成后再通过USB把盘点结果导入服务器(还是通过读取SQLite库的方式),好处是卖场不需要布局WIFI,减少投资。其二是通过WIFI,建立无线连接,打描条码后,直接读取服务器上的商品资料,盘点数量

2015-09-28 10:44:10 1263 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 874

原创 USB小票打印解决办法

一、需要驱动,无需更改程序     安装USB打印驱动,然后共享打印机,通过 “\\计算机\打印机名”的形式,按端口方式写。二、直接写USB端口,无需驱动,但需要改程序。     1、USB端口的形式如:\\?\usb#vid_0483&pid_5720#11101800002#{a5dcbf10-6530-11d2-901f-00c04fb951ed}。         1.1、

2015-06-18 08:44:19 5477 3

Indy SSL支持库

Indy10 所需要的 SSL 库文件,D7+indy10.57,亲测可用。

2015-10-27

Indy SSL支持卡

Indy10 所需要的 SSL 库文件.D7+indy10.57,亲测可用。

2015-10-27

USB小票打印

获得USB打印端口名称,并实现打印及钱箱控制

2015-06-18

USB转COM线驱动 win7亲测可用

pl2302转换线,以前在XP下的驱动换成win7后不可用,在网上搜的驱动也不行,后来通过驱动精灵下载的这个程序,可以用。谢谢驱动精灵。

2012-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除