上一页 1 ··· 163 164 165 166 167 168 169 170 171 ··· 203 下一页
摘要: 1、CompareMem(@guid1, @guid2, SizeOf(TGUID))最开始时想到的方法。查看Delphi中TGUID的定义可以看到TGUID实际上是一个结构。对于结构的比较来说最方便的就是内存直接比较了。TGUID = packed recordD1: LongWord;D2: Word;D3: Word;D4: array[0..7] of Byte;end;2、SysUtils.IsEqualGUID(const guid1, guid2: TGUID)经人提醒后发现在SysUtils单元已经有了一个这样专门比较GUID是否相等的函数。查看SysUtils的源码可以看到, 阅读全文
posted @ 2010-11-25 07:30 delphi中间件 阅读(613) 评论(0) 推荐(0)
摘要: uses ComObj, ActiveX; procedure TForm1.Button1Click(Sender: TObject); var Guid: TGUID; str: string; begin CoCreateGuid(Guid); str := GUIDToString(Guid); Memo1.Lines.Add(str); end; procedure TForm1.Button2Click(Sender: TObject); const Guid: TGUID = (D1:$AAAAAAAA; D2:$BBB... 阅读全文
posted @ 2010-11-25 07:18 delphi中间件 阅读(328) 评论(0) 推荐(0)
摘要: 判断网络的是否连接或者连接方式,比较重要的一点就是是不是即时判断,如果你明明无连接,判断出来却说你有,连接上了,却说你还未连接,下面要介绍的两个方法中InternetGetConnectedState就是不怎么够即时的API函数,而第二个使用的是IsNetworkAlive这个API函数,这个没有InternetGetConnectedState的那种问题,但是可能需要安装SDK,也就是.Net框架。一、InternetGetConnectedState在DELPHI中引用wininet这个单元就可以直接使用 InternetGetConnectedState函数了,下面给出一个判断当前网络连 阅读全文
posted @ 2010-11-11 14:09 delphi中间件 阅读(824) 评论(0) 推荐(0)
摘要: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; Const WM_MINE=WM_USER+100; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Pri... 阅读全文
posted @ 2010-11-01 22:14 delphi中间件 阅读(229) 评论(0) 推荐(0)
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; ITest = interface procedur. 阅读全文
posted @ 2010-11-01 21:35 delphi中间件 阅读(158) 评论(0) 推荐(0)
摘要: 注意:同样引用 Contnrs -------------------------procedure TForm1.Button1Click(Sender: TObject);var a:TStack; s1,s2:string; p:^string;begin a:=TStack.Create; s1:='Hello'; s2:='Word'; a.Push(@s1); a.Push(@s2); while a.Count <> 0 do begin p:= a.Pop; ShowMessage(p^); end; //弹出同样用pop,Stack 阅读全文
posted @ 2010-10-30 21:43 delphi中间件 阅读(232) 评论(0) 推荐(0)
摘要: Tlist (Classes.pas)在我刚开始接触TList的时候,TList搞得我迷雾重重,都是Capacity属性惹的祸。我查了Delphi的帮助,它说Capacity是TList的最大容量,又在什么地方说MaxIntdiv 4是TList的最大容量。最后我搞明白了,Capacity是临时的,MaxInt div 4才是真正的最大容量。只要你的内存受得了就行,算起来一共是4G。在TList 内部有一个FList指针指向一个Pointer数组,Capacity就是这个数组的大小。奇怪的是Capacity是可写的。我当时就在想,如果一直使用Add 直到超出了Capacity的范围,会怎么样呢 阅读全文
posted @ 2010-10-30 21:24 delphi中间件 阅读(437) 评论(0) 推荐(0)
摘要: TstringList (Classes.pas)在TstringList里,那些String被一行一行地储存。TstringList.Text返回全部的String。如果第一、二、三行分别是/'aa/'、/'bb/'、/'cc/' 的话,那么Text 返回的是“/'aa/'+#13#10+/'bb/'+#13#10+/'cc/'+#13#10” (不包括双引号)。所有的String都被TstringList用回车和换行符(#13#10)连接了起来。如果依次向Text赋值的话,Text就会被自动地分 阅读全文
posted @ 2010-10-30 21:19 delphi中间件 阅读(563) 评论(0) 推荐(0)
摘要: 1.首先放置TApplicationEvents控件。2.procedure TF_Main.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);begin case Msg.Message of WM_USER + 128: Begin case Msg.wParam of 1: F_Main. Button129Click(F_Main.Button129); 2: XXXXX; end; end;End;3.发送消息调用PostMessage(Application.Handle, WM_USER + 128. 阅读全文
posted @ 2010-09-20 14:59 delphi中间件 阅读(203) 评论(0) 推荐(0)
摘要: TMsg02 = packed record case _DT: Byte of $01: (_Msg0201: TMsg0201); $02: (_Msg0202: TMsg0202); $03: (_Msg0203: TMsg0203); $04: (_Msg0204: TMsg0204); $05: (_Msg0205: TMsg0205); $06: (_Msg0206: TMsg0206); $07: (_Msg0207: TMsg0207); $08: (_Msg0208: TMsg0208); end;Char($02): case Dt of Char($01): Result 阅读全文
posted @ 2010-09-18 02:13 delphi中间件 阅读(218) 评论(0) 推荐(0)
上一页 1 ··· 163 164 165 166 167 168 169 170 171 ··· 203 下一页