随笔分类 - Delphi
摘要:经常用到日期的计算,某个事情从某个时间dt1开始工作,经过N个小时的工作(仅限工作时间),预计什么时间能完工?假设工作时间是上午9:00 - 18:00,一天9小时了。。。好吧,中午1小时我也算了。现在有dt1 开工时间, N 工时,求,结束时间dt2。1.如果直接用dt1 + N,时间少还好,稍一...
阅读全文
摘要:发布自己常用的代码块, 同样哈, 只适合新手. 估计老手手里已经有一大堆了. 在做应用的时候,我们经常需要在一个字串前面或是后面补空格或0, 就是类似Oralce中PadL和PadR的功能, 比如取到的月份补2位,取到的单号补11位(前补0)等. 于是自己实现了这两个小函数. // copyright(c) hydonlee, 转载请注明原址//向左边补全, EX: PadL('123', 5,...
阅读全文
摘要:经常看到一些新手在CSDN上问登录窗口如何写,也看到N多人form1.show/form1.create/…中做form2.show之类。实在看不下去了。这种写法实在不是很好,于是还是把自己理解的登录框架来写写吧。希望能给新人一些引导(可不要误导了呀!) 1.登录窗口在什么地方调用? 我说:最好在项目文件中,splash窗口显示过,一些需要加载的资源、窗口加载过后,Application.Run之...
阅读全文
摘要:不知道是Borland为了偷懒还是为了效率高,很多VCL直接使用TStringList作为成员来管理数据(如:TListBox/TStringGrid), 而不是使用专门的Item类型(如:ListView就有ListViewItem类型), 这样就使得我们想扩展的时候(比如, 在一个ListBox中显示名称,并要记录ID, 而这个ID又不能显示出来), 遇到一些麻烦. 其实, StringLi...
阅读全文
摘要:用Delphi开发数据库应用,一般会涉及到闪屏(Splash/封面/Logo)、登录窗口、主数据模块(或主数据库连接)以及主窗口。 看到过不小新手在写的时候,所有form和DataModule全部自动生成,主窗口为第一窗口,在主窗口的OnCreate/OnShow/OnActive/中显示Splash/显示登录窗口等… 这明显是不明智的。由于创建先后的关系,谢谢经常会出现AV错误。 说说以上几个窗...
阅读全文
摘要:“破解”在今天已经大行其道,作为开发者用得较多的Delphi,由于有其实现的特殊性,破解方式与MFC大不相同,但是在DEDE出现以后,Delphi程序的破解就变得容易起来. 结合本人在开发与破解中的经验, 将几个提高反破解能力的想法提供出来,请大家指正. 1.不要使用明码比较. 如果在程序中使用类似如下代码: if edt_SerialNo.Text = '1234567' then ...els...
阅读全文
摘要:有位网友提出这样的问题:怎么给Delphi应用程序一个返回码,类似C的exit(-1)经过尝试,得到结果:Delphi的处理方式与C/C++有些不同,Delphi中对针对main或是WinMain函数的参数以及返回值的处理是通过system.pas中一些相应的变量及函数实现的。其中程序的返回值定义在System.pas中的ExitCode.所以,要想让程序返回值为1,则只需在程序中设置ExitCo...
阅读全文
摘要:摘要:本文就简单使用Delphi调用BarTender7.75之ActiveX组件打印条码的开发过程做介绍. 1. 前言 最近一个项目需要在扫描条码后按固定的格式打印。条码打印软件客户习惯使用的是BarTender,为了保持客户的习惯以及降低开发风险,决定使用Delphi调用BarTender来完成打印条码标签功能。 此功能的重点在于: a) 使用BarTender格式打印 b) 格式中...
阅读全文
摘要:"Access violation at address 地址 in Module '你的应用'. 这种在Delphi的开发中普遍存在. 这种内存访问错误,往往是访问了已经Free掉的对象,或是访问还没有生成的对象. 如果这个地址为 0000000, 则一般为访问还没有创建的对象. 如果这个地址不为0 ,而是一个地址, 那可能是要访问的对象已经Free掉. 或是要访问的对象是局部变量, 但还没有创...
阅读全文

浙公网安备 33010602011771号