Delphi的HashTable
{-----------------------------------------------------------------------------
Unit Name: HashTable
Author: LiuHeng
Date: 2010-04-13
Purpose: 封装Delphi的HashTable
History:
-----------------------------------------------------------------------------}
unit HashTable;
interface
uses
Classes,IniFiles;
type
THashTable = class(THashedStringList)
public
procedure AddStrItem(const ItemName: string;const ItemValue: string);
function ObjectValue(const ObjName: string): TObject;
end;
implementation
{ THashTable }
procedure THashTable.AddStrItem(const ItemName: string;const ItemValue: string);
begin
Add(ItemName+'='+ItemValue);
end;
function THashTable.ObjectValue(const ObjName: string): TObject;
var
AIndex: integer;
begin
Find(ObjName,AIndex);
if AIndex>=0 then
Result := Objects[AIndex];
end;
end.
相关文档:
procedure TForm1.Button2Click(Sender: TObject);
var
name:String ;
begin
name := edit2.Text ;
name := '%' + name ;
query1.Close ;
query1.SQL.Clear ;
query1.SQL.Add('select * from gjh_t where name like '''+name+'''') ;
&nb ......
在上一篇中,我们简单的实现了一个对Delphi自身的TEdit编辑框控件的一个扩充!但是我们并不能像Delphi自己的TEdit一样,能够
在设计状态下进行设计,而是非得要自己手动创建控件,然后才能使用。这个虽然说也是组件,但是却失去了组件的可设计的方便性,仅仅可作为一个类库来使用。
现在我就来介绍一下,如何让这个组件注 ......
相对用第三方控件,CDO发送邮件还是很简洁方便的
注:CDONTS为CDO的子集,仅支持WinNT/Win2K,WinXP以上请用CDO;
单元引用ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
VCDOMessage:oleVariant;
begin
vCDOMessage:=CreateOleObject('CDO.Message');
vcdomessage.from:='MR.F'+'< ......
第一种:需要引用Windows单元
ShowMessage(IntToStr(GetSystemMetrics(SM_CYSCREEN)-GetSystemMetrics(SM_CYFULLSCREEN)-GetSystemMetrics(SM_CYCAPTION)));
第二种:需要引用Windows单元
function GetSystemTaskBarHeight:Integer;
var
R:TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA,0,@R,0);
Resul ......