Pascal/Delphi
文章平均质量分 51
桂林哈秋
欢迎多提意见!
展开
-
Delphi 给字符指针分配内存
文章来自:http://www.cnblogs.com/del/archive/2009/05/15/archive/2008/11/08/1329543.htmlGetMemAllocMemReallocMemFreeMemGetMemoryReallocMemoryFreeMemoryNewDisposeNewStrDispo转载 2009-11-05 13:16:00 · 1377 阅读 · 1 评论 -
添加FileDrop属性到可视化控件
原文:http://www.evget.com/article/read_1846.aspx1.首先从可视化控件(visual control )中继承一个新的控件。2.增加接受文件拖拽消息的属性。 3.增加消息被处触发时要响应处理的事件。 4.使用测试这个新创建的控件。 详细说明:1。在delphi中 Component|Newcomponent 选择一个祖先。这里使用TEdit,给转载 2007-04-12 16:36:00 · 824 阅读 · 0 评论 -
com组件开发嵌入式IE浏览器监控程序
随着网络的发展和普及,对网络的监控日益成为网络安全的必然要求,也是管理和维护网络的一个有效手段。当前已经有多种应用比较广泛的网络监控和过滤程序,如美萍网管、we-blocker等,它们都可以实现基于网络URL和IP地址的监控和过滤功能。本文将对如何开发一个嵌入到IE浏览器中的监控程序进行介绍,该程序可以根据网络URL和IP地址进行监控和过滤,并且记录系统日志,从而使你对IE(当然是使用它的用户)的转载 2007-03-25 13:25:00 · 2790 阅读 · 0 评论 -
Delphi 的RTTI机制浅探
目录==========================================================================⊙ RTTI 简介⊙ 类(class) 和 VMT 的关系⊙ 类(class)、类的类(class of class)、类变量(class variable) 的关系⊙ TObject.ClassType 和 TObject.ClassInfo⊙转载 2007-02-02 14:54:00 · 709 阅读 · 0 评论 -
Delphi中正常窗口的实现
摘要 在Delphi的VCL库中,为了使用以及实现的方便,应用对象Application创建了一个用来处理消息响应的隐藏窗口。而正是这个窗口,使得用VCL开发出来的程序存在着与其他窗口不能正常排列平铺等显得有些畸形的问题。本文通过对VCL的深入分析,给出了一个只需要对应用程序项目文件作3行代码的修改就能解决问题的方案,且不需要原有的编程方式作任何改变。关键字 VCL,正常窗口,正常化1 引转载 2007-02-25 16:27:00 · 726 阅读 · 0 评论 -
Delphi 消息机制引入的一个副作用
Delphi 在处理进程的消息时引入了一个隐藏的窗体Application ,借此进行消息的分发。这样的机制优美的处理了消息的分发和处置的问题。但是最近我发现这个机制也引入了一个副作用,会在某些情况下影响程序的界面交互行为。我遇到的需求是需要在程序中实现单个实例,并且在第二个实例被启动的时候,首先将前一个实例置到最前,然后退出。按说这样的问题应该是比较典型的例子,但是这样的一个简单需求就受到了转载 2007-02-22 12:02:00 · 732 阅读 · 0 评论 -
用未公开函数实现Shell操作监视
在Windows下有一个未公开函数SHChangeNotifyRegister可以吧你的窗口添加到系统的系统消息监视链中,该函数在Delphi中的定义如下Function SHChangeNotifyRegister(hWnd,uFlags,dwEventID,uMSG,cItems:LongWord;lpps:PIDLSTRUCT):integer;stdcall;external She转载 2007-02-18 00:54:00 · 1003 阅读 · 0 评论 -
搜集的delphi控件精彩集合
搜集的delphi控件精彩集合http://community.csdn.net/Expert/topic/4724/4724066.xml?temp=.2582361 1、FastMM 主页:http://fastmm.sf.netDelphi 2006 中一个重要的更新就是使用开源内存管理器 FastMM 替调了使用了 N 年的老内存管理器。FastMM 在外国 Delphi转载 2007-02-13 13:53:00 · 4249 阅读 · 1 评论 -
程序只运行一次并激活原来的程序
我们的程序有时候只允许运行一次,并且最好的情况是,如果程序第二次运行,就激活原来的程序。网上有很多的方法实现程序只运行一次,但对于激活原来的窗口却都不怎么好。关键就在于激活原来的程序,一般的做法是在工程开始时,打开互斥量对象,如果打不开表示程序还没有运行,创建一个互斥量对象;如果打得开表示程序已经运行了,查找程序中一个特定的窗口,一般是主窗口,然后发送一个自定义消息,主窗口在这个消息处理中激活转载 2007-02-25 12:51:00 · 775 阅读 · 0 评论 -
Delphi 编码转换 Unicode gbk big5
原文:http://blog.dream4dev.com/article.asp?id=17function UnicodeEncode(Str: string; CodePage: integer): WideString;var Len: integer;begin Len := Length(Str) + 1; SetLength(Result, Len); Len := MultiBy转载 2007-09-09 22:32:00 · 4269 阅读 · 0 评论 -
Free Pascal 2.2
原文:http://www.lumix.cn/archives/3340.htmlFree Pascal 2.2 已经发布,这一版本支持更多的平台,例如Mac OS X,Game Boy Advance(游戏机),Windows CE与64位Windows.它将提供更快的执行速度,并提供更好的编程体验.其它新功能包括debug支持,代码优化,资源字串快速链接等,注意,部分编译器并不通过GNU授转载 2007-09-13 15:51:00 · 1084 阅读 · 0 评论 -
Delphi编写变长参数的cdecl函数
文章来自:http://hi.baidu.com/523399/blog/item/f36e2e9b25041fbdc9eaf4c6.html学过C语言的人都知道,printf的参数是不固定的,这种参数形式叫做变长参数。带有变长参数的函数必须是cdecl调用约定,由函数的调用者来清除栈,参数入栈的顺序是从右到左。printf是根据格式化串中的占位标记来猜测栈中的参数的。以下就用Delphi模拟转载 2009-10-20 12:52:00 · 3153 阅读 · 1 评论 -
FastMM 安装设置
文章来自:http://www.cnblogs.com/zhengllg/archive/2008/09/04/1284668.htmlFastMM ,在D2006和2007中已代替了原来的内存管理器。D7也可以使用,而且很方便哦。请看步骤:1. FastMM是开源项目,去她老家先拖个来. http://sourceforge.net/projects/fastmm,我使用的是FastMM.v转载 2009-09-24 00:56:00 · 751 阅读 · 0 评论 -
判断两个键同时按下,这里是两个方向键
原文:http://hi.baidu.com/gezhou/blog/item/4bf712b326cc94a2d8335af0.html使用GetKeyboardState来判断键盘按键状态,判断用户是否同时按下上键和左键procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);vark转载 2008-09-05 16:10:00 · 1774 阅读 · 0 评论 -
Delphi 2009 初体验
原文:http://tech.it168.com/a2008/0825/201/000000201752.shtml<!--google_ad_client = "pub-6979753546073861";google_ad_slot = "1498625460";google_ad_width = 728;google_ad_height = 90;//-->转载 2008-08-28 12:38:00 · 688 阅读 · 1 评论 -
Delphi 实现单例模式(Singleton Pattern)
原文:http://www.faceker.com/200808/delphi-singleton-pattern.html单例模式顾名思义就是一个实例,在任何情况下,系统中只能存在某一对象的一个实例。单例模式在应用开发中比较常见,如 Application 或 Logger。在 Delphi 的以前版本中,实现单例模式比较“另类”,自从 Delphi 后期加入一些新的语法元素后,单例模式转载 2008-08-28 12:21:00 · 4162 阅读 · 0 评论 -
Delphi 的字符及字符串 - Char、AnsiChar、WideChar、PChar、PAnsiChar、PWideChar
原文:http://www.bugcode.com/diary/29031314Delphi有三种类型的字符: •AnsiChar这是标准的1字节的ANSI字符,程序员都对它比较熟悉。 •WideChar这是2字节的Unicode字符。 •Char在目前相当于AnsiChar,但在Delphi以后版本中相当于WideChar. 记住因为一个字转载 2008-08-04 10:45:00 · 2046 阅读 · 0 评论 -
delphi中关于UTF-8相关函数
原文:http://hi.baidu.com/qiujunnb/blog/item/82492fdd0160cddb8c1029f1.html AnsiToUtf8 functionConverts a string encoded in Ansi to UTF-8.PUCS4Chars functionConverts a UCS4 string to a null-term转载 2008-08-02 11:16:00 · 2872 阅读 · 0 评论 -
Delphi初学者应小心的六大陷阱
原文:http://develop.csai.cn/delphi/200704301205181705.htm 初学DelphiI的人,由于各种原因,对DelphiI中的许多概念不能很好的理解,并由此带来了许多的问题,或者是开发出的程序稳性不好,一会能运行,一会又不能运行;或者是遇到一个问题久思不得其解,还误以为是DelphiI自身的BUG,等等这些,浪费了我们大量的时间、精力,也影响转载 2008-05-06 10:01:00 · 512 阅读 · 0 评论 -
Delphi组件Indy 10中修正IdFTP不能续传问题
原文:http://blog.dream4dev.com/article.asp?id=144提出问题:在使用IdFTP组件下载文件时候,发现不能续传文件 procedure Get(const ASourceFile: string; ADest: TIdStream; AResume: Boolean = false); overload; procedure Get(co转载 2007-12-07 09:35:00 · 2683 阅读 · 6 评论 -
Pascal 错误信息一览
原文:http://moonight.yculblog.com/post.1066500.html 错误代码及错误信息 错误释义error 1: Out of memory 内存溢出error 2: Identifier expected转载 2007-10-10 17:02:00 · 2897 阅读 · 1 评论 -
Delphi中预想不到的代码II
{ No.1 Delphi中的Include文件 } begin ShowMessage({$I File1.txt}; //有错吗? ShowMessage(UpperCase({$I File1.txt}); end; //新建一个文本文件“File1.txt”、内容填写为:“Hello Word)”看看转载 2007-02-13 16:23:00 · 779 阅读 · 0 评论 -
...find the size of a file?
function Get_File_Size1(sFileToExamine: string; bInKBytes: Boolean): string;{ for some reason both methods of finding file size return a filesize that is slightly larger than what Windows File Explore转载 2006-12-26 23:11:00 · 899 阅读 · 0 评论 -
Delphi问题集锦
delphi问题集锦1、怎么样在delphi中调动其它*.exe文件?例如:winexec(d:/郑洽/Project1.exe,sw_show);==============================================================================2、如何让工程运行时主窗体就是最大化的? 答:设置主窗体的WindowsState属转载 2006-12-26 22:06:00 · 1096 阅读 · 0 评论 -
SHDocVw_TLB是什么?
SHDocVw_TLB是shdocvw.dll的类型库导入单元,你没有的话就改成shdocvw(delphi自带),或者在“Project”菜单下选“Import Type Library”,在弹出的对话框中再选择“Microsoft Internet Controls”,再点“Create Unit”即可。原创 2005-10-20 23:35:00 · 3214 阅读 · 0 评论 -
能不能把一个现在的exe文件整合在DLL文件中?
例如,现在有一个现在的用C语言写成的可执行文件,如DOS下的ping.exe,他可以接收到一个参数的,如ping 127.0.0.1 ,能不能把这个ping.exe集成在一个dll文件中,并做成ping(ip)函数,然后通过调用这个dll中的ping(ip) 函数,来实现ping功能呢?我只是举个例子说明我的意图,我并不是想做ping 这个功能的,希望哪位高手能给出个例子参考一下。--------原创 2005-09-26 22:10:00 · 1938 阅读 · 0 评论 -
谁能真正的实现将htm另存为mht文件
本人的开发环境为D5。 在搜索中找到以下几种实现的方法。 1.来自ZSWang的 http://expert.csdn.net/Expert/topic/2634/2634699.xml?temp=.6191217 它解决了将图片的路径修正为全路径,但仍未能将图片打包到mht文件中。 2.来自 oracle_lover(数据库情人) http://expert.csdn.转载 2005-09-26 00:00:00 · 3809 阅读 · 1 评论 -
将HTML代码直接加入到TWebbrowser组件中去
uses ActiveX; procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string); var sl: TStringList; ms: TMemoryStream; begin WebBrowser.Navigate(about:blank)原创 2005-09-25 21:18:00 · 993 阅读 · 0 评论 -
监视资源管理器的文件变化
unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, shlobj, activex, StdCtrls, FileCtrl,strUtils;constshcne_renameitem = $1;shcne_create = $2;shc原创 2005-09-28 22:36:00 · 949 阅读 · 0 评论 -
KeyLife富翁笔记
美国著名的《Delphi开发者杂志(Delphi Developers Journal)》是世界上众多Delphi程序员必读的专业杂志,在国内我们很少有机会读到这份优秀的专业刊物,但是我们可以在Inprise公司( http://www.inprise.com )的网页上看到该杂志刊登的一些优秀文章。同时,还可以通过电子邮件订阅该杂志免费提供的Delphi使用技巧,订阅网址为 http://ww原创 2005-09-26 21:18:00 · 2001 阅读 · 0 评论 -
怎么让TreeView前面显示CheckBox
constTVS_CHECKBOXES = $00000100;procedure SetComCtrlStyle(WinCtrl: TWinControl; Value: Integer; UseStyle: Boolean);varStyle: Integer;begin if WinCtrl.HandleAllocated then begin Style := GetWindow原创 2005-09-28 23:42:00 · 1183 阅读 · 0 评论 -
怎样闪烁应用程序在任务栏上的按钮
如果您创建的应用程序是运行在Windows 98或更高版本操作系统上,您可以通过调用API函数FlashWindowEx并赋给它一个FlashWInfo结构体来实现. 而如果是运行在Windows 95上则比较麻烦, 但您也可以通过使用一个Timer组件来实现想要的效果。FlashWindowEx当您调用API函数FlashWindowEx时,一个TFlashWInfo被用来控制Windows实原创 2005-09-27 00:05:00 · 1850 阅读 · 0 评论 -
关于Delphi的FAQ
如何取出Memo中光标所在行的内容:procedure TForm1.Button1Click(Sender: TObject);begin showmessage(memo1.Lines.Strings[SendMessage(memo1.Handle, EM_LINEFROMCHAR, memo1.SelStart, 0)]);end;更简单的方法是:procedure TForm1.But原创 2005-09-17 10:39:00 · 940 阅读 · 0 评论 -
外壳拖放控制扩展
当你的系统安装了Winzip之后,当把任意一个文件拖放到ZIP文件上后,你会发现鼠标的光标变成了一个+字符号样,你一松开鼠标,就会调用Winzip询问你是否要把拖放的文件加入当前的Zip文件里去,可是我们试了一下别的文件却没有这种功能,这表明缺省情况下,文件不是拖放目标,那么Winzip是如何做到的? 实际上只要实现一个被拖放的文件类的拖放扩展就可以很简单地做到了。当一个文件类型注册了一转载 2005-09-15 19:29:00 · 1024 阅读 · 0 评论 -
UI-Less Parser(跳过IE脚本执行-自解)
To successfully walk the HTML Scripting Object Model that the parser exposes after loading the specified document, the host application must wait until MSHTML has finished loading the document. To tra转载 2006-01-01 15:42:00 · 1262 阅读 · 0 评论 -
利用DELPHI编写IE扩展
在自己的程序中使用过WebBrowser控件的朋友都知道,WebBrowser控件定义了诸如BeforeNavigate、DownloadComplete 等事件,我们可以通过编写事件处理代码实现对WebBrowser控件的操作。那么如何实现对IE的事件响应和处理呢?同建立IE面板一样。我们需要建立一个实现IObjectWithSite接口的COM组件,不同的是,我们还需要实现IDispatch接转载 2006-01-01 14:12:00 · 1312 阅读 · 0 评论 -
DELPHI如何使用指针?
大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今的Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。转载 2006-12-23 22:43:00 · 888 阅读 · 0 评论 -
CD in/out(光驱硬打开/关闭事件的检测 - 自解)
Heres how to be notified when CD drawer is opened or closed: ~~~~~~~~~~~~~~~~~~~~~~~~~{Put this line into private sectionof your forms declaration}procedure WMDeviceChange(var Msg: TMessage) ;转载 2006-12-14 21:27:00 · 1299 阅读 · 0 评论 -
屏闭2000/XP/2003系统的Ctrl+Alt+Del热键
元旦,哪里也没去送你一个代码吧,LY可不是轻易给人写代码的下面的方法适合任何Windows NT平台(4.0以上)(至少目前的WinNT都能支持)NT4,2000,XP,2003全部OK的,而且没有窗口闪烁,呵呵,编译后的DLL才16K,好用得很的别问我怎么Inject DLL到EXE呀,嘻嘻:)元旦快乐,新年新气象~~~library SASWinHook;{ SASWinHo转载 2006-12-15 12:51:00 · 914 阅读 · 0 评论 -
比 FastPos 还要快 Pos 函数
相信字符串处理中用的最多的就是 Pos 函数了。但是如果要搜索一个字符串中第二次或者第三次出现的子字符串的,就没有现成的 DELPHI 标准函数了。所以我就自己写了一个。同时和网上比较流行的 FastStrings.SmartPos() 和 JVCL.NPos() 做了比较,速度更快,而且兼容 Unicode(WideString/WideChar)。注:代码可能有人会觉得不太舒服,但作为最常用的转载 2006-11-03 23:49:00 · 1014 阅读 · 0 评论