Solved

Network address instead of drive letter.

Posted on 1998-11-16
12
290 Views
Last Modified: 2010-04-04
Using Microsoft Word it is possible to open and manipulate files on a network server by putting the IP address in the path instead of the drive letter.

Example:

I have a UNIX server with the IP number 193.133.116.1
I can map a file system on this server to drive on my PC,
say /data on the server to drive Fl appear in the windows explorer as /data on '193.133.116.1' (F:).

Obviously this is using TCP/IP as the network protocol.

I can then access this drive through Word as either F: or without mapping the drive as \\193.133.116\/data.

How can I use the second method with my applications in Delphi 3 ?

John Morin
0
Comment
Question by:nhoj
  • 6
  • 2
  • 2
  • +1
12 Comments
 
LVL 2

Expert Comment

by:333
ID: 1347000
Hi,
I'm not sure if it works with IP address, but i tested it with computer network name.
If you want to open a file on the network:
RichEdit1.Lines.LoadFromFile('\\mycomputer\share_c\autoexec.bat');

If you have mapped drive and you want to get full path then:
label1.caption:=ExpandUNCFileName('f:\autoexec.bat');
If drive F is mapped to \\mycomputer\share_c then label1.caption will be
''\\mycomputer\share_c'

A.
0
 
LVL 1

Accepted Solution

by:
jecksom earned 100 total points
ID: 1347001
hi nhoj!

As you said you have "Unix" server and probably Samba daemon installed on it,
you could access resources only via netbios (that can be differs from nds) name like :
\\server\<user_or_resource_name>\<file> , in case this "Unix" server is in your network
segment or whatever annouced you don't have to worry about IP<-> Netbios address
translation, windows do it for you , but if you want to access machine in different (not announced
segment) you have to put <IP     NETBIOS name> in your \windows\lmhosts file and then
connect as "usually". Check WNetAddConnection2 for "usually" connection.

Jecksom

0
 
LVL 1

Expert Comment

by:hustch
ID: 1347002
1) ExpandUNCFileName also copies the filename (ExpandUNCFileName('f:\autoexec.bat') = '\\mycomputer\share_c\autoexec.bat' if drive F is mapped to \\mycomputer\share_c

2) It is possible, to have then same share mappet two different ways, eg. F: as \\mycomputer\share_c and G: as \\ip-number\share_c
Then ExpandUNCFileName('f:\autoexec.bat') = '\\mycomputer\share_c\autoexec.bat'
and ExpandUNCFileName('g:\autoexec.bat') = '\\ip-number\share_c\autoexec.bat'
0
 
LVL 1

Expert Comment

by:jecksom
ID: 1347003
nhoj, just map letter read file and unmap letter:

var
  nr:TNetResource;

procedure TForm1.Button1Click(Sender: TObject);
begin
nr.lpRemoteName:=stralloc(255);
nr.lpLocalName:=stralloc(255);
nr.dwType:=RESOURCETYPE_ANY;
StrPCopy(nr.lplocalName,  'f:'); // let say H:
StrPCopy(nr.lpremoteName, '\\195.18.32.62\jecksom\core');
nr.lpProvider:=nil;
if no_error=
WNetAddConnection2(nr,'password','login',CONNECT_RESERVED) then
begin
memo1.lines.LoadFromFile('f:\core');
if no_error<>WNetCancelConnection2('h:',0,false) then
showmessage('error unmapping');
end else showmessage('error mapping');
strdispose(nr.lpRemoteName);
strdispose(nr.lpLocalName);
end;

Jecksom
0
 
LVL 1

Expert Comment

by:jecksom
ID: 1347004
in my example must be :

WNetCancelConnection2('f:',0,false) // not h:
  and
you have to change  <IP> and <login> <password>.

0
 
LVL 1

Expert Comment

by:jecksom
ID: 1347005
Oh , line
memo1.Lines.LoadFromFile('\\193.133.116.1\resource\file'); , working too.

0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 1

Expert Comment

by:hustch
ID: 1347006
You don't have to map the share to read the file, you can just open the file as '\\server\share\filename'.
0
 
LVL 1

Expert Comment

by:jecksom
ID: 1347007
hustch: yes.
0
 
LVL 2

Expert Comment

by:333
ID: 1347008
That's what I say.

A.
0
 
LVL 1

Expert Comment

by:jecksom
ID: 1347009
333: yep, your first comment was answer on question , sorry , will wait when nhoj awake.

0
 
LVL 1

Author Comment

by:nhoj
ID: 1347010
nhoj is awake!
I need some time to try these things.
0
 
LVL 1

Author Comment

by:nhoj
ID: 1347011
\\server_name\directory_name\file OR
\\IP_address\directory_name\file
work equally well.

When connecting to UNIX servers the slashes in the path must all be \ as in Windows and NOT / as is normal in UNIX. This is where I went wrong before.

Thanks
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Suggested Solutions

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now