我要对局域网中的某一台机子(192.168.0.1)中的某个文件(f:\1.txt)进行读写!因为连接到局域网中的其他机子需要用户名和密码?请问这个应该如何处理?
登录远程机子的用户名和密码都已知!假设用户名:jiangli 密码:123456程序就一个MEMO控件和一个button控件,memo用来显示远程机子上的f:\1.txt文件!button用来保存在memo中所修改后的内容,保存到远程机子上!这是大致的一些代码
Tform1.creat(sender: tobject);省略
memo1.readonly:=true;
memo1.Lines.LoadFromFile('\\服务器地址\f:\1.txt');
.....省略TForm1.button1click(sender: tobject);//写入
memo1.readonly:=false;
memo1.lines.savetofile('\\服务器地址\f:\1.txt');最好能给出源代码,如果不愿意的话,给点意见也好,谢谢大家了!
登录远程机子的用户名和密码都已知!假设用户名:jiangli 密码:123456程序就一个MEMO控件和一个button控件,memo用来显示远程机子上的f:\1.txt文件!button用来保存在memo中所修改后的内容,保存到远程机子上!这是大致的一些代码
Tform1.creat(sender: tobject);省略
memo1.readonly:=true;
memo1.Lines.LoadFromFile('\\服务器地址\f:\1.txt');
.....省略TForm1.button1click(sender: tobject);//写入
memo1.readonly:=false;
memo1.lines.savetofile('\\服务器地址\f:\1.txt');最好能给出源代码,如果不愿意的话,给点意见也好,谢谢大家了!
解决方案 »
- delphi7 Image图画增加滚动条的问题
- Interface 使用报错,求指点
- delphi如何以16进制数据写入偏移地址?
- 极度报表菜鸟求救
- 调用其他程序的问题^_^!
- 我用delphi6.0+access存储图片,后再sql语句删除图片,为什么数据库大小没有变小呢?
- 朋友写的一个仿foxmail的滚动提示条,大家看看觉得怎么样.
- 三层巢状数据更新问题!
- 唉,使用QuickReport果然是费力不讨好,请大家推荐一个好的报表控件,没时间上网查了
- delphi 10如何编程隐藏另一个进程
- 小强外挂网(www.sisz.com)诚邀外挂高手加盟
- 我想请问adodata1.updatebanch和adodata1.recordset.updatebanch有区别吗
var LPNETRESOURCE :TNetResourceA;
begin
LPNETRESOURCE.dwDisplayType:=RESOURCEDISPLAYTYPE_SHARE;
LPNETRESOURCE.lpLocalName:='';
LPNETRESOURCE.lpRemoteName:=pChar(\\服务器地址\f');
LPNETRESOURCE.lpProvider:='';
try
WNetAddConnection2(LPNETRESOURCE,pChar(jiangli ),pChar(123456),CONNECT_UPDATE_PROFILE);
except
end;
end;
showError, reconnect: Boolean): DWORD;
var
nRes: TNetResource;
errCode: DWORD;
dwFlags: DWORD;
begin
FillChar(NRes, SizeOf(NRes), #0); // Fill NetRessource with #0 to provide uninitialized values
nRes.dwType := RESOURCETYPE_DISK; // Disk resources
nRes.lpLocalName := PChar(locDrive); // Set Driveletter (Example: X:)
nRes.lpRemoteName := PChar(netPath); // Networkpath (Example: \\Test\C) // Check if it should be saved for use after restart and set flags
if reconnect then
dwFlags := CONNECT_UPDATE_PROFILE and CONNECT_INTERACTIVE
else
dwFlags := CONNECT_INTERACTIVE; errCode := WNetAddConnection3(Form1.Handle, nRes, username, userpwd, dwFlags); if (errCode <> NO_ERROR) and (showError) then
begin
Application.MessageBox(PChar('An error occured while connecting:' + #13#10 +
SysErrorMessage(GetLastError)), 'Error while connecting!', MB_OK);
end;
Result := errCode; // NO_ERROR
end;function DisconnectNetDrive(locDrive: string; showError,force,save: Boolean): DWORD;
var
dwFlags: DWORD;
errCode: DWORD;
begin
if save then // Set dwFlags, if necessary
dwFlags := CONNECT_UPDATE_PROFILE
else
dwFlags := 0; errCode := WNetCancelConnection2(PChar(locDrive), dwFlags, force); if (errCode <> NO_ERROR) and (showError) then
begin
Application.MessageBox(PChar('An error occured while disconnecting:' + #13#10 + SysErrorMessage(GetLastError)), 'Error while disconnecting', MB_OK);
end;
Result := errCode; // NO_ERROR
end; procedure TForm1.Button1Click(Sender: TObject);
begin
ConnectDrive('Y:', '\\ServerName\d', 'username', 'password', true, true);
// 注:Local Drive一定要設定為現在没有用的名子
Memo1.Lines.LoadFromFile('Y:\temp\temp1.txt');
end;procedure TForm1.Button2Click(Sender: TObject);
begin
DisconnectNetDrive('Y:', true, true, true);
end;{注:按「Button1」後、用文件Browser会看到在自己的機器里被建了一個新的Drive
按「Button2」後、新建的Drive被削除}