中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
Delphi基础开发技巧(7)
作者:佚名 时间:2007-09-18 16:45 出处:51cto 责编:月夜寒箫
              摘要:Delphi基础开发技巧(7)
[DELPHI]获取某一计算机上的共享目录

procedure getsharefolder(const computername:string);

var

errcode,a:integer;

netres:array[0..1023] of netresource;

enumhandle:thandle;

enumentries,buffersize:dword;

s:string;

mylistitems:tlistitems;

mylistitem:tlistitem;

mystrings:tstringlist;

begin

with netres[0] do begin

dwscope :=RESOURCE_GLOBALNET;

dwtype :=RESOURCETYPE_DISK;

dwdisplaytype :=RESOURCEDISPLAYTYPE_SHARE;

dwusage :=RESOURCEUSAGE_CONTAINER;

lplocalname :=nil;

lpremotename :=pchar(computername);

lpcomment :=nil;

lpprovider :=nil;

end; // 获取根结点

errcode:=wnetopenenum(RESOURCE_GLOBALNET,RESOURCETYPE_DISK,RESOURCEUSAGE_CONTAINER,@netres[0],enumhandle);

if errcode=NO_ERROR then

begin

EnumEntries:=1024;

BufferSize:=SizeOf(NetRes);

ErrCode:=WNetEnumResource(EnumHandle,EnumEntries,@NetRes[0],BufferSize);

end;

wnetcloseenum(enumhandle);

a:=0;

mylistitems:=controlcenter.lstfile.Items ;

mylistitems.Clear ;

while (string(netres[a].lpprovider)<>') and (errcode=NO_ERROR) do

begin

with mylistitems do

begin

mylistitem:=add;

mylistitem.ImageIndex :=4;

mylistitem.Caption :=extractfilename(netres[a].lpremotename);

end;

a:=a+1;

end;

end;

◇[DELPHI]得到硬盘序列号

var SerialNum : pdword; a, b : dword; Buffer : array [0..255] of char;

begin

if GetVolumeInformation('c:\', Buffer, SizeOf(Buffer), SerialNum, a, b, nil, 0) then Label1.Caption := IntToStr(SerialNum^);

end;

◇[DELPHI]MEMO的自动翻页

Procedure ScrollMemo(Memo : TMemo; Direction : char);

begin

case direction of

'd': begin

SendMessage(Memo.Handle, { HWND of the Memo Control }

WM_VSCROLL, { Windows Message }

SB_PAGEDOWN, { Scroll Command }

0) { Not Used }

end;

'u' : begin

SendMessage(Memo.Handle, { HWND of the Memo Control }

WM_VSCROLL, { Windows Message }

SB_PAGEUP, { Scroll Command }

0); { Not Used }

end;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

ScrollMemo(Memo1,'d'); //上翻页

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

ScrollMemo(Memo1,'u'); //下翻页

end;

◇[DELPHI]DBGrid中回车到下个位置(Tab键)

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);

begin

if Key = #13 then

if DBGrid1.Columns.Grid.SelectedIndex < DBGrid1.Columns.Count - 1 then

DBGrid1.Columns[DBGrid1.Columns.grid.SelectedIndex + 1].Field.FocusControl

else

begin

Table1.next;

DBGrid1.Columns[0].field.FocusControl;

end;

end;
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有