2008年10月17日
摘要: {----------------------------------------------------------------------------- 根据有规则的编码层次结构数据构建TreeView 使用时直接引用此单元即可。 最后修改:米铁强 最后完成日期:2009-7-7-----------------------------------------------------------------------------}unit U_LevelDBTree;interfaceuses ComCtrls, ADODB, DB, Classes, SysUtils, StrUtil 阅读全文
posted @ 2008-10-17 22:33 漂流侠 阅读(833) 评论(0) 推荐(0) 编辑
  2008年10月16日
摘要: //前面定义好常量const C1 = 123456; C2 = 234567; PASSKEY = '66666';//加密函数function Encrypt(const S: String; Key: Word): String;var I: byte;begin Result:=S; for I:= 1 to Length(S) do begin Result[I]:= char(byte(S[I]) xor (Key shr 8)); Key:=(byte(Result[I]) + Key) * C1 + C2; end;end;//解密函数function Decrypt(cons 阅读全文
posted @ 2008-10-16 20:39 漂流侠 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 1 、如何实现在Microsoft Access数据库中的图像存储:这里是利用TStream的子类TMemoryStream向Microsoft Access数据库中存储图像的。下面的这段代码是在按了“保存”按钮之后所触发的事件处理程序:procedure TForm1.Button1Click(Sender: TObject);var MyJPEG: TJPEGImage; MS: TMemoryStream;begin MyJPEG := TJPEGImage.Create; try with MyJPEG do begin Assign(Image.Picture.Graphic); M 阅读全文
posted @ 2008-10-16 20:36 漂流侠 阅读(212) 评论(0) 推荐(0) 编辑
  2008年10月14日
摘要: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 在程序或函数的标题部分,可以指定参数的预设值。指定预设值的方法就是在宣告参数之后加上等号和一个常数运算式,而且这个运算式运算之后的结果必须跟这个参数的声明类型一致才行。例如,给定下面的过程宣告:procedure FillArray(A:array of Integer; Value: Integer = 0);那么下面这两个使用过程的方法是一模一样的FillArray(MyArray);FillArray(MyArray, 0);注意:有预设值的参数必须放 阅读全文
posted @ 2008-10-14 23:58 漂流侠 阅读(285) 评论(0) 推荐(0) 编辑
摘要: delphi-多态(overload,override)与接口(interface) 先来聊聊重载问题(也叫超载,总之是那个Overload)吧。在同一个类中,出现多个同名的方法的现象就是Overload。联系起上面提到的兄弟俩,我想这更好理解。他们从外观上是相似的,不同的是某些“参数”,类型上可能各异或是个数上不同。在Delphi中,所有方法都默认是静态的,便于编译器和链接器解析调用。为实现超载,要在方法明的后面加上关键字overload,不然会产生报错。先看个小例子吧:type //这是Delphi对类Ta的定义部分 Ta=class public procedure XiongDi(a 阅读全文
posted @ 2008-10-14 23:57 漂流侠 阅读(1542) 评论(0) 推荐(0) 编辑
摘要: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 资料一。 从数据库导数据至excel 容易,但要是想把excel 里的数据通过delphi写的程式导入数据库就没那么简单了,并且网上讲的都不全面,没有几个完整可行的方案,以下是我收集的个人认为比较可行的方案,不敢独享,故拿出来供大家学习参考之用! procedure load(rowCount,colCount:integer; fileName:String; var grid:TStringGrid); //从Excel中读取数据到 Grid 阅读全文
posted @ 2008-10-14 23:37 漂流侠 阅读(882) 评论(0) 推荐(0) 编辑
摘要: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 Delphi作为一个出色的RAD,强大的数据库功能是其最重要的特色之一,但是操纵困难的QuickReport控件常常不能满足数据库报表的需要。如果你的报表非常复杂,或者要求灵活地改变格式,那么使用Excel作为报表服务器是一个不错的选择。Delphi从版本5开始提供的Excel组件极大地简化了OLE自动化技术的应用。不过缺漏多多的帮助文件一直是Delphi最令人诟病的地方,这些新组件也不例外,本文试图对此作一较详细地介绍。Excel的对象模型是一个树状的层次 阅读全文
posted @ 2008-10-14 23:34 漂流侠 阅读(764) 评论(0) 推荐(0) 编辑
  2008年9月8日
摘要: 注:本文主要是讨论delphi程序启动时和退出时的执行顺序,期间有些知识来源于Delphi帮助,有些来自《Delphi7程序设计教程》(这本书只告诉我有initialization 和finalization这两个关键字,但是没讲明白)(唉,现在的书只讨论框框架架,不讨论细节,写出来的东西让你看能看懂,别人一问或者自己一想,就是什么都不懂!讲的不细致呀!唉,自己琢磨吧!!)。代码用两排‘*’标明。好了,进入正题,首先说明initialization 和 finalization 在代码单元中的位置:************************************************ 阅读全文
posted @ 2008-09-08 19:53 漂流侠 阅读(324) 评论(0) 推荐(0) 编辑
  2008年9月7日
摘要: delphi操作word一、Delphi程序启动Word采用CreateOleObjects的方法来启动Word,调用VBA代码,具体实现过程为:首先使用GetActiveOleObject('Word.Application')判断当前内存中是否存在Word程序,如果存在,则直接连接,如果没有Word程序,则使用CreateOleObject('Word.Application')启动Word二、Delphi程序新建Word文稿格式:WordDocuments.Add(Template,NewTemplate,DocumentType,Visible)Template: 使用模板的名称,Ne 阅读全文
posted @ 2008-09-07 12:41 漂流侠 阅读(1032) 评论(0) 推荐(0) 编辑
摘要: procedure EnumComPorts(Ports: TStrings);var KeyHandle: HKEY; ErrCode, Index: Integer; ValueName, Data: string; ValueLen, DataLen, ValueType: DWORD; TmpPorts: TStringList;begin ErrCode := RegOpenKeyEx( HKEY_LOCAL_MACHINE, 'HARDWARE\DEVICEMAP\SERIALCOMM', 0, KEY_READ, KeyHandle); if ErrCode ERROR_S 阅读全文
posted @ 2008-09-07 12:38 漂流侠 阅读(220) 评论(0) 推荐(0) 编辑