TIEPortableDevices.NavigateToFolderID
Declaration
function NavigateToFolderID(const sFolderID : WideString; bIncludeSubFolders : Boolean = False; GetTypes: TIEWPDObjectTypes = [iewFile, iewFolder]) : Boolean; overload;
function NavigateToFolderID(const sDeviceID, sFolderID : WideString; bIncludeSubFolders : Boolean = False; GetTypes: TIEWPDObjectTypes = [iewFile, iewFolder]) : Boolean; overload;
Description
Navigates to a folder specified by an Object ID and fills the
objects list.
The ID can be any object in the
objects list of ObjectType = iewFolder.
Parameter | Description |
sDeviceID | The device to open (if not specified then the active device is used) |
sFolderID | The ID of a folder object to open. Can be '' to open the device root folder |
bIncludeSubFolders | Whether to also retrieve objects in sub-folders |
GetTypes | They type of objects to returns, files (iewFile), folders (iewFolder) or both |
Result is false if an error was detected. You can check
LastError for detail on the failure.
ActiveDeviceID and
ActiveFolderID will be updated after calling
NavigateToFolderID. Use of
NavigateToFolderID(const sDeviceID, sFolderID ); is the same as setting:
ActiveDeviceID := sDeviceID;
ActiveFolderID := sFolderID;
// Open folder on double click
procedure TfrmMain.lbxObjectsDblClick(Sender: TObject);
var
Idx: Integer;
aObject: TIEWPDObject;
begin
if ( lbxObjects.ItemIndex >= 0 ) and
fPortableDevices.ObjectIsFolder( lbxObjects.Items[ lbxObjects.ItemIndex ] ) then
begin
// Fill Objects with items in this folder
if fPortableDevices.NavigateToFolderID( lbxObjects.Items[ lbxObjects.ItemIndex ] ) then
begin
lbxObjects.Items.Clear;
for I := 0 to fPortableDevices.ObjectCount - 1 do
lbxObjects.Items.Add( fPortableDevices.Objects[ I ].ID );
end;
end;
end;