首頁 > 其他

MATLAB:[6]視覺化編寫數制轉換GUI程式

2019-12-25 03:04:11

建立如圖所示的「數制轉換」介面。實現在左邊輸入一個十進位制整數和2~16之間的數,比如「2」代表要轉換為二進位制數。單擊「轉換」按鈕可以得到對應的二~十六進位制字串,單擊「退出」按鈕退出程式


1

用嚮導新建一個GUI程式後,拖出2個panel控制元件,雙擊控制元件修改title,分別設為」輸入框「和輸出框。


2

拖出2個Static Text和2個Edit Text控制元件放到「輸入框」中,雙擊修改屬性,String值分別設為所要顯示的文字。


3

拖出1個Edit Text控制元件放到「輸出框」中,雙擊修改屬性,修改String屬性為空或者哦「0」。


4

拖出一個按鈕,雙擊修改屬性,String屬性改為「轉換」。再拖出另一個按鈕,String屬性修改為「退出」。


5

在.m檔案中手動新增一個函數,實現十進位制轉換為其它進位制的邏輯關係。程式碼如下:

% --- 完成轉換邏輯 得到轉換後的字串

function dec = trdec(n, b)ch1 = '0123456789ABCDEF';

k =1;while n~=0    p(k) = rem(n,b);    n= fix(n/b);  

k = k+1;endk = k-1;strdec = '';while k>=1    kb = p(k);  

strdec = strcat(strdec,ch1(kb+1:kb+1));   

 k = k-1;enddec = strdec;


6

在「轉換」上右鍵,點選選單View Callbacks→Callback,跳轉到按鈕的回撥函數,新增下面的處理程式碼(函數名是自動生成的):

% --- 轉換按鈕回撥函數

function pushbutton1_Callback(hObject, eventdata, handles)n = str2double(get(handles.edit1,'String'));

%得到編輯框1十進位制輸入值

b = str2double(get(handles.edit2,'String'));

%得到編輯框2輸入進位制值

dec = trdec(n,b);%呼叫轉換函數set(handles.edit3,'String',dec);

%轉換後的值顯示到編輯框3


7

在「退出」上右鍵,點選選單View Callbacks→Callback,跳轉到按鈕的回撥函數,新增一句程式碼:

close();



IT145.com E-mail:sddin#qq.com