background image

Delphi

 

技巧集

◇[DELPHI]

 

网络邻居复制文件

uses shellapi; 
copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false); 

◇[DELPHI]

 

产生鼠标拖动效果

通过

MouseMove 事件、DragOver 事件、EndDrag 事件实现,例如在 PANEL 上的 LABEL  

var xpanel,ypanel,xlabel,ylabel:integer; 

PANEL 的 MouseMove 事件:xpanel:=x;ypanel:=y; 
PANEL 的 DragOver 事件:xpanel:=x;ypanel:=y; 

LABEL 的 MouseMove 事件:xlabel:=x;ylabel:=y; 
LABEL 的 EndDrag 事件:label.left:=xpanel-xlabel;label.top:=ypanel-ylabel; 

◇[DELPHI]取得 WINDOWS

 

目录

uses shellapi; 
var windir:array[0..255] of char; 

getwindowsdirectory(windir,sizeof(windir)); 

 

或者从注册表中读取,位置:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion 
SystemRoot 键,取得如:C:\WINDOWS 

◇[DELPHI]在 FORM

 

或其他容器上画线

var x,y:array [0..50] of integer; 
canvas.pen.color:=clred; 

canvas.pen.style:=psDash; 
form1.canvas.moveto(trunc(x[i]),trunc(y[i])); 

form1.canvas.lineto(trunc(x[j]),trunc(y[j])); 

◇[DELPHI]

 

字符串列表使用

var tips:tstringlist; 

tips:=tstringlist.create; 
tips.loadfromfile('filename.txt'); 

edit1.text:=tips[0]; 
tips.add('last line addition string'); 

tips.insert(1,'insert string at NO 2 line'); 
tips.savetofile('newfile.txt'); 

tips.free; 

◇[DELPHI]

 

简单的剪贴板操作

richedit1.selectall; 

richedit1.copytoclipboard; 
richedit1.cuttoclipboard; 

edit1.pastefromclipboard; 

◇[DELPHI]

 

关于文件、目录操作

Chdir('c:\abcdir');

 

转到目录

Mkdir('dirname');

 

建立目录

Rmdir('dirname');

 

删除目录

GetCurrentDir;//取当前目录名,无'\' 
Getdir(0,s);//取工作目录名 s:='c:\abcdir'; 

Deletfile('abc.txt');//

 

删除文件

Renamefile('old.txt','new.txt');//

 

文件更名

ExtractFilename(filelistbox1.filename);//

 

取文件名

ExtractFileExt(filelistbox1.filename);//

 

取文件后缀

◇[DELPHI]

 

处理文件属性

attr:=filegetattr(filelistbox1.filename); 
if (attr and faReadonly)=faReadonly then ... //

 

只读