
Delphi
文章平均质量分 71
love3s
这个作者很懒,什么都没留下…
展开
-
Delphi两个有用的函数
function StrToHexStr(const s: string): string;var i: Integer; vBuff: TBytes; AnSiStr: AnsiString;begin Result := ''; if s = '' then Exit; vBuff := BytesOf(AnsiString(s)); fo原创 2013-05-21 09:50:16 · 3686 阅读 · 0 评论 -
Delphi(Lazarus)怎样不注册调用COM
结合网络上的一片文章(具体那篇文章,你可以在百度里边找“Delphi不注册调用COM”),稍加修改,得出以下心得:首先是CreateCom(来自网络)function CreateComObjectFromDll(CLSID: TGUID; DllHandle: THandle): IUnknown;var Factory: IClassFactory; DllGetCl原创 2012-03-20 17:27:19 · 4391 阅读 · 4 评论 -
Delphi 怎么不注册 dll 就调用 com
一.方法lich (2003-10-30 22:16:00) 前言:如果你的程序中使用了 COM对象或者 OCX控件,发布程序的时候必须带上相关的 DLL文件或者 OCX文件,同时还需要注册到系统中,如果我想让我的程序 Copy & Run, 不需要安装,(现在流行绿色软件嘛)那么使用下面的方法可以调用未注册的 COM对象或者 OCX控件我仅仅提供简单的转载 2012-03-10 17:28:47 · 2608 阅读 · 1 评论 -
浮点数问题
今天在查询的时候,明明两数相减等于0,但就是得不到预期的结果,比如:IF Float1 - Float2 > 0 Print('成功!')最后得知,此为浮点数问题:现在有两种转换方式:1.SQLALTER FUNCTION [dbo].[浮点数值](@数量 Float) RETURNS FloatASBEGIN DECLARE @小数 FLOAT SET原创 2012-01-10 15:29:58 · 743 阅读 · 0 评论 -
获取系统语言
function ReturnLanguage: string;var LCID: Cardinal;begin Result := ''; LCID := GetSystemDefaultLCID; case LCID of 2052: Result := '简体中文'; 1028: Result := '繁体中文'; 1033: Result :=原创 2011-12-21 13:49:15 · 1683 阅读 · 0 评论 -
调用打印界面
var PrinterSetupDialog1:TPrinterSetupDialog; begin PrinterSetupDialog1:=TPrinterSetupDialog.create(nil); if PrinterSetupDialog1.Execute then begin excel.application.A转载 2011-11-14 14:32:49 · 892 阅读 · 0 评论 -
Delphi中释放父控件里的所有子控件
procedure TFrmMain.ClearControls(AParent: TWinControl);var i: Integer;begin for i := AParent.ControlCount - 1 downto 0 do begin if not AParent.Controls[i].InheritsFrom(TWinControl) then Cont原创 2011-12-02 14:57:33 · 5226 阅读 · 0 评论 -
获取系统中的语言
Function GetLanguage:string;var i:integer; sLists:TStrings;begin sLists:=TStringList.Create; try for i:=0 to Languages.Count-1 do sLists.Add(Languages.Name[i] + '[' + IntToHex(Lang转载 2011-12-02 14:06:48 · 1243 阅读 · 0 评论 -
Delphi以二进制方式读取图片并显示出来
procedure TForm1.BitBtn1Click(Sender: TObject);varStringStream : TStringStream;FSize : integer;FileData : string;i : integer;DataStr : string;msStream: TMemoryStream;begin msStream:= TMemor转载 2011-12-02 09:41:55 · 6994 阅读 · 0 评论 -
RadSrudio Demos
SVN:https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/原创 2012-04-07 16:14:37 · 747 阅读 · 0 评论 -
delphi 获取本机IP地址和MAC地址
unit NetFunc;interfaceuses SysUtils, Windows, dialogs, winsock, Classes, ComObj, WinInet, Variants;// 错误信息常量const C_Err_GetLocalIp = '获取本地ip失败'; C_Err_GetNameByIpAddr = '获取主机名失败转载 2012-04-27 11:09:25 · 8976 阅读 · 0 评论 -
Delphi实现AnsiString与WideString的转换函数
在Delphi下,AnsiString 和 WideString 的存储与管理各有不同,这里提供互相转换的函数一对。/// Wide String -> Ansi Stringfunction WideStringToAnsiString(const strWide: WideString; CodePage: Word): AnsiString;var Len: integer;be转载 2013-01-26 16:23:14 · 9285 阅读 · 0 评论 -
StrToHex
function StrToHex(s: string): Integer;begin Result := StrToInt('$' + s);end;原创 2013-01-26 16:17:18 · 2153 阅读 · 0 评论 -
Delphi静态变量
在Delphi中也可以定义静态变量, 有两种方法:一是使用编译开关{$J+}{$J-}包含一个常量定义二是使用指针操作常量下面列出示例代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCt原创 2013-01-03 23:50:00 · 3446 阅读 · 0 评论 -
Delphi关闭进程
procedure TForm2.Button2Click(Sender: TObject);var h: HWND; dwPid: DWORD; hThreadProcess: THANDLE; s: string;begin h := FindWindow(PChar(Edit2.Text), PChar(Edit1.Text)); if h > 0原创 2012-12-16 21:05:22 · 2035 阅读 · 0 评论 -
Delphi不注册COM直接使用ActiveX控件并绑定事件
文笔不行,直接上源码:主窗口:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Ext原创 2012-03-30 15:59:15 · 6866 阅读 · 3 评论 -
Delphi GUI程序中使用控制台
procedure TForm1.Button1Click(Sender: TObject);var s: string;begin AllocConsole; try SetConsoleTitle('测试用例'); s := Format('控制台测试窗口_进程ID_%d', [GetCurrentProcessId]); Writeln原创 2012-08-08 10:21:01 · 2275 阅读 · 0 评论 -
Delphi/Lazarus下实现无缝窗口
http://codegoo.net/forum.php?mod=viewthread&tid=78&extra=转载 2012-06-21 16:43:53 · 2800 阅读 · 0 评论 -
让控件的DropdownMenu或者PopupMenu弹出来
procedure TMainFrm.ToolButton6Click(Sender: TObject); var MemuPos: TPoint; begin MemuPos := TToolButton(Sender).ClientToScreen(Point(0, 0)); MemuPos.y := MemuPos.y + TToolButton(Sender转载 2012-05-04 16:34:44 · 2277 阅读 · 0 评论 -
Delphi加载网络图片
Delphi加载网络图片uses Jpegprocedure TForm1.Button1Click(Sender: TObject);var imagestream:TMemoryStream; jpg:TJpegImage;begin imagestream := TMemoryStream.Create(); jpg:=TJpegImage.Creat转载 2011-12-01 16:23:41 · 5501 阅读 · 0 评论 -
今天在Delphi中使用ADO连接Excel
今天在Delphi中使用ADO连接Excel(以前在一本书看过,复习一下-_-!!),有所收获,不敢独享。第一部分:1. 设置ADOConnection的ConnectionString属性的OLE DB的提供者要选择Microsoft Jet 4.0 OLE DBProvider(这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件),按 "下一步"按钮2. 选择数据库名称。注转载 2011-11-15 17:00:41 · 9262 阅读 · 0 评论 -
TStringList 存取对象的特点
分析 TStringList 存取对象的特点在 Delphi 中存储系列对象, 大家常用 TList 类; 有了 TObjectList(在 Contnrs 单元)以后, 存储对象就有了更好的选择, 因为从 TObjectList 列表中移除的对象同时会得到释放.很少有人使用 TStringList 储存对象, 殊不知用 TStringList 储存对象也有 TLis转载 2009-04-09 09:54:00 · 856 阅读 · 0 评论 -
多语言
越来越多的程序使用了多国语言切换,虽然DELPHI自带多语言包的添加和配置, 但是那种方法在切换语言时界面会出现闪烁,而且实现起来很麻烦,这里我介绍给大家的是利用INI文件来读取界面的语种文字, 用这种方法,不但简单易行,而且在切换的时候不会出现界面的闪烁。 我们从一个例子出发,看看怎么实现语言的切换。首先建立一个新工程。放置如上图的组件:原创 2009-04-02 15:18:00 · 684 阅读 · 0 评论 -
DELPHI关闭进程
unit Tlhelp323;interfaceuses Windows,SysUtils,Tlhelp32;function KillTask(ExeFileName: string): Integer; //关闭进程function EnableDebugPrivilege: Boolean; //提升权限 func转载 2009-04-02 10:55:00 · 2599 阅读 · 0 评论 -
DELPHI多国语言版本编写指南
一.开发基本版本程序并建立多国语言工程1.建立英文版的工程2.保存工程3.重新打开工程,选择project->languages->Add...增加语言4.按F9运行英文工程5.选择project->languages->update resource dlls6.选择project->Compile all Projects(不是Build all projects)7.Save all pro原创 2009-04-02 15:04:00 · 1410 阅读 · 0 评论 -
Delphi控制Execl
Delphi控制Excel2000心得 - -类 别: COM & ActiveX(一)使用动态创建的方法首先创建 Excel 对象, 使用ComObj:var ExcelApp: Variant; ExcelApp := CreateOleObject(Excel.Application); 1)显示当前窗口: ExcelApp.Visible := True; 2)更改 Ex转载 2009-03-28 09:46:00 · 2964 阅读 · 0 评论 -
clientdataset“Record not found or changed by another user”问题
Clientdataset提交数据时服务器端比对提交数据Delta中的原始数据,如果比对数据不符则报告上述错误,一般发生在插入操作后更新,对于单表发生错误原因如下:1 数据库有自增长字段.测试发现ADO可以在插入数据后自动刷新自增长字段值,在afterupdaterecord事件中加入下面语句可以在更新后同步刷新clientdataset if (updatekind=ukinsert) the转载 2008-09-06 16:01:00 · 3064 阅读 · 0 评论 -
Delphi Excel亲密接触
Delphi作为一个出色的RAD,强大的数据库功能是其最重要的特色之一,但是操纵困难的QuickReport控件常常不能满足数据库报表的需要。如果你的报表非常复杂,或者要求灵活地改变格式,那么使用Excel作为报表服务器是一个不错的选择。Delphi从版本5开始提供的Excel组件极大地简化了OLE自动化技术的应用。不过缺漏多多的帮助文件一直是Delphi最令人诟病的地方,这些新组件也不例外,本文转载 2008-09-02 19:27:00 · 983 阅读 · 0 评论 -
Excel导入Sql
procedure TForm1.BitBtn3Click(Sender: TObject);var Row: Integer; ExcelApp, ExcelWorkBook, ExcelWorkSheet: Variant; FileName: string;begin if OpenDialog1.Execute then FileName := OpenDialog1.Fi原创 2007-12-23 23:39:00 · 767 阅读 · 0 评论 -
Delphi如何开发游戏外挂
上回对五种类型的外挂做了一个大体的概括,大家对这几种外挂都有了一定的了解,现在就依次(制作难度)由浅到深谈谈我对外挂制作的一些认识吧~~~~ 首先,先来谈一下动作式的外挂,这也是我第一次写外挂时做的最简单的一种。 记得还在“石器”时代的时候,我看到别人挂着一种软件(外挂)人物就可以四外游走(当时我还不知道外挂怎么回事^_^),于是找了这种软件过来研究(拿来后才听别人说这叫外挂),发现这种东东其实实转载 2009-04-11 09:21:00 · 1409 阅读 · 0 评论 -
简单工厂之Delphi实现
工厂模式中又分为简单工厂模式、工厂方法模式和抽象工厂模式 。这里给大家介绍的简单工厂模式是其中最简单的一种。 学习设计模式要对面向对象的程序设计有一定的理解,特别是多态性 ,如果能看懂下面的例子就没问题了,呵呵!//水果类,它是一个抽象产品 TFruit = Class(TObject)...end;//苹果类,水果类的具体化 TApple =转载 2009-05-07 15:44:00 · 881 阅读 · 0 评论 -
实现Ribbon风格的窗体
实现Ribbon风格的窗体2008-05-07 15:17随着office2007的兴起,微软让我们看到了Ribbon风格的窗体,现在很多软件也都开始使用Ribbon风格。那么我们如果要自己开发,应当怎么做呢?本文就是为大家解开这个疑团的。首先,Delphi本身并没有Ribbon风格的窗口可以直接拿来使用,而市面上很多类似于Ribbon的风格都是用截图法做出来的,那转载 2009-05-06 11:36:00 · 4583 阅读 · 0 评论 -
图像叠加
procedure DrawTranImage(DestCanvas: TCanvas; LeftPos: Integer; TopPos: Integer; SourceImg: TBitmap; MaskImg: TBitmap); //绘制透明图像var OldCopyMode : LongInt; //原来的CopyMode设置值 begin //DestCan转载 2011-11-15 12:19:38 · 922 阅读 · 0 评论 -
圆角Panel
How to show a Tpanel with roundrect shapeTitle: How to show a Tpanel with roundrect shapeprocedure TForm1.FormCreate(Sender: TObject);转载 2011-09-20 09:03:45 · 1407 阅读 · 0 评论 -
MouseKeyboard.pas
<br />unit MouseKeyboard;////利用WinIo模拟鼠标键盘的输入//作者:yeye55 2010年1月8日////版权 2010,由 yeye55 拥有,保留所有权利。//本文件中的代码是免费程序,无需任何授权或许可即可用于个人和商业目的。使用者一切后果自负。////如果你转载了本文件中的代码,请注明代码出处和代码作者;//如果你修改了本文件中的代码,请注明修改位置和修改作者。////本文件最早在http://www.programb转载 2010-07-27 10:29:00 · 2096 阅读 · 0 评论 -
用Indy组件开发Socket应用程序
用Indy组件开发Socket应用程序2004-03-16 16:17作者:虚度出处:yesky责任编辑:方舟 笔者在前一段的工作中,需要开发一套简单的网络数据传输程序。由于平时常用Delphi做点开发,故此次也不例外。Delphi 7中带有两套TCP Socket组件:Indy Socket组件(IdTCPClient和IdTCPServer)和Delphi原生的TCP Socket转载 2009-07-03 15:36:00 · 918 阅读 · 0 评论 -
获得EXE版本
以下程序在DELPHI7 W2003测试通过:function GetFileVersion(AFileName: string): string;varn, Len: DWORD;Buf : PChar;Value: Pointer;szName: array [0..255] of Char;Transstring: string;beginLen := GetFileVersionInfoS原创 2009-05-21 10:23:00 · 674 阅读 · 0 评论 -
Windows消息大全
Windows消息大全简介消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫原创 2009-05-20 10:30:00 · 611 阅读 · 0 评论 -
CxGrid序号
在TableView的CustomDrawIndicatorCell事件写代码.procedure TForm1.cxGrid1DBTableView1CustomDrawIndicatorCell( Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var原创 2009-05-19 11:22:00 · 1242 阅读 · 0 评论 -
Delphi7对XML的支持分析
Delphi7对XML的支持分析 Delphi7对XML的支持---TXMLDocument类 Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写。可以利用TXMLDocument把XML文档读到内存中,从而可以进行编辑、保存操作。TXMLDocument类是通过DOM(文档对象模型)接口来访问X转载 2009-05-09 16:28:00 · 678 阅读 · 0 评论