Platforms to show: All Mac Windows Linux Cross-Platform

/Util/IsFileWritable tests


Required plugins for this example:

Last modified Sun, 17th Mar 2012.

You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /Util/IsFileWritable tests

Download this example: IsFileWritable tests.zip

Project "IsFileWritable tests.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
End Control
EventHandler Sub Open() Createfolders TestFolders End EventHandler
Protected Sub CreateFolder(name as string, Permission as integer) dim f as FolderItem = root.Child(name) f.CreateAsFolder folders.Append f dim g as Folderitem = f.Child("testfile") dim t as TextOutputStream = g.CreateTextFile t.Write "Hello World" f.Permissions = Permission End Sub
Protected Sub CreateFolders() dim n as integer root = SpecialFolder.Desktop.Child("test") while root=nil or root.Exists n = n + 1 root = SpecialFolder.Desktop.Child("test"+str(n)) wend root.CreateAsFolder CreateFolder "4 read only", &o444 CreateFolder "2 write only", &o222 CreateFolder "1 execute only", &o111 CreateFolder "6 read+write", &o666 CreateFolder "7 all allowed", &o777 CreateFolder "5 read+execute", &o555 CreateFolder "3 write+execute", &o333 End Sub
Protected Sub TestDelete(f as FolderItem, index as integer) dim g as FolderItem = f.Child("testfile") g.Delete if g.LastErrorCode = 0 then List.Cell(index,5)="works" else List.Cell(index,5)=str(g.LastErrorCode) end if Exception End Sub
Protected Sub TestFolders() for each f as FolderItem in folders test f next End Sub
Protected Sub TestRead(f as FolderItem, index as integer) dim g as FolderItem = f.Child("testfile") dim b as BinaryStream = g.OpenAsBinaryFile(false) if b<>Nil then List.Cell(index,4)="works" else List.Cell(index,4)=str(g.LastErrorCode) end if Exception End Sub
Protected Sub TestWrite(f as FolderItem, index as integer) dim g as FolderItem = f.Child("writetest") dim b as BinaryStream = g.CreateBinaryFile("") if b<>Nil then List.Cell(index,3)="works" else List.Cell(index,3)=str(g.LastErrorCode) end if Exception End Sub
Protected Sub test(f as FolderItem) List.AddRow f.Name List.Cell(List.LastIndex,1)=str(f.IsReadable) List.Cell(List.LastIndex,2)=str(f.IsWriteable) TestWrite f, List.LastIndex TestRead f, List.LastIndex TestDelete f, List.LastIndex Exception // ignore them all End Sub
Property Protected folders() As FolderItem
Property Protected root As FolderItem
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project

Download this example: IsFileWritable tests.zip

The items on this page are in the following plugins: MBS Util Plugin.


The biggest plugin in space...