MATLAB: How to import text file in GUI and link it with another .m program

guitextfile

I just wrote a program on importing text file in GUI, and I am not sure whether it really reads the file
% --- Executes on button press in datum1.
function datum1_Callback(hObject, eventdata, handles)
% hObject handle to datum1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

[filename1 pathname1]=uigetfile({'*.txt'},'File Selector');
datum1=strcat(pathname1, filename1);
set(handles.datum1txt,'String',datum1)
% --- Executes on button press in datum2.
function datum2_Callback(hObject, eventdata, handles)
% hObject handle to datum2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename2 pathname2]=uigetfile({'*.txt'},'File Selector');
datum2=strcat(pathname2, filename2);
set(handles.datum2txt,'String',datum2)
After that, I want to link this program to a file called geodesycode.m with a push of a button.

Best Answer

  • you have the filename and pathname, build full file name from parts
    full_filename1 = fullfile(pathname1,filename1);
    Use fopen to open or obtain information about file
    fileID = fopen(full_filename1);
    select formatspec (currently i am setting it to string)
    formatSpec = '%s'; %Read all characters excluding white spaces
    Now scan file with your defined formatspec using fscanf
    A = fscanf(fileID,formatSpec);
    Now add this to you gui handle
    set(handles.datum1txt,'String',A)
    and donot forget to close the file at the end
    fclose(fileID)
    Edit: You can also use textscan instead of fscanf