GUI control, fwrite, and file control
Show older comments
Hi folks,
Pardon my naivete, but I'm having trouble with a GUI. I want to adjust a slider bar, and then fwrite the new value of the slider bar to a file. First, what works.
I can get a file identifier in a function, and pass that identifier to another function to do the actual writing, and then return control to the first file.
function[] = filecreate()
a=fopen('b.txt','at');
filewrite(a);
fclose(a);
end
function[] = filewrite(b)
fwrite(b, 'HI');
end
So, as proof of concept, I should be able to pass the file identifier between functions. Now, onto the sliderbar GUI. I can write to a file if I open, write to, and close a file all within the slider bar callback function.
However, if I open a file outside of the callback and pass the file identifier to the callback, then I can't seem to write to the file.
I get the following error:
??? Error using ==> fwrite -Invalid file identifier. Use fopen to generate a valid file identifier. Error in ==> practice_slider>ed_call at 32 -fwrite(Speed_temp.file, 'H'); ??? Error while evaluating uicontrol Callback
Here is the function calling the GUI
function[] = slidingbarcontrol()
fid=fopen('a.txt','at');
practice_slider(fid);
fclose(fid);
And, here is the GUI.
function[] = practice_slider(file_id)
Speed.file=file_id;
fwrite(Speed.file,'Hello'); * %This successfully writes to the file*
Speed.last=uint8(0);
Speed.fh = figure('units','pixels',...
'position',[300 300 300 100],...
'menubar','none',...
'name','Speed',...
'numbertitle','off',...
'resize','off');
Speed.sl = uicontrol('style','slide',...
'unit','pix',...
'position',[20 10 260 30],...
'min',0,'max',100,'val',0);
Speed.ed = uicontrol('style','text',...
'unit','pix',...
'position',[20 50 260 30],...
'fontsize',16,...
'string','0');
set([Speed.ed,Speed.sl],'call',{@ed_call,Speed});
function [] = ed_call(varargin) %slider callback
[h,Speed_temp] = varargin{[1,3]};
fwrite(Speed_temp.file, 'H'); *%This fwrite causes error.*
switch h
Does anyone have any thoughts??? Thanks much. Tom
Accepted Answer
More Answers (1)
T Fab
on 19 Apr 2012
Categories
Find more on App Building in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!