How to correcty set this error??

1 次查看(过去 30 天)
Hi everybody!! I have to set an error when I read a file.
My error box has to appear when users press "Load" before choosing the file.
I tried lots of combinations, but it doesn't work... It only shows me a textread error like:
??? Error using ==> textread at 167
File not found.
Error in ==> E1_Amm_IT>PB_Carica_Callback at 202
[anno azienda istituto disciplina_dimissione prog_reparto ...
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> E1_Amm_IT at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==>
@(hObject,eventdata)E1_Amm_IT('PB_Carica_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
I post you my code:
function PB_Browse_Callback(hObject, eventdata, handles)
global file
[file path] = uigetfile('*.txt');
global filepath
filepath = strcat(path, file);
set(handles.ET_Path, 'String', filepath);
filename=get(handles.ET_Path, 'String');
global filepath;
if strcmp(filepath, '')==1
errordlg('Choose a file!', 'ERROR!');
elseif strcmp(filepath, '')==0
% My .m file runs
How can I fix it??
  2 个评论
Andrew Newell
Andrew Newell 2012-1-19
Can you post the code with the textread command in it?
Walter Roberson
Walter Roberson 2012-1-19
We need to see the code for PB_Carica_Callback
Also, please read
http://matlab.wikia.com/wiki/FAQ#How_can_I_share_data_between_callback_functions_in_my_GUI.3F

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2012-1-19
Why don't you simply set PB_Carica 'enable' to 'off' until the browsing has been done?

更多回答(1 个)

Jethro
Jethro 2012-1-19
I posted my textread code and after it, my PB_Carica_Callback (it' very very long, it operates on my files cleaning wrong cells!!!)
TEXTREAD
% CONTROL ABOUT NUMBER OF COLUMNS
fmt = repmat('%s', 1, 31);
length(fmt);
if length(fmt)~=62
errordlg('ERROR!!',...
'ERROR!!');
else
[anno azienda istituto disciplina_dimissione prog_reparto ...
regime_ricovero provenienza drg degenza dh importo_reg data_dim ...
residenza eta sesso d_principale d_com1 d_com2 d_com3 d_com4...
int_prin int_sec1 int_sec2 int_sec3 int_sec4 mod_accesso...
mod_dimissione tipo_ricovero data_ingresso tipo_prescrittore ...
cod_nos]=textread(filename,'%s %s %s %s %s %s %s %s %d %d %d %s %s %d %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s','delimiter','\t');
-------------------------------------------------------------
PB_CARICA_CALLBACK, DON'T MIND WAITBAR LINES
function PB_Carica_Callback(hObject, eventdata, handles)
filename=get(handles.ET_Percorso, 'String');
global filepath;
if strcmp(filepath, '')==1
errordlg('ERROR!', 'ERROR!!');
elseif strcmp(filepath, '')==0
global istituto;
global prog_reparto;
global degenza;
global istituto_num;
global rep_num;
[...]
global int_sec1;
global int_sec2;
global int_sec3;
global int_sec4;
%wb=waitbar(0, 'Loading... 0%');
[anno azienda istituto disciplina_dimissione prog_reparto ...
regime_ricovero provenienza drg degenza dh importo_reg data_dim ...
residenza eta sesso d_principale d_com1 d_com2 d_com3 d_com4...
int_prin int_sec1 int_sec2 int_sec3 int_sec4 mod_accesso...
mod_dimissione tipo_ricovero data_ingresso tipo_prescrittore ...
cod_nos]=textread(filename,'%s %s %s %s %s %s %s %s %d %d %d %s %s %d %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s','delimiter','\t');
%%%%INIZIO DEPURAZIONE %%%%
%%conversione dell'importo regionale da lire ad euro
importo_euro=(importo_reg/1936.27);
%%Eliminazione dei record vuoti
is_anno=find(strcmp(anno,'')==1);
is_azienda=find(strcmp(azienda,'')==1);
is_istituto=find(strcmp(istituto,'')==1);
is_disciplina=find(strcmp(disciplina_dimissione,'')==1);
is_reparto=find(strcmp(prog_reparto,'')==1);
is_ricovero=find(strcmp(regime_ricovero,'')==1);
is_provenienza=find(strcmp(provenienza,'')==1);
is_drg=find(strcmp(drg,'')==1);
[...]
end
handles.anno_tr=anno;
handles.azienda_tr=azienda;
handles.istituto_tr=istituto;
[...]
handles.ints3_tr=int_sec3;
handles.ints4_tr=int_sec4;
handles.modacc_tr=mod_accesso;
handles.moddim_tr=mod_dimissione;
handles.tric_tr=tipo_ricovero;
handles.ding_tr=data_ingresso;
handles.tpres_tr=tipo_prescrittore;
handles.codnos_tr=cod_nos;
guidata(hObject,handles);
%delete(wb);
%wb=waitbar(0.8, 'Loading... 80%');
% VISIBILITA'
set(handles.ET_Percorso, 'visible', 'off');
set(handles.PB_Sfoglia, 'visible', 'off');
set(handles.PB_Carica, 'visible', 'off');
set(handles.PB_LeggiNuovo, 'visible', 'on');
set(handles.PB_Rit_Ist, 'visible', 'off');
[...]
%set(handles.ET_ICM, 'visible', 'on');
%set(handles.ET_ICP_AN, 'visible', 'on');
%set(handles.ET_ICM_AN, 'visible', 'on');
%set(handles.ET_Classifica_ICP, 'visible', 'on');
% set(handles.ET_Classifica_ICM, 'visible', 'on');
% set(handles.ET_Differenza_ICP, 'visible', 'on');
% set(handles.ET_Differenza_ICM, 'visible', 'on');
% set(handles.PB_Calcola, 'visible', 'on');
set(handles.G1_Grafico, 'visible', 'on');
%set(handles.ST_Panel, 'visible', 'on');
%delete(wb);
%wb=waitbar(1, 'Loading... 100%');
%delete(wb);
global UNI
UNI=unique(istituto);
GUI1('init');
set(handles.PM_Menu, 'Enable', 'on');
THANKS A LOT! - I erased some lines... ;)

类别

Help CenterFile Exchange 中查找有关 Dialog Boxes 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by