How do I use a memory variable as a filename when copying and renaming a file?
For sake of example, let’s say that you have a character variable called lcSourceFileName that contains the name of the file to copy, and a character variable called lcTargetFileName that contains the name of the file to copy to.
Either of the following two pieces of code will work:
lcSourceFile = "D:ABC.TXT"lcTargetFile = "D:XYZ.TXT"COPY FILE &lcSourceFileName TO &lcTargetFileNamelcSourceFile = "D:ABC.TXT"lcTargetFile = "D:XYZ.TXT"COPY FILE (lcSourceFileName) TO (lcTargetFileName)
I prefer the second example because it is easier to extend than first; any FoxPro expression can get put between the parentheses:
lcSourcePath = "D:"lcSourceFile = "ABC.TXT"lcTargetFile = "D:"lcTargetFile = "XYZ.TXT"COPY FILE (lcSourcePath+lcSourceFileName) TO (lcTargetPath+lcTargetFileName)
If you had two functions, GetSourcePath() and GetTargetPath(), you could execute the following:
COPY FILE (GetSourcePath()+lcSourceFileName) TO (GetTargetPath()+lcTargetFileName)