請幫我:Matlab的對話框
我希望用戶輸入包含數字和/或字母文件名(不含空格)。
所以我有兩個問題:
1)我試了下代碼,但該對話框打開,打開,打開....因爲我不知道如何編輯的「答案」輸入而無需再次調用'inputdlg'。
2)檢查文件名的有效性:我使用了'isempty'和'strfind'函數,但我知道有一個更簡單的選項來執行此操作。在我的代碼,我要檢查在其他情況下,每個字母:
while isempty(strfind(answer,'=')) == 0 || isempty(strfind(answer,'*')) == 0 || ...
可能與「正則表達式」功能,但我不知道如何做到這一點:/
所以我的代碼是:
prompt={'Enter the File name:'};
name='Input for file name';
numlines=1;
answer=inputdlg(prompt,name,numlines);
while isempty(strfind(answer,'=')) == 0
answer=inputdlg(prompt,name,numlines);
end
只是一個通知 - 輸入文件名有'uigetfile'和' uiputfile'。你知道在你的測試中你正在尋找字符串中的'='和'*'符號(這使它成爲一個無效的文件名)。 – bdecaf
@bdecaf,謝謝,但我不希望用戶從他的目錄中選擇一個文件,只是爲了輸入文件的名稱,我將創建文件(xlsx),併爲其輸入名稱(並插入數據到文件)。例如: :用戶插入:myfile 所以我將創建一個文件:myfile.xlsx。 我的意思是我只想要一個名字,我知道的所有其他事情都要做。 –
@AlonShmiel:這正是'uiputfile'函數的用途。 – Amro