📄 get_filename4w.m
字号:
function [selected_file,ierr]=get_filename4w(ext,filename)% Function interactively gets a file name with extension ext for writing a data set%% Written by: E. R., December 13, 2000% Last updated: April 19, 2006: more extensions for which to save the last % directory used%% [selected_file,ierr]=get_filename4w(ext,filename)% INPUT% ext file extension (including .) or filename. Extensions for which % paths are defined are: % {'sgy','segy'},'log',{'tbl','asc','txt','dat'},'mat'. % Default: '.mat'% This extension is used to choose the initial directory path% and to show only files with this extension. Both can be changed % in the file selector box; the dot (".") in front of the extension% is not required (extension "txt" and ".txt" are equivalent).% filename optional file name (without path)% OUTPUT% selected_file filename including path% ierr error code. ierr = logical(0) if a filename was selected and % ierr = logical(1) if not.% global variables: S4M.filename name of the file selected% S4M.pathname name of the path selected% ABORTED (same as ierr)% this means that selected_file = fullfile(S4M.pathname,S4M.filename)global S4M ABORTEDrun_presets_if_neededif nargin < 2 filename=''; if nargin == 0 ext='.mat'; endendierr=logical(0);oldDir=pwd;% Open file selector windowif ismember(ext,{'sgy','.sgy'}) filter_spec={'*.sgy;*.segy', 'Seismic files (*.segy, *.sgy)'; ... '*.*', 'All files (*.*)'}; dialogue='Write SEG-Y file'; try cd(S4M.seismic_path) catch endelseif ismember(ext,{'mat','.mat'}) filter_spec={'*.mat', 'Matlab mat files (*.mat)'; ... '*.*', 'All files (*.*)'}; dialogue='Write Matlab MAT file'; try cd(S4M.mat_path) catch endelseif ismember(ext,{'las','.las'}) filter_spec={'*.las', 'Well log files (*.las)'; ... '*.*', 'All files (*.*)'}; dialogue='Write LAS file'; try cd(S4M.log_path) catch endelseif ismember(ext,{'tbl','asc','txt','dat','.tbl','.asc','.txt','.dat'}) filter_spec={'*.asc;*.tbl;*.txt;*.dat', 'Table files (*.tbl, *.txt, *.dat, *.asc)'; ... '*.*', 'All files (*.*)'}; dialogue='Write TABLE to file'; try cd(S4M.table_path) catch endelse filter_spec=ext; dialogue='Select file for output';end try if S4M.matlab_version < 6.5 [filename,pathname]=uiputfile(filter_spec,dialogue); else [filename,pathname]=uiputfile(filter_spec,dialogue,filename); endcatch alert('Failure to get a file name (uiputfile aborted)') filename=0;endcd(oldDir)if filename == 0; uiwait(errordlg(' No file selected. Task terminated',S4M.name,'modal')) selected_file=''; ierr=logical(1); ABORTED=logical(1); returnendselected_file=[pathname,filename];if ~S4M.compiled disp(['File ',selected_file,' interactively selected']);end % Set path name to the path just usedif ismember(ext,{'sgy','.sgy','segy','.segy'}) S4M.seismic_path=pathname;elseif ismember(ext,{'mat','.mat'}) S4M.mat_path=pathname;elseif ismember(ext,{'las','.las'}) S4M.log_path=pathname;elseif ismember(ext,{'tbl','txt','asc','dat','.tbl','.txt','.asc','.dat'}) S4M.table_path=pathname;end S4M.filename=filename;S4M.pathname=pathname;ABORTED=logical(0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -