www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@calibrationdata/@fileinterface/pSetFilename.m
function value = pSetFilename(obj, value) %PSETFILENAME Private set method. % Filename should be the name of a writable file. Filename can be an % absolute path, a relative path or a MATLABPATH relative path. Path % resolution uses FOPEN rules. Filename can also be empty (''). % % The interface obtains a lock to the referenced file. See PRELEASELOCKS % for more information. % Copyright 2000-2008 The MathWorks, Inc. % Check proposed value [ok, msg] = pIsValidFilename(obj, value); if ~ok error('mbc:calibrationdata:fileinterface:FileReadError', msg) end if isempty(value) % Calibration is empty obj.Calibration = feval(obj.CalibrationType); elseif exist(value) == 2 % File exists, try to read calibration = feval(obj.CalibrationType); try pm = obj.ProgressManager; pm.Job = 'Load calibration file'; pm.start; calibration = obj.pRead(calibration, value); obj.Calibration = calibration; pm.stop; catch ME pm.stop; rethrow(ME); end else % File does not exist, create calibration = feval(obj.CalibrationType); try pm = obj.ProgressManager; pm.Job = 'Create calibration file'; pm.start; obj.pWrite(calibration, value); pm.stop; catch ME pm.stop; rethrow(ME); end end