上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页
摘要: SQLite是一个很好用的单机数据库,体积小巧,支持大多数SQL 92语法,速度快,健壮,使用和分发都很简单。但是免费开源版并不提供加密功能,需要加密得购买原作者的一个插件,价格$2000!我们只好使用第三方的加密版本,这是被逼的。当然还有一个选择就是,在开源的C文件中已经预留了加密接口,有能力的可以自己去实现。闲话休提。第三方的加密版本已经有人实现了,还不止一个。下面分别介绍一下:※ SQLite原装版,http://www.sqlite.org/目前最新版本是。但我们现在不使用它的DLL而用第三方,所以可以无视它了。需要源文件的可以去下载。 ※ 第三方其一是用于.NET环境下的System 阅读全文
posted @ 2013-04-29 13:41 小天1981 阅读(1465) 评论(0) 推荐(0) 编辑
摘要: 操作时写的代码并不多,主要问题是需要将所有的数据读内存表不太合适,在修改上应该可以将数据源改为动态。使用的重点是设置DbGridEh1的RowDetailPanel打开,再将DbGridEh2放入,设置MemTableEh2的MasterFields和DetailFields,接入数据源,好,出锅!使用这个功能要注意一点,MasterDBGridEh的DataSet必须是MemtablEh,而DetailDBGridEh的Dataset却可以为其它DataSet类。 阅读全文
posted @ 2013-04-29 13:39 小天1981 阅读(546) 评论(0) 推荐(0) 编辑
摘要: procedure windowsposchange(var Msg:TWMWINDOWPOSCHANGING);message WM_WINDOWPOSCHANGING;varForm13: TForm13;//oleft:integer;otop:integer;owidth:integer;oHeight:integer;implementation{$R *.dfm}procedure TForm13.FormCreate(Sender: TObject);beginoleft:=Left;otop:=Top;owidth:=Width;oheight:=Height;end;proc 阅读全文
posted @ 2013-04-29 13:38 小天1981 阅读(147) 评论(0) 推荐(0) 编辑
摘要: //首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;//事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,//但并不多用,所以这里只对第一个介绍:function Format(const Format: string; const Args: array of const): string; overload;//Format参数是一个格式字符串,用于格式化Args里面的值的。Args又是什么呢,//它是一个变体数组,即它 阅读全文
posted @ 2013-04-29 13:36 小天1981 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 今天调试一个开源的例子程序,无意中发现一个IDE用来测试内存泄漏的语句。不过应该是Delphi2006以后的版本才能使用。实施方法方法非常简单,在Project source中加入如下第一条语句。ReportMemoryLeaksOnShutdown := DebugHook <> 0;Application.Initialize;Application.CreateForm(TForm1, Form1);Application.Run;为了测试效果,在你的主窗体onCreate事件中写一个引起泄漏的Test Case。varsl : TStringList;beginsl := 阅读全文
posted @ 2013-04-29 13:32 小天1981 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 主表:单号 客户aa abcbb baccc cab从表:单号 产品明细 数量aa A1 100aa A2 500aa A3 1000bb B1 3000bb B2 1500cc C1 200cc C2 280cc C3 300期望报表格式:单号 客户 产品明细 数量aa abc A1 100 A2 500 A3 1000bb bac B1 3000 B2 1500cc cab C1 200 C2 280 C3 300我用以下方法实现可是不能完全满足我的要求:用 adoquery1 连接主表(select * from 主表),然后在adoquery1的afterscroll过程中用adota 阅读全文
posted @ 2013-04-29 13:30 小天1981 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 从原来使用cxGrid4系列开始,都是使用ExportGrid4ToExcel的办法,可是使用了6系列后,发现这个办法已经不行了,从Dev官方找了解决办法。usecxGridExportLink;procedure TMainForm.cxButton_MemoExcelClick(Sender: TObject);beginif SaveDialog1.Execute thenbeginExportGridToExcel(SaveDialog1.FileName,cxGrid1,True,True,True);end;end;///////////注意:ExportGridToExcel导出 阅读全文
posted @ 2013-04-29 13:28 小天1981 阅读(195) 评论(0) 推荐(0) 编辑
摘要: library project1;uses Windows, SysUtils, MSODSApi;... {$R * .res}Function GetParamStr(pSrvProc: SRV_PROC; Index : integer; Var Param : String ) : integer;var PType : Byte; cbMaxLen , ParaLen : DWORD; IsNULL : BOOL;begin Result : = NO_ERROR; srv_paraminfo(pSrvProc, index, @PType, @cbMaxLen, @ParaLen, 阅读全文
posted @ 2013-04-29 13:26 小天1981 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 如果需要传递对象参数则放在函数参数里,这样就由调用者来创建和释放对象。例:[允许] function SomeOne(list:PStrList):boolean;当然,NewXXX之类的创建对象的函数除外。一直存在的全局对象也除外,这些全局对象将在初始化时创建,结束时释放。类定义中如果重载了Destory必须在里面加上inherited,否则不会释放的。使用对象(object)还是记录结构(record)。在有关性能方面的服务程序中:只产生单个实例或少于10个实例则允许使用对象。否则一律使用记录结构。在GUI方面都使用对象,但是不得超过五级继承。纯数据信息必须使用记录结构。错误、异常处理规则 阅读全文
posted @ 2013-04-29 13:24 小天1981 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 1.防止刷新时闪烁的终极解决办法{ 防止刷新时闪烁的终极解决办法(对付双缓冲无效时) }Perform($000B, 0, 0); //锁屏幕 防止闪烁// 做一些会发生严重闪烁的事情..//解锁屏幕并重画Perform($000B, 1, 0);RedrawWindow(Handle, nil, 0, RDW_FRAME + RDW_INVALIDATE + RDW_ALLCHILDREN + RDW_NOINTERNALPAINT);2.图片上显示透明文字//图片上显示透明的文字//直接用.Canvas.Brush.Style:=bsClear;//然后.Canvas.TextOut(x, 阅读全文
posted @ 2013-04-29 13:22 小天1981 阅读(246) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页