- 博客(53)
- 资源 (5)
- 收藏
- 关注
原创 今天终于发布PDMtoGUI V1.5稳定版
PDMtoGUI是Delphi IDE数据字典向导,用于将PowerDesigner数据字典文件PDM,导出到GUI界面设计中,并按PDM中的数据设计设置控件的属性,并进行自动排版。它是软件工程设计到编码、GUI设计的一个衔接,可极大的降低开发人员的重复劳动,提高效率降低失误。注:PDM文件必须是XML格式的!已知对PowerDesigner PDM文件的支持为V9-V12版,因手头无更高版本
2009-03-25 23:10:00 1193
原创 向Delphi IDE菜单中插入项,必须用Insert方法,用Add无效
最近升级一数据字典工具向导PDMtoGUI,须向IDE中插入菜单项,调试好后,安装完向导运行,怎么样都无法向IDE中插入菜单项。将主要代码片段拷贝到一个普通Exe工程中测试能够插入菜单项。昨晚试了一二个小时,无果。 代码段如下 FAddMenuItem := TMenuItem.Create(nil); FAddMenuItem.Name := miPDMtoGUIz
2009-03-13 15:57:00 1170
原创 如何遍历网页内图片
以前做邮件客户端时,收发Html邮件情况下需要将内嵌图片枚举,当时Google了一遍,没有找到可用的资料,都是些不全或错误代码。为了赶工,只有采用笨办法:通过查找网页源码的办法枚举内嵌图片。 后来,查了一阵MSDN啃了其中干巴巴的英文,并度了N次,找到了想要的方法。在窗体上放WebBrowser、Memo、按钮,下面是源码,如果有什么疑问请查阅MSDN。var doc: IHt
2008-05-27 23:27:00 1699
原创 用Indy 10发送Smtp邮件突破163的反垃圾邮件机制
前些日子 搞了一个完整功能的,而且与数据库相结合的邮件客户端应用系统,支持发送带内嵌图片的Html邮件~且附件也是正常的! 回想那些日子,网上可供查阅的资料少得可怜,辛苦的技术攻关,不断的分析邮件数据及测试。本文只讨论突破反垃圾邮件机制,其它技术细节恕不奉上,这可向同道指一条明路:1、用FoxMail查看正常邮件的原始数据;2、阅读Indy源码中几个关键单元的说明,及实现代码,相信你会有
2008-03-13 02:02:00 4517 3
原创 cxGrid作树形控件使用
企业应用开发时,经常要将数据树形显示,特别是分类数据和层次数据。Dev Express控件包提供了三种树形控件,TreeView和DbTree都很常用,相信大部分用过的朋友都不会太大的问题。而cxGrid也可用作树形控件! 这里可能有人疑问:用得着吗?先说说cxGrid用于树形显示的场合:分类数据中,分类数据是动态的且和表格数据在同一表;树形控件和数据绑定主显示控件都基于同一数据源。
2008-03-07 07:20:00 4527 2
原创 Delphi中须注意的二个对象(TStreamAdapter、TObjectList)的释放问题
TObjectList对象的创建方法有一个参数:constructor TObjectList.Create(AOwnsObjects: Boolean);从字面就可理解其意义:拥有对象集与否。帮助文档:If the OwnsObjects property is set to true (the default), TObjectList controls the memory of its
2008-03-07 06:32:00 5264
原创 我出的几道OO面试题
1、谈谈你对类的封装性和抽象性的理解,及OOP中开闭原则?请以OO的角度解释一下“白马非马”这话。(15分)2、简述接口与虚方法的区别和优缺点?程序设计中怎么做取长补短?(15分)3、述说一下你所知的代码重用的技术?请说明如何在Delphi调用Dll的模式与非模式窗体?(20分)4、(可选题)谈谈Web Services,和SOA(20分)就这么简单的几题,公司用了半年,面试答得让我满意的只一二
2008-03-07 06:14:00 2716 4
原创 数据库设计的八条原则
一、命名要简洁,并体现其应用或功能。如库名BxxCRM,Bxx为公司简称,CRM为Crm系统中的主数据库;为了防止被分析破解,表名建议采用子系统简写+功能单词首字母,如BOM子系统中:BOMMD,该表的字段名为MD001,MD002......MD022并预留五到十字段供扩展,对常用表还应定义十个以上的自定义字段,供客户自定制,自定义字段统一命名UDF01...UD99。表和字段都应该在数据字典
2008-03-07 06:03:00 1611 2
原创 MS-SQL 2000中未公开的Type_name(id)内部函数和Sp_ForEachTable存储过程
Type_name(id)返回指定Id的类型名称,如VarChar,Char,Int等,Id为SysColumns系统表返回的XType列中的值,这个函数在做数据字典和服务器管理程序时很有用!!Sp_ForEachTable:遍历所有当前库中的表,示例:Exec Sp_ForEachTable "if not exists(Select 1 From ?) drop table ?" --用
2008-03-07 05:12:00 1180
原创 Delphi中的压缩单元ZLib.pas中二个鲜为人知的二个“指针”全局函数CompressBuf()和DeCompressBuf()
相信很多人都用过ZLib.pas中加解压功能,一般都是用其中的压缩流TCompressionStream和解压流对象TDecompressionStream。但在很多应用,如网络传输中须对数据加压解压,WinSock传递的数据都是内存块指针,因此很需要一套直接基于指针的函数。这时CompressBuf()和DeCompressBuf()就派上用场了,它们的声明如下:procedure Compr
2008-03-07 05:04:00 3861 1
原创 Delphi中模块句柄管理,及FindClassHInstance详解
第一部分、问题的提出:GetModuleHandle()和全局变量HInstance都只能得到Exe的模块句柄。 在设计企业开发框架时,因为采用的是Exe,BPL,DLL的结构:一个Exe和Bpl类库,及多个Dll窗口模块。在Bpl开发框架中设计了基类窗口、单表、主从表、多平行表、对话框、数据编辑对话框等等模板,而这些窗口统一由窗口类工厂创建释放,并由主窗口模板创建类工厂接口实例进行
2008-03-07 04:54:00 2881
原创 cxGrid滚动Bug和数据分页的解决办法
使用SQL进行数据分页时,需要用数据集的滚动事件进行读包。而表格控件在设置数据源、其数据集状态改变时都会产生滚动事件。 下面我就cxGrid的滚动事件的处理及产生始末讲解一下: 进行SQL数据分页时,都是在滚动事件中判断记录是否到了最后一条,如果是则读下一个分页。此一分页的数据需要显示到到cxGrid中,因此读的时候又产生了滚动事件,也一定读到最后一条~如此又触发读包SQL...
2008-02-24 02:28:00 5457 7
原创 变参array of const深入研究
Delphi的Format函数大家都用得很多,第二个参数用着确实很方便。最近在数据库开发应用中需要自己创建一个带array of const参数的函数,对于常用的类型String,Integer,Pointer处理都没什么问题,但当用到Widestring类型时却出错,摸索了一上午,感觉获益良多。现在将问题、解决问题的思路、分析方法等一一道来,希望对诸君有所启发就达到了我写这篇文章的目的了!环
2008-02-24 02:20:00 1030
数据库应用开发必备利器PDMtoGUI V1.5稳定版,Delphi 7 IDE数据字典向导
2009-03-25
Delphi 7数据字典向导PDMtoGUI,数据库应用开发必备利器
2009-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人