Thanks Terry and Arnaud,
I just got back and saw your replies and I implemented it. All is now fine.
I used file = f.child(Filename) to save the file.
This last post is interesting because I do sometimes have more than one disk 
with the same name. So I will try this one now.
Thanks again.
Lennox.
 


Arnaud Nicolet <[EMAIL PROTECTED]> wrote: Le 7 oct. 06 à 18:01 Soir, Terry Ford 
a écrit:

> On Oct 7, 2006, at 8:32 AM, Arnaud Nicolet wrote:
>
>> The volume function takes an integer for its parameter (that's life).
>> If you want to look for your disk, you may use:
>>
>> dim f as folderItem
>> dim i as integer
>>
>> for i=0 to VolumeCount-1
>> f=Volume(i)
>> if f<>nil and f.name="My Files Hard Drive" then exit
>> next
>> if f=nil then
>> MsgBox "The disk “My Files Hard Drive” has not been found."
>> 'Show SelectFolder dialog or retry
>> return 'If you don't do anything, at least put a return
>> end if
>>
>>
>> Then 'f' is your disk.
>> Note that, if you have more than one disk named "My Files Hard  
>> Drive", the first one you inserted will be used.
>
> You are correct. One should also check, individually, for the  
> Children as well to ensure the path is complete.

You are right.
Also, we could construct an array of all volumes having the correct  
name (on Mac, there can be several) and, by checking the Children,  
removing the volumes where the path does not exist (so if the wanted  
disk is the second one named as we want, the code does not fail).

I'd imagine something like that:

dim f As FolderItem
dim Folders(-1) As FolderItem
dim i As integer
dim j As integer
dim s As String
dim SubFolders(-1) As String

j=VolumeCount
for i=0 to j
 f=volume(i)
 if f<>nil and f.name="My Files Hard Drive" then
  Folders.append f
 end if
next
'Folders contains every volume that has this name

if UBound(Folders)=-1 then return 'No disk at all with that name

SubFolders.Append "My docs"
SubFolders.Append "My New docs"

for j=0 to UBound(SubFolders)
 s=SubFolders(j)
 for i=UBound(Folders) downto 0
  f=Folders(i).Child(s)
  if f=nil or not f.Exist then
   Folders.Remove i
  else
   Folders(i)=f
  end if
 next
next
Select Case UBound(Folders)
case -1
 'Apparently, no disk contained the wanted path
 return
case 0
 f=Folders(0) 'A single volume is correct
else
 'Several volumes named correctly have the correct subfolders.
 '"Rand" is a property of the app class, of type Random
 i=Rand.InRange(0,UBound(Folders))
 f=Folders(i) 'So choosing a random one (well...)
end select
'use f

May contain mistakes, but I won't install a second hard disk and make  
the same subfolders to test it 
;-)_______________________________________________
Unsubscribe or switch delivery mode:


Search the archives of this list here:



                        
---------------------------------
Get your own web address for just $1.99/1st yr. We'll help. Yahoo! Small 
Business.
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to