>Maybe Michael can answer - why [he used RESET]
I gave one answer in post#12 but if you don't like that one, you can use this:
"To give you something to keep you awake at night, wondering."
Announcement
Collapse
No announcement yet.
Move a folder to the recycle bin
Collapse
X
-
Gary
My problem was the trailing back slash on the path to delete folders.
As far as the RESET instruction goes:
Michael had it in his code, I read the documentation and then used it.
It seems to work just fine with or without RESET.
Maybe Michael can answer - why.
Leave a comment:
-
>you shouldn't open yourself up like that
Over the years I have acknowledged other personal history and attributes a lot worse than being a control freak.
I'll live.
(Curious? Go find 'em yourself using the search. That ought to keep you busy for a couple of hours).
MCM
Leave a comment:
-
Originally posted by Michael Mattias View Post...As a rule I'm a control freak...
Leave a comment:
-
Is Reset necessary in your code? Since both variables that it's applied to are local and not STATIC, why did you reset them
As a rule I'm a control freak and don't like putting total faith in defaults.
I also use a lot of 'unnecessary' parentheses, eschewing the operator precedence rules which should result in the order I want. Of course this also is as mich for my own benefit, so I can look at code six months later and know what I did without the need to look up those operator precedence rules.Last edited by Michael Mattias; 23 Aug 2009, 08:43 AM.
Leave a comment:
-
Mel,
Thanks for the link. I had looked a few weeks ago and didn't see your post. Now that you point it out - there it is in plain sight.
I've said before that finding the right keywords can be troublesome, but in this case I don't see how I'd have missed it (except that it showed up off the first page of search results) - there are only a few ways to type "recycle bin".
... updated ... Wow, and now I see that it wasn't in PBWin. I've been guilty of thinking console forum stuff is not useful to PBWin apps, but now I know better. I'll need to go browse around that forum to see what I missed that I might find useful.
Thanks!Last edited by Gary Beene; 22 Aug 2009, 11:12 PM.
Leave a comment:
-
Trento,
Is Reset necessary in your code? Since both variables that it's applied to are local and not STATIC, why did you reset them?
Just wondering.
Also, I just noticed from MCM's response that the file name must be the complete pathname. I ran your code with something like "myfile.txt" but until I used exe.path$ + "myfile.txt", the deleted file did not show in the recycle bin. It took me a minute to realize the his/your codes were the same (flags different) and applied to both files/folders.
Also I see that when a folder is deleted, it need not be empty - useful and dangerous.
Thanks to both of your for posting the code. I had been wanting just that snippet!Last edited by Gary Beene; 22 Aug 2009, 11:02 PM.
Leave a comment:
-
Originally posted by Michael Mattias View PostB. Windows NEVER wants a trailing backslash when supplying a folder name.
MCM
That's like saying "There are no absolutes"...just in saying it makes an absolute. You also forgot about the root "Folder" which is a \. I too forgot about it a couple times and now always remember to handle its special case.
Leave a comment:
-
This is the code I am using for "FILES".
I had NO code for "DIRECTORIES"
Code:FUNCTION RecycleBinSilent(BYVAL FileName AS STRING) AS LONG LOCAL shfo AS SHFILEOPSTRUCT LOCAL szSource AS ASCIIZ * %MAX_PATH LOCAL lResult AS LONG RESET szSource szSource = FileName RESET SHFO SHFO.hWnd = GetDesktopWindow() shfo.wFunc = %FO_DELETE shfo.pFrom = VARPTR(szSource) shfo.fFlags = %FOF_ALLOWUNDO OR %FOF_NOCONFIRMATION 'OR %FOF_SIMPLEPROGRESS lResult = SHFileOperation(shfo) FUNCTION = shfo.fAnyOperationsAborted END FUNCTION
Leave a comment:
-
>I guess I just didn't understand the above verbiage
I didn't either. But at least I showed my code.....
...which includes in the comments a "hint" that FOF_WANTNUKEWARNING is NOT the important flag here!!!!
MCM
Leave a comment:
-
Michael
FOF_WANTNUKEWARNINGVersion 5.0. Send a warning if a file is being permanently destroyed during a delete operation rather than recycled. This flag partially overrides FOF_NOCONFIRMATION.
I guess I just didn't understand the above verbiage.
Thanks again
Leave a comment:
-
>I don't think I would have ever accomplished this one on my own.
Oh, come on.
All you would have had to do was try a couple of different flags and see what happened. Hell, that's how I did it. Took me maybe ten minutes, tops.
Or, if your problem was really...
>Requires no trailing backslash
.. then....
A. You didn't check the return code from ShFileOperation, did you? (code not shown)
B. Windows NEVER wants a trailing backslash when supplying a folder name.
MCMLast edited by Michael Mattias; 22 Aug 2009, 11:21 AM.
Leave a comment:
-
Move folder to recycle bin
Michael
Thanks - works!
I don't think I would have ever accomplished this one on my own.
(Requires no trailing backslash)
Leave a comment:
-
My code works fine. (Yes I had to tweak the flags)
Code:' Test_deletefolder_rb ' 08.22.09 ' ShFileOperation does not handle delete of folders to recycle bin? ' I don't believe that. I should have, it's true, ' Using FOF_WANTNUKEWARNING (when requested) does come up ' what if... FOF_ALLOWUNDO is used? Goes to recycle bin! #COMPILE EXE #DIM ALL #INCLUDE "WIN32API.INC" FUNCTION PBMAIN () AS LONG LOCAL szFolder AS ASCIIZ * %MAX_PATH LOCAL SHFO AS SHFILEOPSTRUCT LOCAL iRet AS LONG RESET szFolder szFolder = "D:\Testdata\DeleteMe" RESET SHFO SHFO.hWnd = GetDesktopWindow() SHFO.wFunc = %FO_DELETE SHFO.pFrom = VARPTR(szFolder) SHFO.fFlags = %FOF_WANTNUKEWARNING OR %FOF_ALLOWUNDO ' SDK doc: ' " If pFrom is set to a file name, deleting the file with FO_DELETE will not move it to the Recycle Bin, ' " even if the FOF_ALLOWUNDO flag is set. You must use a full path. iRet = SHFileOperation (SHFO) MSGBOX USING$ ("SHFO returns # &", iRet, IIF$ (iRet, "Error", "Success")) END FUNCTION
Leave a comment:
-
Move a folder to the recycle bin
I can programmatically move files to the recycle bin.
I would like to programmatically move folders to the recycle bin.
The "SHFILEOPSTRUCT structure" seems to be for files only.
Any help would be appreciated.Tags: None
Leave a comment: