bigenterprise
2008-10-02, 11:28
我的一个GUI程序
[filename,pathname]=uigetfile('*.txt','Select the file');
file=fullfile(pathname,filename);
fid = fopen(file,'r');
if fid==-1
msgbox ('Please open a file');
else
handles.fid=fid;
datainformation=fgets(fid,100);
name=fgets(fid,1000);
time=fgets(fid,100);
time1=time(13:22);
set(handles.text_time,'String',time1);
fscanf(fid,'%c',19);
channelnumtemp=fscanf(fid,'%d',1);
handles.channelnum=channelnumtemp;
strChannelnum=num2str(handles.channelnum,2);
set(handles.text_channelnum,'String',strChannelnum);
fscanf(fid,'%c',14);
samples=fscanf(fid,'%d',1);
handles.samples=samples;
set(handles.text_samples,'String',samples);
set(handles.edit_firstnum,'String','1');
for i=1:7
fgets(fid,50);
end
fgets(fid,14);
starttime=fscanf(fid,'%f',1);
fgets(fid,9);
fscanf(fid,'%c',15);
endtime=fscanf(fid,'%f',1);
caijitime=endtime-starttime;
handles.caijitime=caijitime;
displaytimes=round((caijitime+4)/10);
handles.displaytimes=displaytimes;
dataline=caijitime*samples;
str_dataline=num2str(dataline);
set(handles.edit_lastnum,'String','80000');
datarow=channelnum+1;
handles.datarow=datarow;
for j=0:3
fgets(fid,50);
end
fgets(fid,150);
interval=1/samples;
handles.interval=interval;
str_caijitime=num2str(caijitime);
set(handles.text_zongshijian,'String',str_caijitime);
set(handles.pushbuttonnexttimes,'Enable','on');
address=zeros(10,1);
address(1)=ftell(fid);
handles.address=address;
guidata(hObject,handles);
end
程序执行到红色的那行时,就出现变量丢失的情况,直接提示说handles.channelnum不存在,将handles.channelnum换成channelnumtemp,也出现同样的情况,我实在不知道是什么原因,大家给看看
[filename,pathname]=uigetfile('*.txt','Select the file');
file=fullfile(pathname,filename);
fid = fopen(file,'r');
if fid==-1
msgbox ('Please open a file');
else
handles.fid=fid;
datainformation=fgets(fid,100);
name=fgets(fid,1000);
time=fgets(fid,100);
time1=time(13:22);
set(handles.text_time,'String',time1);
fscanf(fid,'%c',19);
channelnumtemp=fscanf(fid,'%d',1);
handles.channelnum=channelnumtemp;
strChannelnum=num2str(handles.channelnum,2);
set(handles.text_channelnum,'String',strChannelnum);
fscanf(fid,'%c',14);
samples=fscanf(fid,'%d',1);
handles.samples=samples;
set(handles.text_samples,'String',samples);
set(handles.edit_firstnum,'String','1');
for i=1:7
fgets(fid,50);
end
fgets(fid,14);
starttime=fscanf(fid,'%f',1);
fgets(fid,9);
fscanf(fid,'%c',15);
endtime=fscanf(fid,'%f',1);
caijitime=endtime-starttime;
handles.caijitime=caijitime;
displaytimes=round((caijitime+4)/10);
handles.displaytimes=displaytimes;
dataline=caijitime*samples;
str_dataline=num2str(dataline);
set(handles.edit_lastnum,'String','80000');
datarow=channelnum+1;
handles.datarow=datarow;
for j=0:3
fgets(fid,50);
end
fgets(fid,150);
interval=1/samples;
handles.interval=interval;
str_caijitime=num2str(caijitime);
set(handles.text_zongshijian,'String',str_caijitime);
set(handles.pushbuttonnexttimes,'Enable','on');
address=zeros(10,1);
address(1)=ftell(fid);
handles.address=address;
guidata(hObject,handles);
end
程序执行到红色的那行时,就出现变量丢失的情况,直接提示说handles.channelnum不存在,将handles.channelnum换成channelnumtemp,也出现同样的情况,我实在不知道是什么原因,大家给看看