2012-09-08 77 views
0

我有一個問題。我正在使用Matlab。我使用uigetfile,並且在用戶選擇文本文件後,我想在消息框(並且沒有路徑名)中顯示文件名。我怎樣才能做到這一點?這是我的代碼的例子。使用uigetfile後顯示文件名

[HMF,HMP,HML] = uigetfile(('*.txt', 'Please select your data'); 

if HML>0; 

msgbox([You selected 'bla3']) <- I know this isn't correct) 

else 

return; 

回答

0

您將文件名作爲第一個輸出參數uigetfile。因此,您所需要做的就是:

[HMF,HMP,HML] = uigetfile(('*.txt', 'Please select your data'); 

if HML>0; 

msgbox(sprintf('You selected %s',HMF)) 

else 

return; 

end 
+0

感謝@Jonas您的快速響應。有效! :) 一個更快的問題。是否有可能將文件名作爲變量或其他東西存儲,以便我可以在另一個函數中使用它?例如,我使用帶有2個按鈕的GUI。第一個按鈕是我上面問的問題和第二個按鈕,我想用結果表顯示一個數字窗口,並提及文件名。 謝謝。 –

+0

@AbdusSolehinShaari:在GUI中,可以編寫'handles.fileName = HMF; guidata(hObject,把手);'。然後你可以在另一個回調中獲取文件名作爲'handles.fileName'。 – Jonas

+0

再次感謝@ Jonas.but但我仍然無法在桌面上顯示文件名。我在圖中有一個圖形和一個表格,請在下面查看我的代碼。謝謝。 ' f = figure; dat = [handles.filename; AveModulus; StdDev; threshold; N]; rnames = {'Filename','Average Modulus(Pa)','Standard deviation(Pa)','Threshold','粒子的像素數量'}; t = uitable('Parent',f,'Data',dat,'ColumnName',[],... 'RowName',rnames''Position',[100 200 360 120]); ' –