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

2 vues (au cours des 30 derniers jours)
Lau Jit Sung
Lau Jit Sung le 11 Mai 2020
Commenté : Mehmed Saad le 11 Mai 2020
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 commentaires
Rik
Rik le 11 Mai 2020
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 le 11 Mai 2020
so, how can I make the code to read the file?

Connectez-vous pour commenter.

Réponse acceptée

Mehmed Saad
Mehmed Saad le 11 Mai 2020
Modifié(e) : Mehmed Saad le 11 Mai 2020
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 commentaires
Lau Jit Sung
Lau Jit Sung le 11 Mai 2020
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 le 11 Mai 2020
Use textscan instead of facanf See textscan help You have to provide three inputs 1. File id 2. format spec ('%s') 3. Delimeter

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by