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