[Gambas-user] Acting on a file in the local folder of a Gambas project
Bruce
bbruen at ...2308...
Sun Jan 6 00:25:18 CET 2013
Hi Vuott,
The answer lies in understanding the difference between relative and
absolute paths in the gambas runtime. There is some help at
http://gambasdoc.org/help/cat/path?pt&v3
Some comments inline below
On Sat, 2013-01-05 at 22:45 +0000, Ru Vuott wrote:
> Hello,
>
>
> I don't understand...
>
> I have a file in local folder of my Gambas project, if my Gambas code is:
>
> Copy "myFile" To User.Home &/ "myFile"
>
> it's possible copy the file;
Here you are using a relative path to a file inside the executable, not
the file in your source directory. So, as per the pemissions revealed by
your Print Stat(..) below, you can Copy it somewhere else.
>
>
> But if the code is:
>
> Move "myFile" To User.Home &/ "myFile"
>
> it isn't possible to move the file.
> Infact an error returns: "Access forbidden".
Yes because the permissions for the file inside the executable are read
only and Move, i.e. Copy + Delete cannot be achieved.
>
> But, with "Move" if that code is:
>
> Move Application.Path &/ "myFile" to User.Home &/ "myFile"
>
> it' s OK. No errors.
Here you are using an absolute path, i.e. your source directory, and as
per the second Stat below you do have Write access to that real file.
>
> ''''''
>
> So if the code is:
>
> Print Stat("myFile").Auth
>
> the permissions are: r--------
>
> but if the code is:
>
> Print Stat(Application.Path &/ "myFile").Auth
>
> the console shows these permissions: rw-rw-r--
>
> ''''''
>
> And more.
>
> File.Save("myFile", "this is my file")
>
> it isn't possible to save the file: "Access forbidden".
Again, the relative path means that you are trying to access the file
that has been compressed inside the executable and no write access is
allowed.
>
>
> BUT:
>
> string = File.Load("myFile")
>
> this is possible !!!
As per the first example.
>
> And:
>
> File.Save(Application.Path &/ "myFile", "this is my file")
>
> this is possible.
Again, the absolute path means this is trying to save the real file
inside your source project.
>
> '''
>
> I don't understand why those different results (IF the "path" of file is made plain and IF not).
See the help page.
>
> Regards
> vuott
>
> ------------------------------------------------------------------------------
> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
> MVPs and experts. SALE $99.99 this month only -- learn more at:
> http://p.sf.net/sfu/learnmore_122912
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
Hope that helps
regards
Bruce
More information about the User
mailing list