Delphi编程技巧三则

软件世界

1.限制文本框只接收数字字符

启动Delphi6,在File菜单中单击New/Application新建一个工程文件。在Form1窗体上放一个TEdit控件Edit1。Edit1的OnkeyPress事件代码如下:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin
if not (key in ['0'..'9']) then key:=chr(0);
end;
这样是不是就可以限制数字字符了呢?其实还有一个很重要的问题,大家都知道在我们右击鼠标键的时候,会弹出一个弹出式菜单,在该菜单中有一个“粘贴”选项,这时选择粘贴,同样可以输入非字符型的字符。所以还要在Form1窗体上再加一个TpopupMenu控件PopupMenu1,把Edit1的PopupMenu属性设为PopupMenu1。这时右击鼠标的时候,就不出现弹出式菜单了,从而达到了我们的目的。

2.禁止使用Alt+F4关闭窗口

在Windows中,大多数的应用程序都可以使用Alt+F4快捷键来关闭。这里使用Alt+F3快捷键关闭窗口。
首先新建一个窗体Form1,把Form1的keypreview属性设为True。当Form的keypreview属性设为false时,拥有输入焦点的控件将接收所有的键盘事件;当把它设为True时,先由窗体接收键盘事件,然后才是拥有输入焦点的控件接收键盘事件。
其他部分的程序如下:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (key=VK_F4) and ([ssALT]=shift) then key:=0;
if (key=VK_F3) and ([ssALT]=shift) then close;
end;

3.显示系统当前总内存和可利用内存

程序代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
memory:TMemoryStatus;
begin
memory.dwLength:=sizeof(memory); 
GlobalMemoryStatus(memory); 
Showmessage('总内存:'+inttostr(memory.dwTotalPhys)+'Bytes'); 
Showmessage('可利用内存:'+inttostr(memory.dwAvailPhys)+'Bytes');
end;
注:本程序在Windows98、Delphi6环境下运行通过。