随笔分类 -  Delphi

摘要:Delphi 2010安装及使用UniDAC 4.0 . 分类: unidac 2012-04-08 11:30 77人阅读 评论(0) 收藏 举报UniDAC是一个功能强大的非可视化跨数据库的数据访问组件,可用于Delphi,Delphi for .NET,C++Builder,and Lazarus (Free Pascal)。它提供了对流行数据库服务器的统一访问,像Oracle,Microsoft SQL Server,MySQL,InterBase,Firebird,PostgreSQL,SQLite,DB2,Microsoft Access,Sybase Advantage D... 阅读全文
posted @ 2012-07-09 21:40 许明吉博客 阅读(9324) 评论(2) 推荐(1)
摘要:本文的目的在于采用流水账方式来记录学习delphi访问嵌入式数据库sqlite中的一些点滴。欢迎各位同好共同学习和批评指正。file:1 准备工作part1 delphi版本:delphi2007 for win32 update3。任意安装版本即可。sqlite dll版本:3.5.3。目前最新版本的sqlite引擎。[ http://www.sqlite.org/ ]sqlite for delphi:simple sqlite 3.0 for delphi。目前的最新版本的发布日期为27 August 2007,支持sqlite dll版本3.4.2。经简单测试,3.5.3也是可以的。自 阅读全文
posted @ 2012-06-02 22:01 许明吉博客 阅读(5496) 评论(0) 推荐(0)
摘要:一,准备工作。1.1安装Delphi2010。1.2获得FastReport 4.9.31。二,FastReport文件夹下LibD14目录添加到Delphi中的Library Path步骤:1,打开Delphi2010,打开菜单Tools->Options。 2,左侧点击Delphi Options的+号,点击Library-win32 3,在右侧框中找到Library Path,将FastReport->LibD14路径粘贴至该文本框的末尾,粘贴之前输入分号(;)。三,生成FastReport汉化文件步骤:1,运行"recompile.exe"文件,设置相应 阅读全文
posted @ 2012-03-11 12:44 许明吉博客 阅读(7383) 评论(1) 推荐(0)
摘要:// 不同风格的光标procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin CreateCaret(Edit1.Handle, 0, 10, 4); ShowCaret(Edit1.Handle);end;// 用图像做光标procedure TForm1.Memo1MouseDown(Sender: TObject; Button... 阅读全文
posted @ 2012-01-12 16:07 许明吉博客 阅读(1277) 评论(0) 推荐(0)
摘要:需求:QQ我的资料中基本资料窗体中的文本框: 正常状态下,文本框只有一条看起来只有一个像素的边框,边框的颜色从上到下由深到浅的渐变,当鼠标定位到该文本框时,其边框会变粗,而且边框的颜色加亮显示如下图所示: 实现思路:一、准备两个边框素材图片,一个是正常状态下的边框素材,比如:另一个是鼠标进入到文本框内的边框素材比如:二、需要的参数首先是边框素材的绘制边距,分为左边距,右边距,上边距,下边距边框素材根据边距的设置,使用九宫格缩放绘制到界面上其次是边框的边距,也为左边距,右边距,上边距,下边框代表的是文本框客户区(即输入区)的大小默认的,边框素材的绘制边距和边框的边距是一样的三、消息处理边框属于文 阅读全文
posted @ 2012-01-12 10:39 许明吉博客 阅读(2766) 评论(1) 推荐(0)
摘要:需求: 当文本框没有输入内容且输入焦点不在文本框时,显示提示文字:“请输入帐号” 当文本框得到输入焦点时提示文字不显示 实现的思路有两种,一种是在外部控制,在文本框的OnEnter事件中,将提示文字清除,在OnExit事件中如果文本框的Text为空时给文本框加上提示文字, 而且提示文字的颜色和正常文字的颜色有区别,一般大家使用灰色另一种是重新制作一个控件,当文本框获取焦点且Text为空时,使用WM_PAINT消息,在其中绘制提示文字 ifNot Focused and (Text='') and (HelpText<>'') thenbegin // 阅读全文
posted @ 2012-01-12 10:36 许明吉博客 阅读(7615) 评论(0) 推荐(0)
摘要:Delphi版 关于QQ输入控件无法Spy到句柄的实现方案可行性研究 QQ2009版本的界面,和以前的版本有个显著的不同,就是无法通过Spy++抓到界面上某些元素的句柄了,对于这个技术的实现方案,相信好多人都有一些 揣度,实现方法怎样,有人说是应用的DirectUI技术,也有人说是用反Hook,等等一些列的说道!在这,我也说说我的一点看法!我说的一种方法不属 于以上的任何一种方法。至于如何,且听我慢慢道来!此思路,来源于一个偶然,在聊天窗口失去焦点与获得焦点时的一个偶然。 聊天的时候,我们要输入信息,首先要让窗口获得焦点!然后输入框也要获得焦点,才能输入。那么我们可以想象一下,在Delphi中 阅读全文
posted @ 2012-01-06 23:47 许明吉博客 阅读(835) 评论(0) 推荐(0)
摘要:type TARGBRect = packed record Blue, Green, Red, Alpha: Byte; end; var I, x, y: Integer; bmp: TGpBitmap; bg: TGpGraphics; Data: TBitmapData; P: PInteger; begin DoubleBuffered := True; bmp := TGpBitmap.Create('0.bmp'); try Data := bmp.LockBits(GpRect(0, 0, W, H), [imRead, imWr... 阅读全文
posted @ 2012-01-05 16:15 许明吉博客 阅读(4491) 评论(0) 推荐(1)
摘要:TGBBitmap用在GDI+中,而TBitmap用在GDI中,有的时候,我们需要将它们进行转换,例如我们要将一个JPEG的图片的缩略图放到TBitmap中,这样它就可以很方便的被Windows中的多个控件所使用(如ImageList、Image等等控件)。 程序用DELPHI实现,使用了for Delphi 的GDI+接口函数,GDI+部分的代码可能与网上的不同,但差别不大。 代码如下:use gdipapi,gdipobj,gdiputilprocedure TForm1.ToBitmap(fnames:string);VAR Graphics : TGPGraph... 阅读全文
posted @ 2012-01-05 13:36 许明吉博客 阅读(3115) 评论(0) 推荐(0)
摘要:{******************************************************************************* 半透明窗体控件 版本:1.0 功能说明 : 1.支持颜色和图片半透明 2.暂时只能手动指定背景图片 3.可调透明度(0..255) 4.可控制是否可移动窗体 联系方式: Email: mdejtoz@163.com*******************************************************************************}unit uTranslucentForm;i... 阅读全文
posted @ 2012-01-04 22:24 许明吉博客 阅读(3391) 评论(0) 推荐(0)
摘要:procedure TForm1.Button1Click(Sender: TObject);varh: HWND;FormStyle: Integer;beginh := self.Handle;FormStyle := GetWindowLong(h, GWL_EXSTYLE);SetWindowLong(h, GWL_EXSTYLE, FormStyle or WS_EX_LAYERED);SetLayeredWindowAttributes(h, 0, 128, LWA_ALPHA);end; procedure TForm1.Button2Click(Sender: TObject. 阅读全文
posted @ 2012-01-03 22:52 许明吉博客 阅读(2004) 评论(0) 推荐(0)
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg;type TForm1 = class(TForm) pnl1: TPanel; pnl2: TPanel; img1: TImage; img2: TImage; btn1: TButton; procedure btn1Click(Sender: TObject); proced... 阅读全文
posted @ 2012-01-03 17:52 许明吉博客 阅读(585) 评论(0) 推荐(0)
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;const Penwidth = 1;//画笔的粗细 Len = 20;//箭头线的长度 {说明:这两个常量应该一起变化,具体值由效果来定。 当Penwidth很小时,显示的效果不是太好}type TForm1 = class(TForm) procedure For... 阅读全文
posted @ 2011-12-12 15:53 许明吉博客 阅读(3358) 评论(0) 推荐(0)
摘要:string checkCode = "1234";//1234随机数 int iwidth = (int)(checkCode.Length * 11.5); //封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成 .指定宽度和高度。以象素为单位 System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 20); //封装一个 GDI+ 绘图图面。无法继承此类. 从指定的 Image 创建新的 Graphics Graphics... 阅读全文
posted @ 2011-10-27 17:50 许明吉博客 阅读(554) 评论(0) 推荐(0)
摘要:客户端代码:unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,IdBaseComponent,IdComponent,IdTCPConnection,IdTCPClient,IdHTTP,StdCtrls;typeTForm1=class(TForm)IdHTTP1:TIdHTTP;Button1:TButton;Button2:TButton;Memo1:TMemo;procedureButton2Click(Sender:TObject);pri 阅读全文
posted @ 2011-10-27 15:32 许明吉博客 阅读(2203) 评论(0) 推荐(0)
摘要:在Delphi中,可利用类Tcanvas的CopyRect方法实现图象的放大和缩小。其功能是将源画布上的一个指定矩形区域(简称源矩形)内的象素,拷贝到目的画布上的一个指定矩形区域(简称目的矩形)中。亦可称之为象素块复制。 由CopyMode属性确定拷贝的模式。在直接拷贝模式(cmSrcCopy)下,当源矩形与目的矩形相等时,图象不变;若源矩形大于目的矩形,图象则缩小;而当源矩形小于目的矩形时,图象便被放大(在目的矩形中扩展)。源矩形与目的矩形大小之比,决定图象的缩放倍数。CopyRect方法声明如下: Procedure CopyRect(const Dest: TRect; Canvas.. 阅读全文
posted @ 2011-08-29 11:26 许明吉博客 阅读(1233) 评论(0) 推荐(0)
摘要:Delphi的四舍五入函数作者:nick 日期:2007-11-13字体大小:小中大一、四舍五入法四舍五入是一种应用非常广泛的近似计算方法,其有算术舍入法和银行家舍入法两种。所谓算术舍入法,就是我们通常意义上的四舍五入法。其规则是:当舍去位的数值大于等于5时,在舍去该位的同时向前位进一;当舍去位的数值小于5时,则直接舍去该位。所谓银行家舍入法,其实质是一种四舍六入五留双(又称四舍六入五奇偶)法。其规则是:当舍去位的数值小于5时,直接舍去该位;当舍去位的数值大于等于6时,在舍去该位的同时向前位进一;当舍去位的数值等于5时,如果前位数值为奇,则在舍去该位的同时向前位进一,如果前位数值为偶,则直接舍 阅读全文
posted @ 2011-08-29 11:22 许明吉博客 阅读(453) 评论(0) 推荐(0)
摘要:procedure TForm1.btn1Click(Sender: TObject);begin{$Define ss} (* 用于定义一个条件符号,一旦定义,条件符号就为真 *){$IFDEF ss} (* 对条件符号进行判断,为真则编译源文件 *) ShowMessage('ss Has defined!!'); Text := 'ss Has defined!!'; Form1.Color := clLime;{$ELSE} (* 与$IFDEF配合使用,如果$IFDEF条件为假,则只对源文件$ELSE后一小部分进行编译 *) ShowMess... 阅读全文
posted @ 2011-08-29 09:38 许明吉博客 阅读(701) 评论(0) 推荐(0)
摘要:function get_py(st : string):string;function GetPYIndexChar( hzchar:string):char;begin //的到一个汉字的拼音头个字母 case WORD(hzchar[1]) shl 8 + WORD(hzchar[2]) of $B0A1..$B0C4 : result := 'A'; $B0C5..$B2C0 : result := 'B'; $B2C1..$B4ED : result := 'C'; $B4EE..$B6E9 : result := 'D' 阅读全文
posted @ 2011-08-29 09:36 许明吉博客 阅读(613) 评论(0) 推荐(0)
摘要:dxdocksitedxdockpanel注意正在编辑的property 阅读全文
posted @ 2011-08-25 10:08 许明吉博客 阅读(749) 评论(0) 推荐(0)