![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Delphi学习
taste品味
平平凡凡做人,点点滴滴积累
展开
-
delphi7调用delphi xe dll 心得
最近由于项目需要上传文件到阿里OSS,参考OSS API用DELPHI XE写了一个DLL给delphi7的工程调用。最初传入中文,打印日志老是乱码。原创 2021-01-17 21:13:45 · 688 阅读 · 1 评论 -
关于DELPHI中出现'BOF或EOF'中有一个是“真”,或者当前的记录已被删除,
据所用D5 D7版本,D5存在此问题,D7不存在此问题解决方法:不用更新Ado,是Ado的bug,可以通过先关闭ado的记录集后关闭ado解决if (adoQuery1.active) then begin adoquery1.recordset.close; adoQuery1.Close ; end;原创 2012-06-19 14:25:31 · 6530 阅读 · 4 评论 -
关于删除文件夹 RemoveDir
RemoveDir只能删除该目录下没有文件,也没有下级目录。网上找的一函数,有文件有下级目录都可以删除function DelDirectory(const ADirectory :string):Boolean;var fo :TSHFILEOPSTRUCT;begin FillChar(fo, SizeOf(fo), 0); with fo do beg原创 2012-08-10 21:50:29 · 3649 阅读 · 0 评论 -
indy10安装方法
首先要卸载Delphi7中的Indy9. 卸载方法如下:1、进入D7的目录,双击Borland Delphi7.msi。2、在弹出的对话框中选“Modify”。3、然后点“Next”,在接下来的对话框中,找到Indy,点“Do Not Install”。之后一路“Next”,最后完成,就卸载成功了。 安装:1、把下列路径加入Delphi的Library Pathi原创 2012-09-11 23:08:18 · 6109 阅读 · 0 评论 -
Delphi 中的MD5实现方法(转)
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的DLL或是Pas了。在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现。示例代码procedure TForm1.Button1Click(Sende转载 2013-11-14 19:26:06 · 1308 阅读 · 0 评论 -
MSDAORA.1与OraOLEDB.Oracle一些使用经验
A:provider=MSDAORA.1B:provider=OraOLEDB.Oracle.1TADOConnection使用这两种连接方式时MSDAORA.1无法捕获ora-01427,而OraOLEDB.Oracle.1却可以。MSDAORA.1可心共享同一个连接(在多线程中使用),OraOLEDB.Oracle.1会出现【对象被打开】原创 2015-05-29 09:58:49 · 10302 阅读 · 0 评论 -
DBGRIDEH显示(MEMO)修正方案
DrawMemoText修改为True,即可自己显示内容,而不再显示(MEMO)原创 2013-02-04 08:24:21 · 3816 阅读 · 0 评论 -
ORA-01460: 转换请求无法实现或不合理
通过参数化方式插入BLOB字段出现此错误,SQL写法:begin insert into ...... commit;end;对于增加或修改BLOB字段时,不能用begin commit end的方式。原创 2017-03-09 12:48:33 · 1827 阅读 · 0 评论 -
query.recordcount 总是为-1 解决方法
query.Last;query.RecordCount ;query.first;即可以得到记录数原创 2017-11-01 08:15:38 · 681 阅读 · 0 评论 -
TQuery的cannot modify a read-only dataset解决方法
方法一:1 RequestLive设置为True2 添加TUpdateSQL,填写相关的SQL语句3 TQuery的SQL语句可按需要读取部分字段或全部 方法二:1 RequestLive设置为True2 TQuery的SQL语句为select * from Table原创 2012-06-08 14:15:19 · 7553 阅读 · 0 评论 -
DLL调试方法
一、DLL调试方法: (1)、 打开DLL所在的工程,选择run->parameters,在Host Application中选择调用DLL的EXE文件。单击【OK】 (2)、按ctrl+alt+m打开modules,右键Add Module选择EXE调用的DLL所在路径,运行DLL的工程,按ctrl+alt+m,选择DLL,右键单击Reload Symbol Table,在DLL原创 2012-04-26 08:43:21 · 827 阅读 · 0 评论 -
Delphi中对时间操作大全
看一看在delphi中用于描述时间的几种数据结构,对时间的操作,其实就是对这些结构的操作。 TDateTime类型: Delphi中最常用的表示日期时间的数据类型TDateTime类型,和普通的整形数一样,你可以给日期定义一个日期型变量以便在程序中进行操作。TdateTime类型实质上是一个Double型的数,在Delphi中是这样定义TdateTime类型: type TDate转载 2012-03-14 14:46:22 · 9624 阅读 · 0 评论 -
一个类似百度谷歌的下拉列表
设计目的:为了快速查找定位某些记录设计功能:按实际需要显示某些表记录到下拉列表,快速进行选择支持:1根据TEdit输入内容动态改变下拉列表的项2可在任何容器的TEdit下面显示列表,正对TEdit下方,与左端对齐3支持按上下键进行滚动选择记录,动态改变TEdit的内容4支持鼠标单击进行定位5输入内容与数据一致,并且只有一条记录时进行自动选择6当输入内容在数据不存在时原创 2011-11-18 14:27:52 · 445 阅读 · 0 评论 -
Exit与Abort的异同
同都会退出后面的操作异Exit仅仅退出该语句后面的语句Abort退出该语句后面所有的语句包括后面继承的语句原创 2011-11-03 17:54:16 · 530 阅读 · 0 评论 -
idhttp下载函数
procedure DownloadFile(const AIDHttp :TIdHTTP; AURL, AFileName :string; AResume :Boolean);varLFileStream :TFileStream;beginif FileExists(AFileName) thenLFileStream := TFileStream.Create(AFil转载 2011-11-29 23:15:20 · 553 阅读 · 0 评论 -
坐标的相对转换ClientToScreen与ScreenToClient
假如一个有一个TEdit的实例edt_Position,edt_Position所在容器有好几层,所在的窗体为frmMain。现要弹出一个FORM,FORM的容器为frmMain,弹出的位置在edt_Position的下面,并且左边对齐,如何做呢?首先将edt_Position的坐标转换为屏蔽坐标,再将此坐标加上偏移量再转换为在frmMain的坐标即可。varLScreenPoint,原创 2011-11-13 13:19:14 · 6639 阅读 · 0 评论 -
消息处理的次序
整个消息处理的次序hook-->application.OnMessage-->wndproc-->Dispatch( message 定义的procedure ) -->defaulthandler翻译 2011-12-06 13:03:25 · 416 阅读 · 0 评论 -
Invalidate, Repaint, Update, Refresh区别
Refresh和Repaint是一样的,它只是简单地调用了Repaint. Update会导致整个窗口(对于没有窗口的TGraphicControl来说,就是它的父控件的窗口)立即处理WM_PAINT消息,即重画应该画的部分. Invalidate使控件所在窗口的控件客户区域(对于TWinControl来说就是它的客户区域,对于TGraphicControl来说就是它的父控件的窗口在它的区翻译 2011-12-07 22:32:23 · 1937 阅读 · 0 评论 -
Exit与Abort
Exit只退出该语句后面的语句Abort退出该语句后面所有的语句,包括继承后面的语句原创 2012-01-15 15:57:19 · 470 阅读 · 0 评论 -
EhLib V5.2.84 安装方法
安装方法:(1)在C:/Program Files/Borland/Delphi7下, 新建目录Ehlib(2)将Common和Delphi7中的目录的文件拷贝到上面的这个目录中(3)在Tools->Environment Options->Library->Library Path 中添加这个目录.(4)编译四个dpk文件:EhLib70.Dpk,转载 2012-02-13 13:27:42 · 4432 阅读 · 0 评论 -
关于DELPHI调用JAVA服务的问题
关于DELPHI调用JAVA服务出现的问题SOAP Response Packet :result expected,received解决方法:去掉自动生成注册的代码:InvRegistry.RegisterInvokeOptions(TypeInfo(RemotingLoginServicePortType), ioDocument);14原创 2011-08-11 17:26:28 · 1216 阅读 · 0 评论 -
将函数或过程作为参数进行传递实例
又名:将事件作为参数进行传递实例首先要明白DELPHI中的事件是指针来的。1 声明一个事件:type TChangeEvent = procedure (ASelectType, AResultID :string) of object;2 定义一个类(uDataListview.pas)typeTListDataObject=classprivateFC原创 2011-11-15 09:58:25 · 1858 阅读 · 1 评论