VS:GetResourceFromList

From Vectorworks Developer
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

Returns the indicated resource from the indicated resource list, if the resource is in the current document. Otherwise it returns nil.

FUNCTION GetResourceFromList(
listID :LONGINT;
index :LONGINT) : HANDLE;
def vs.GetResourceFromList(listID, index):
    return HANDLE

Parameters

listID LONGINT an ID for a resource list created by the BuildResourceList command.
index LONGINT an index into the list.

Remarks

You can check the referenced status of a resource with the object preference 700:

IsReferenced := GetObjectVariableBoolean(handleToResourceDefinition, 700);
{locked/referenced status }

Example

VectorScript

PROCEDURE Test; 
CONST
    ObjectType = 97; { Texture Definition } 
    FolderIndex = 100; { BuildResourceList Def for Texture Folder See Func. Ref } 
    SubFolderName = ''; { Nul subfolder get all folders and subfolders } 

VAR
    MyName : STRING; 
    MyList : LONGINT; 
    NumItems : LONGINT; 
	hatch : HANDLE;

BEGIN
    MyList := BuildResourceList(ObjectType, FolderIndex, '', NumItems); 
    MyName := GetNameFromResourceList(MyList, 1); { change this number to get the names of other textures } 
    Message( Date(2, 2), ': The Name is ', MyName, ' *** Total items in list: ', NumItems); 
	
	hatch := GetResourceFromList(MyList, 1);
	IF (hatch = NIL) THEN
	hatch := ImportResourceToCurrentFile(MyList, 1);
	
	DeleteResourceFromList(MyList, 1);
END; 
RUN(Test);

Python

def Test():
    ObjectType = 97; #{ Texture Definition } 
    FolderIndex = 100; #{ BuildResourceList Def for Texture Folder See Func. Ref } 
    SubFolderName = ''; #{ Nul subfolder get all folders and subfolders } 

    MyList, NumItems = vs.BuildResourceList(ObjectType, FolderIndex, ''); 
    MyName = vs.GetNameFromResourceList(MyList, 1); #{ change this number to get the names of other textures } 
    vs.Message( vs.Date(2, 2), ': The Name is ', MyName, ' *** Total items in list: ', NumItems)
	
    hatch = vs.GetResourceFromList(MyList, 1)
    if (hatch == None):
        hatch = vs.ImportResourceToCurrentFile(MyList, 1)
	
    vs.DeleteResourceFromList(MyList, 1)
	
Test()

Version

Availability: from VectorWorks12.0