说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi3.0中复活节彩蛋及实现

HTML文档下载 WORD文档下载 PDF文档下载
Delphi3.0中复活节彩蛋及实现

启动Delphi 3.0,打开Help菜单,单击“About”,在对话框中按住ALT键不放,输入TEAM,就可以看到测试人员名单;按住ALT键不放,输入DEVELOPERS,就可以看到开发人员名单;按住ALT键不放,输入QUALITY,就可以看到QUALITY人员名单。

复活节彩蛋是目前许多软件都具有的,你也可以在自己开发的软件中加入它。本文给出一个例子供参考,本文设计的复活节彩蛋是在“关于”对话框中按住ALT键,输入“EGGOUT”,将显示“你现在看到的是复活节彩蛋!OK!”信息,两秒种后自动消失,下面是实现的具体方法。

1. 根据惯例,复活节彩蛋一般都放在软件的“关于”(About)对话框中,为简化程序,在这里只使用一个“ABOUT”对话框。启动Delphi3后,关闭当前的空白窗体,在“FILE”菜单中选择“NEW...”,在“NEW ITEM”对话框中单击“FORM”卡,从中选择“ABOUT BOX”,在这个窗体的基础上你可以加入版本、版权等有关信息。

2. 在ABOUT BOX窗体的Panel1组件的空白处添加一个标签LABEL1,标题为“你现在看到的是复活节彩蛋!OK!”,设定合适的字体颜色和大小,将其Visible属性设置为FALSE。

3. 在"Object Inspector"中对ABOUT BOX窗体的KeyPreview属性缺省值做修改,将其值由FALSE改为TRUE,注意这一点很重要,否则无法实现本文的功能。

4. 在窗体的FormKeyDown事件中处理用户输入的字符:首先判断用户是否按下了ALT键,接着循环接收用户按住ALT输入的字符并放在一个字符串中,如果字符串等于“EGGOUT”,则置标签的显示属性为TRUE,延迟两秒种后自动隐含标签。

5 .双击“OK”按钮,写代码“CLOSE;”,用户可按此按钮退出程序。

下面给出完整的程序代码:

unit Unit1;

interface

uses Windows

SysUtils

Classes

Graphics

Forms

Controls

StdCtrls

Buttons

ExtCtrls;

type

TAboutBox = class(TForm)

Panel1: TPanel;

ProgramIcon: TImage;

ProductName: TLabel;

Version: TLabel;

Copyright: TLabel;

Comments: TLabel;

OKButton: TButton;

Label1: TLabel;

procedure FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure OKButtonClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

AboutBox: TAboutBox;

//定义一个字符串用来接收用户的输入

s:string;

implementation

{$R *.DFM}

procedure TAboutBox.FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

var

delaytime:TDatetime;

begin

//如果按下ALT键、只接收字符

if (shift=[ssalt]) and (key>=$41) and (key<=$5a) then

begin

s:=s+chr(key);

if s=‘EGGOUT' then

begin

//显示彩蛋

label1.visible:=true;

//延迟代码

delaytime:=now+encodetime(0

0

2

0);

while now    Application.ProcessMessages;

label1.visible:=False;

end;

end;

end;

procedure TAboutBox.OKButtonClick(Sender: TObject);

begin

close;//程序结束

end;

end.

说明:彩蛋的表现形式可以是多种多样的,你可以显示动画文字、图片等。

此程序在Delphi 3.0 、中文WIN98 环境下调试通过。

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘