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

조회 수: 1 (최근 30일)
Lau Jit Sung
Lau Jit Sung 2020년 5월 11일
댓글: Mehmed Saad 2020년 5월 11일
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.
  댓글 수: 2
Rik
Rik 2020년 5월 11일
What makes you think it read the file? You are only storing the paths to a file in the String property of two objects.
What is the input of that function? The file names or the contents of those files?
Lau Jit Sung
Lau Jit Sung 2020년 5월 11일
so, how can I make the code to read the file?

댓글을 달려면 로그인하십시오.

채택된 답변

Mehmed Saad
Mehmed Saad 2020년 5월 11일
편집: Mehmed Saad 2020년 5월 11일
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
  댓글 수: 3
Lau Jit Sung
Lau Jit Sung 2020년 5월 11일
Hi sir, sorry to bother again what if I wanna include the blank spaces
formatSpec = '%s'; %Read all characters excluding white spaces
is there anything I should do? Thank you
Mehmed Saad
Mehmed Saad 2020년 5월 11일
Use textscan instead of facanf See textscan help You have to provide three inputs 1. File id 2. format spec ('%s') 3. Delimeter

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Text Data Preparation에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by