摘要:
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... 阅读全文
摘要:
判断网络的是否连接或者连接方式,比较重要的一点就是是不是即时判断,如果你明明无连接,判断出来却说你有,连接上了,却说你还未连接,下面要介绍的两个方法中InternetGetConnectedState就是不怎么够即时的API函数,而第二个使用的是IsNetworkAlive这个API函数,这个没有InternetGetConnectedState的那种问题,但是可能需要安装SDK,也就是.Net框架。一、InternetGetConnectedState在DELPHI中引用wininet这个单元就可以直接使用 InternetGetConnectedState函数了,下面给出一个判断当前网络连 阅读全文
摘要:
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... 阅读全文
摘要:
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. 阅读全文
摘要:
注意:同样引用 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 阅读全文
摘要:
Tlist (Classes.pas)在我刚开始接触TList的时候,TList搞得我迷雾重重,都是Capacity属性惹的祸。我查了Delphi的帮助,它说Capacity是TList的最大容量,又在什么地方说MaxIntdiv 4是TList的最大容量。最后我搞明白了,Capacity是临时的,MaxInt div 4才是真正的最大容量。只要你的内存受得了就行,算起来一共是4G。在TList 内部有一个FList指针指向一个Pointer数组,Capacity就是这个数组的大小。奇怪的是Capacity是可写的。我当时就在想,如果一直使用Add 直到超出了Capacity的范围,会怎么样呢 阅读全文
摘要:
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就会被自动地分 阅读全文
摘要:
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. 阅读全文
摘要:
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 阅读全文
摘要:
uses Zlib;//压缩函数procedure Zip(var fs: TMemoryStream);var cs: TCompressionStream; ms: TMemoryStream; num: Integer;begin if not(Assigned(fs) and (fs.Size>0)) then Exit; num := fs.Size; ms := TMemoryStream.Create; cs := TCompressionStream.Create(clMax, ms); try fs.SaveToStream(cs); cs.Free; //ms.Pos 阅读全文