[問題] 完整的GUI inputdlg 程式
嗯~
單純只用inputdlg就可以呼叫一個輸入文字的對話視窗
不過要怎麼用判斷式讓整個對話視窗完整沒有錯誤呢?
如果是我自己用的話好像不用管他 因為不會輸入錯東西
但是如果要把程式寫完整 不管做什麼事情程式都運作正常的話想好久不知道該怎麼寫@@
單只有一行
a = inputdlg('input a number','msg')
的話
會有以下情況
都不輸入只按enter會收到a={''}
按cancel 會收到a={}
輸入數字像是5 會收到a={'5'}
文字就是像是a 會收到a={'a'}
如果我要指定只能輸入整數(不可以空白英文中文符號之類)
要怎麼用if來包裝才不會在command window裡看到紅字呢@@?
我的部份程式是這樣
if (size(a) == [0, 0]) % 按 cancel
msgbox('Cancel', 'Messenge', 'warn');
elseif (a{1,1} == '') % 按 OK 但什麼都沒輸入
msgbox('Enter a number.', 'Messenge', 'warn');
elseif (isnumeric(a{1,1})==0) 有輸入但是不是數字
msgbox('Enter a number, not text.', 'Messenge', 'warn');
else 輸入正確要做的事情
(略)
end
看起來好像沒問題不過兩個elseif邏輯上有重疊的地方
似乎是可以只用第二個elseif帶過
不過如果我在文字框輸入超過一個字母的文字 像是 XD 就會有紅字錯誤
說是矩陣大小不一樣@@"
而且錯誤是在a{1,1} == ''這個判斷裡 可是他明明就應該是在第三個判斷的啊@@"
有點奇怪..
如果這四個狀況都要保留的話應該要怎麼做呢?
謝謝@@"
--
│ █ █ │ █ █ █ │ █ █ │ █ █ █ │ █ █ │ █ █ █ │ █ █ │
│ █ █ │ █ █ █ │ █ █ │ █ █ █ │ █ █ │ █ █ █ │ █ █ │
│ █ █ │ █ █ █ │ █ █ │ █ █ █ │ █ █ │ █ █ █ │ █ █ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.156.43
※ 編輯: jack750822 來自: 140.113.156.43 (07/31 17:42)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):