文章分类 - Delphi API
Delphi 函数
摘要:首先,先下载TgifImage.pas单元。步骤:[project]-->[add to project...] 选择TgifImage.pas单元然后编译即可。在使用TImage加载显示gif时通常是安装 TGifimage来扩展实现,在使用中也会有动态创建控件的情况,但如果直接加载gif图片话,gif动画并不会动,这就要先创建TGifImage类来加载动画,最后再交给Timage。代码如下:procedure TForm1.Button1Click(Sender: TObject);varobjImg: TImage;objGif: TGIFImage;beginif OpenDia
阅读全文
摘要:服务器返回的消息服务器返回的HTTP消息也分为消息头和消息体两部分。前面连载的第二篇里已经介绍了返回消息中常见返回代码的含义。对于非正常的返回代码的处理比较简单,只要照着要求去做就好了,而对于正常的返回代码(200),其处理方式就多种多样了。1、Content-TypeContent-Type是返回消息中非常重要的内容,它标识出这个返回内容的类型,其值为“主类型/子类型”的格式,例如最常见的就是text/html,它的意思是说返回的内容是文本类型,这个文本又是HTML格式的。原则上浏览器会根据Content-Type来决定如何显示返回的消息体内容。常见的内容类型有:1 text/html HT
阅读全文
摘要:1.采用技术方案为hook方式,非不可靠的硬编码、非不负责任的读内存方式。2.考虑便于维护的技术方案,不会随qq变更而需要大作改动,类似以前版本的SaveMsg方案。3.支持后台聊天记录即不打开聊天窗口即可记录聊天记录。4.支持图片、表情、文件传输记录,可以显示为与消息管理器同样效果,即与你在QQ历史聊天记录里看到的是一样的效果(图文并茂)。转自:http://bbs.csdn.net/topics/390206373我也想实现这个功能,但是不知道详细技术。。。
阅读全文
摘要:hFile := FileOpen(strs[i], fmOpenRead);if (hFile<0) or (FileGetDate(hFile)=-1) thenbeginShowMessage('添加文件失败,请重试!');Exit;end;DT := FileDateToDateTime(FileGetDate(hFile));s := FormatDateTime('yyyy-mm-dd hh:nn:ss', DT);FileClose(hFile);转自:http://hi.baidu.com/nsgtao/item/0dc5b3d6e5d0d
阅读全文
摘要:5.文件属性 FileGetAttr :返回文件属性FileSetAttr :设置文件属性 6.文件状态 FileSize :返回文件对象大小IOResult :返回上一次I/O操作的状态FileExists :检测文件是否存在 7.文件日期DateTimeToFileDate :把Delphi日期格式转换为DOS日期格式FileDateToDateTime :把DOS日期格式转换为Delphi日期格式FileGetDate : 返回文件的DOS日期时间戳FileSetDate : 设置文件的DOS日期时间戳 8.文件读写Read,Readln :从文本或记录文件中读取变量Write : 将指
阅读全文
摘要:vars : string;beginsetlength(s, memorystream.size);copymemory(@s[1], memorystream.memory, memorystream.size);//pos('.....', s);end;转自:http://d.02t.cn/html/neicun/521.html
阅读全文
摘要:许多时候我们希望程序只有一个实例在运行,而不是多个实例同时运行。 其实完成这一功能有很多种方法,我把自己知道的几种方法简单介绍一下。在Delphi中建立一个应用程序,然后单击菜单“Project”,单击“View Source”,这样就在代码编辑器中打开了工程文件://一 使用全局原子program Project1;uses windows, Forms, Dialogs, Unit1 in 'Unit1.pas' {Form1};{$R *.res}const myatom='我的全局原子方法';begin if GlobalFindAtom(myatom)
阅读全文
摘要:以下文章推荐阅读:http://bbs.csdn.net/topics/360118630http://www.cnblogs.com/snow001x/archive/2008/12/04/1347854.htmlhttp://blog.csdn.net/warrially/article/details/8280724
阅读全文
摘要:procedure TForm1.MyOnClick(Sender: Tobject);begin ShowMessage((Sender as TLabel).Caption+' is clicked'); //如果是写多个相同控件事件的话,这句就是关键。end;procedure TForm1.btn1Click(Sender: TObject);var i,n:Integer; lbl: TLabel;begin n:=6; for i:=1 to n do begin lbl:= TLabel.Create(Application); lbl.Parent :=...
阅读全文
摘要:在DELPHI中我们经常要动态的创建控件以及控件的事件。例如,我们可能想根据程序需要动态的创建一些Tshape组件来创建某个图形,并使得在鼠标移动上去之后可以完成某些操作。这一般需要需要三步:生成一个制定组件类的实例为这个实例付初值在使用完毕后,释放资源 下面将通过一个例子来演示,例子的功能是动态创建一个Tshape的实例MyShape,并且在鼠标移动到MyShape后窗体的标题栏,显示鼠标的座标。第一步:新建立一个工程,工程上主窗体上放一个按钮BitBtn1,并在代码文件的uses内添加ExtCtrls。第二步:在按钮的OnClick事件中写procedure TForm1.BitBtn1C
阅读全文
摘要:怎么样给ListView控件的Items填加下拉框。主要是SumItems中的二三列添加combobox 。请牛人指教谢谢------解决方案--------------------Delphi(Pascal) codeuses CommCtrl;procedure TForm1.Button1Click(Sender: TObject);var R: TRect;begin ListView_GetSubItemRect(ListView1.Handle, 1 {第几个Item}, 2{这个Item的第几个SubItem}, LVIR_BOUNDS, @R); if ComboB...
阅读全文
摘要:全文:http://blog.csdn.net/god00/article/details/6447529
阅读全文
摘要:最近在做Delphi下的简体与繁体转换, 发现Windows2000自带的工具"中文转码器"很好用, 不仅可以转内码(BIG5-->GBK), 还可以将繁体字转为简体字(如:東-->东).要转内码比较简单, 使用MultiByteToWideChar先将简体/繁体(GBK/BIG5)转为UniCode, 再使用WideCharToMultiByte从Unicode转为繁体/简体(BIG5/GBK).EX:function Big52GB( ABig5String: string): String;{ BIG5 to GBK : BIG5 ==> Unico
阅读全文
摘要://参考如下代码functionUnicodeToMBCS(//将Unicode编码字符串转换成多字节字符串mCodePage:UINT;//对照表页码mUnicode:WideString//Unicode编码字符串):string;//返回处理后的字符串varL:Integer;beginL:=WideCharToMultiByte(mCodePage,0,PWideChar(mUnicode),-1,nil,0,nil,nil);SetLength(Result,L);ifL<=0thenExit;WideCharToMultiByte(mCodePage,0,PWideChar(
阅读全文
摘要:function Cn2Big(CnStr: string): string; //简体中文转繁体中文var Len: Integer;begin Len := Length(CnStr); SetLength(Result, Len); LCMapString(GetUserDefaultLCID, LCMAP_TRADITIONAL_CHINESE, PChar(CnStr), Len, PChar(Result), Len);end;function Big2Cn(BigStr: string): string; //繁体中文转简体中文var Len: Integer;begin Le.
阅读全文
摘要:最近在写网页抓取程序时候,很多时候需要对字符进行URL编码,其实URL编码就是将每个字节用16进制的文本表示,前边在家上%,了解了这一点,那么写个函数就很简单了,于是就随手写了个两个简单的函数对字符进行URL编码解码。把代码贴出来,也许对大家有用阿.. :)function URLencode(str:string):string;var i:integer; temp:string;begin for i:= 1 to length(str) do begin temp:=temp+'%'+inttohex(integer(str[i]),0); end; result:=t
阅读全文
摘要://创建一个文本文件procedure TFrmAutomatismBalance.FlatButton3Click(Sender: TObject);var TF:TextFile; PathStr:string;begin PathStr:=ExtractFilePath(Application.ExeName)+FormatDateTime('yyyy-mm-dd',Now())+'.txt' ; AssignFile(Tf,PathStr); ReWrite(Tf); CloseFile(Tf);end;//往文本文件里面写入数据procedure TF
阅读全文
摘要:procedure自定义方法名(varMsg:TMessage);message待拦截的消息常量;当你想拦截某个消息时,只需按上边的方法结构声明即可.比如响应移动消息的方法命名:procedureCustMove(varMsg:TMessage);messageWM_MOVE;为什么窗口大小改变后,就会触发WM_SIZE消息????Delphi中关键字message的用法???怎么定义自己的消息??转自Lhttp://bbs.csdn.net/topics/390392261//无聊时狂下论坛,总有收获的。里面提到一段代码procedureTForm1.Button1Click(Sender:
阅读全文
摘要:转自:http://zhidao.baidu.com/question/526574472.html //有图有说明1、这个问题小儿科。能用麻溜结贴,不能用就追问,别当没看到。2、解决思路。StringGrid是这样运作的:goRowSelect就是把某行背景涂上颜色,而goEditing是用一个Edit置于选中的Cell之上。狗屎Delphi自以为聪明,把编辑框对象封装了起来,所以从前者作为突破口要比后者简单得多。3、解决办法。将StringGrid的Options属性,goEditing设为True,goRowSelect设为False。然后在Form中加入如下代码:type TForm.
阅读全文
摘要:用Raize控件包中的rzSplitter就可以做出类似的效果
阅读全文