Delphi使用技巧两则 汪箴 1998年 第21期 12版 #1  一、如何动态更改屏幕分辨率   有许多小工具可以在不重新启动Windows的条件下,动态更改屏幕分辨率。你是不是也想自己动手做一个呢?请在interface段中加入下面一句   function Resolution(X,Y:word):boolean;   然后在implementation段中写入如下代码:   function Resolution(X,Y:word):boolean;   var   DevMode:TDeviceMode;   begin   Result:=EnumDisplaySettings(nil,0,DevMode);   if Result then   begin   DevMode.dmFields:=DM_PELSWIDTH Or DM_PELSHEIGHT;   DevMode.dmPelsWidth:=X;   DevMode.dmPelsHeight:=Y;   Result:=ChangeDisplaySettings(DevMode,0)=DISP_CHANGE_SUCCESSFUL;   end;   end;   接着,在form中放个button,caption为“800×600”,然后在其OnClick事件中写下   if Resolution(800,600) then ShowMessage('800×600模式!');   好了,试一下吧! #1  二、如何把文件放入回收站   为了保险起见,我们通常把要删除的文件先放入回收站中,但是在delphi中似乎没有这样现成的语句。如果你查询help,它只会告诉你用deletefile函数会“不可挽回地”删除文件(真要恢复当然也可以办到,只是很麻烦)。那怎么办呢?别急,假设要安全地删除c:\temp.tmp文件,可用以下代码实现。   Var T:TSHFileOpStruct;   filename:String;   begin   filename:='c:\temp.tmp';   with T do   begin   Wnd:=0;   wFunc:=FO_DELETE;   pFrom:=Pchar(filename);   fFlags:=FOF_ALLOWUNDO   end;   try   SHFileOperation(T);   except   on eaccessviolation do showmessage('删除命令已被取消!');   end;   注意,如果指定文件不存在,或者在确认删除时按了“取消”,都会执行except后的语句。最后再提醒一句,别忘了在uses语句中加上shellapi。   以上程序在Delphi3中调试通过。