谁知道如何取局域网的另一台机子的共享目录那?(大虾进)(100分)

  • 主题发起人 chocolate
  • 开始时间
C

chocolate

Unregistered / Unconfirmed
GUEST, unregistred user!
用opendialog的话只能是文件名,不能是目录(如果目录里没有文件就完了)
如果用SelectDirectory的话有不能访问网络路径。怎么办阿,大虾们?
 
SelectDirectory可以访问网络路径呀,比如//server/movie
 
to naughtboy,我没有试出来,你能给个例子吗?100分就是你的了。谢谢
 

//查看网络邻居中某台机器的共享资源
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
StaticText1: TStaticText;
StaticText2: TStaticText;
Edit1: TEdit;
Panel1: TPanel;
Bevel1: TBevel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
var
temp:string;
{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
host:string;
size:integer;
f:file of byte;
begin
memo1.Lines.Clear ;
if fileexists(temp) then
deletefile(temp);
//每次查询前将前次结果清除,上面三个清空或删除语句保证了多次查询时每次得到的都是最新查询的结果。

host:=edit1.text;
winexec(pchar('command.com /C net view //'+host+' >'+temp),sw_hide);

while not fileexists(temp) do
sleep(3000);
//为了临时文件的建立等待3秒种

try
AssignFile(f,temp);
Reset(f);
size := FileSize(f);
finally
closefile(f); //无论是否发生异常都会关闭文件,如果文件没有关闭,以后就不能再打开,直到程序退出。
end;

if size=0 then
begin
showmessage(edit1.text+'目前没有上网!');
exit;
end
else
try
memo1.lines.loadfromfile(temp);
except
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.lines.Clear;
temp:='c:/resource.txt';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if fileexists(temp) then
deletefile(temp);
end;

end.

 
我搞过,前提是操作系统必须是WINDOWS2000以上,唉!!!!!!!!
 
2000也行阿,给个例子?
 
用SelectDirectory完全可以,你试试。
procedure TCopyForm.SpeedButton1Click(Sender: TObject);
var Sc:string;
begin
Sc := '';
if SelectDirectory('Select Directory', '', Sc) then caption := sc;
end;
 
接受答案了.
 
顶部