Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Copy file fails with embedded files
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00814381
Message ID:
00814384
Views:
19
This message has been marked as a message which has helped to the initial question of the thread.
Sarah,

The COPY FILE command doesn't see files in EXE. You can replace it with FILETOSTR() and STRTOFILE()
* copy file (tcName) to (lcNewPath + tcName)
STRTOFILE(FILETOSTR(tcName), lcNewPath + tcName)
>I have some code which works fine when I run it from a .prg or from the command window. However when I run it from a .exe it fails. I have the file I want to copy in the .exe and I want to make an actual copy of it. In one case it's a stylesheet and I want to let the user make changes. However if they stuff up all they have to do is delete it and the file will be recreated. If I load it on install then they can't recover from errors and it's important to me that the default is always available.
>
>So, I've been mucking about and testing and my latest workaround is shown at the bottom of this post.
>
>By using locfile() I'm able to get the path of the file but then can't use that to make the copy. I would have thought that I could just use the file name anyway as fox will do the locfile() anyway but neither approach works.
>
>Any ideas?
>
>example call: this.copyfiletest("reports.css","Reports\", .t.)
>
>
>lparameter tcName, tcDestPath, tlCheck
>local i, lcNewPath, lcRoot, lnPathLen, lcFile
>
>lcRoot = fullpath(curdir())
>lcNewPath = lcRoot + tcDestPath
>lnPathLen = len(lcNewPath )
>wait window "should have a file at: " + lcNewPath + tcName
>
>if tlCheck
>  for i = 1 to 10
>    wait window "about to locate the file"
>    lcFile = locfile(lcNewPath + tcName)
>    wait window "have the file: " + lcFile
>    if left(lcFile, lnPathLen) != lcNewPath
>	wait window "about to copy"
>	*//falls over on the next line
>	copy file (lcFile) to (lcNewPath + tcName)
>	wait window "copy has been done."
>	lcFile = locfile(lcNewPath + tcName)
>
>	if left(lcFile, lnPathLen) # lcNewPath
>	  wait window "copy file " + tcName+ ": " + ltrim(str(i)) + " attempt. (lcFile: " + lcFile + ")"
>	else
>	  wait window "successful copy of " + tcName+ " to " + lcFile
>	  exit
>	endif
>    endif
>  next i
>else
>  copy file (tcName) to (lcNewPath + tcName)
>endif
>return .t.
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform