Page 1 of 1

LISDIR() and Windows 2000 Server Servoce Pack 3

Posted: Sat Nov 17, 2007 2:03 am
by Boris
Hi all,

I have problem with OS Windows 2000 Server Service pack3
The function LISDIR() works perfect on any other OS, than this one.

Anyone has this experience?
IS there any help?

Regards

Posted: Sat Nov 17, 2007 3:05 am
by James Bott
Hi Boris,

I don't know about your specific problem, but I had this code in my notes file for Win98. Perhaps it will work for you.

James

Code: Select all

-----------------------
// Replacement for FW's lisDir() which can't handle Win 98 network
// paths like \\compaq\c\faxserve
function lisDir(cPath)
   local nHandle,lSuccess:=.f.
   cPath:=lfn2sfn(alltrim(cPath))
   cPath:=if(right(cPath,1)="\",left(cPath,len(cPath)-1),cPath)
   if file(cPath+"\testfile.$$$")
      lSuccess:=.T.
   elseif ( nHandle := fcreate( cPath + "\testfile.$$$" )) > 0
      fclose(nHandle)
      ferase(cPath + "\testfile.$$$")
      lSuccess := .T.
   endif
return lSuccess

Posted: Sat Nov 17, 2007 6:22 am
by nageswaragunupudi
you may try this code also:

Code: Select all

function direxists( cpath )

local adir

return ( len( adir := directory( cpath, 'D' ) ) > 0 .and. adir[1][5] == 'D' )
This works with directories where the user does not have write permissions also. This works even without removing the trailing slash, if any. Hope it works on all versions of windows.