Show quoted text 14 lines
On Fri, 10 Feb 2012, Reinier Olislagers wrote:
> On 10-2-2012 13:09, Jonas Maebe wrote:
> 1. Renaming is not moving???
> The help says:
> "RenameFile renames a file from OldName to NewName. The function returns
> True if successful, False otherwise. Remark: you cannot rename across
> disks or partitions."
That is exactly what Jonas said.
> What does this mean, then?
> If you rename from e.g. /etc/b to /var/b, (and assuming they're on the
> same partition), you're moving the files from one directory to another,
> aren't you?
No, you are renaming them.
I understand that you might be renaming them from a fs/OS standpoint as there is no actual file data being transferred... but to the user it has moved.
> If you cannot move files between directories at all but only rename
> them, the remark in the help does not make sense.
You can move them, if the directories are on the same partition.
Exactly. To the user/programmer it looks as if they've moved (the fs really moved the pointer to the file data into another part of the tree).
Show quoted text 6 lines
> Maybe it helps if something like this is put there:
> "RenameFile renames a file from OldName to NewName. The function returns
> True if successful, False otherwise. Remark: this function can move
> and/or rename files from one directory to another, but you cannot rename
> across disks or partitions."
It seems to me you are confusing 'moving' and 'renaming'.
I'd welcome a better suggestion for adding to the help file...
The function just renames. The result may be that the file ends up in
another directory, i.e. is moved.
Mmm yes. To me that is arguing over semantics. Or maybe we're trying to say the same thing.
I understand that's the way the underlying filesystem works (on Unixes at least), but that is not the case everywhere.
E.g. Windows rename command help gives:
Renames a file or files.[...]Note that you cannot specify a new drive or path for your destination file.
So there, rename (the command at least) does NOT allow you to move files between directories.
In other words, programmers coming from a Windows background might not expect that the renamefile command allows "moving" files between directories on the same partition.
I do understand what Jonas & you meant (and I even understood the point about not being able to move*cough* rename files across directories from the help before writing to the list - just erroneously assumed /tmp and /home were on the same partition).
My point is that it would help to expand the help a bit so that it's clearer.
Then again, my Delphi-less background may lead me to strange errors such as these which people with a Delphi history may dismiss ;)
> 2. What is the function for "properly" moving files in FPC that also
> moves between partitions, if one exists?
None exists.
Thanks, I feared as much.
Thanks for the help, you 2,
Regards,
Reinier