Delphi TObject实现了一个InstanceSize()方法
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
FMember5 : Integer;
FMember6 : Integer;
FMember7 : WORD;
FMember8 : Integer;
{ Public declarations }
end;
TMyClass = class //创建一个类
Public
FMember1 : Integer;
FMember2 : Integer;
FMember3 : WORD;
FMember4 : Integer;
End;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Obj : TMyClass;
begin
Obj := TMyClass.Create(); //创建TMyClass类的实例
with memo1.Lines do
begin
//对象大小以及每个数据成员的地址输出到Memo中
Add('Myclass对象大小:' + IntToStr(Obj.InstanceSize));
Add('Myclass对象所在地址 :' + IntToStr(Integer(Obj)));
Add('FMember1所在地址:' + IntToStr(Integer(@Obj.FMember1)));
Add('FMember2所在地址:' + IntToStr(Integer(@Obj.FMember2)));
Add('FMember3所在地址:' + IntToStr(Integer(@Obj.FMember3)));
Add('FMember4所在地址:' + IntToStr(Integer(@Obj.FMember4)));
end;
Obj.Free();
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
with memo1.Lines do
begin
Add('窗体对象大小:' + IntToStr(form1.InstanceSize));
Add('窗体对象所在地址 :' + IntToStr(Integer(form1)));
Add('FMember5所在地址:' + IntToStr(Integer(@form1.FMember5)));
Add('FMember6所在地址:' + IntToStr(Integer(@form1.FMember6)));
Add('FMember7所在地址:' + IntToStr(Integer(@form1.FMember7)));
Add('FMember8所在地址:' + IntToStr(Integ
相关文档:
以Caps Lock键举例,其它(VK_NUMLOCK),类同:
判断状态:
方法1
Level: integer;
Level := GetKeyState(VK_CAPITAL);
if Level = 0 then
//没亮
else
//亮了(1)
方法2
KeyState : TKeyBoardState;
GetKeyboardState(KeyState);
if KeySt ......
DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库)
以下代码在WIN2K,D6,MDAC2.6下测试通过,
编译好的程序在WIN98第二版无ACCESS环境下运行成功.
//声明连接字符串
Const
SConnectionString
= 'Provider=M ......
1.防止刷新时闪烁的终极解决办法
{ 防止刷新时闪烁的终极解决办法(对付双缓冲无效时) }
Perform($000B, 0, 0); //锁屏幕 防止闪烁
// 做一些会发生严重闪烁的事情..
//解锁屏幕并重画
Perform($000B, 1, 0);
& ......
uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
begin
//用IE打开
ShellExecute(Handle, 'open', 'IExplore.EXE', 'about:blank', nil, SW_SHOWNORMAL);
//用火狐打开
ShellExecute(Handle, 'open', 'firefox.exe', 'about:blank', nil, SW_SHOWNORMAL);
//用默认浏览器打开
&nbs ......