www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@calibrationdata/@visionv2interface/pSetFilename.m

    function value = pSetFilename(obj, value)
%PSETFILENAME  Private set method.

%  Copyright 2004-2008 The MathWorks, Inc.


if isempty(obj.Connection)
    % No connection
    error(message('mbc:calibrationdata:visionv2interface:StaleConnection'))
else
    if isempty(value) % close
        % Release interfaces
        obj.pReleaseIDevices;
        % Close project
        obj.IProject.Close;
    else % open
        % Check filename
        iCheckFilename(obj.Computer, value);
        % Release interfaces
        obj.pReleaseIDevices;
        % Open project
        flag = obj.IProject.Open(value);
        if ~strcmp(flag, 'VISION_OK')
            error(message('mbc:calibrationdata:visionv2interface:FileReadError4', value))
        end
    end
end

% -------------------------------------------------------------------------

function iCheckFilename(computer, filename)
%ICHECKFILENAME  Check proposed filename.

% Check that path is absolute and extension is correct
[pathname, basename, extension] = fileparts(filename);
if length(pathname) < 3 || ~strcmp(pathname(2:3), ':\')
    error(message('mbc:calibrationdata:visionv2interface:FileReadError5'))
elseif ~strcmp(extension, '.vpj')
    error(message('mbc:calibrationdata:visionv2interface:FileReadError6'))
end

% Convert to UNC path and check for existence
uncFilename = filename;
if ~isempty(computer)
    uncFilename(2) = '$'; % checked above
    uncFilename = sprintf('\\\\%s\\%s', computer, uncFilename);
end
uncPathname = fileparts(uncFilename);
if ~exist(uncPathname, 'dir')
    error(message('mbc:calibrationdata:visionv2interface:FileReadError7', pathname))
elseif ~exist(uncFilename, 'file')
    error(message('mbc:calibrationdata:visionv2interface:FileReadError8', filename))
end