2014-03-01 100 views
-2

如何將變量AbrowseBtn_Callback函數傳遞到runBtn_Callback函數?我需要點擊運行按鈕,生成的結果,但下面的實例代碼會自動生成結果,而不按鈕點擊:將變量傳遞給另一個函數

function browseBtn_Callback(hObject, eventdata, handles) 
A = load('new2.txt'); 
runBtn_Callback(hObject, eventdata, handles, A); 


function runBtn_Callback(hObject, eventdata, handles, A) 
B = get(handles.edit1, 'String'); 
compare = strcmp(A,B); 
if(compare == 1) 
    set(handles.result, 'String', 'Correct', 'ForegroundColor', 'green'); 
else 
    set(handles.result, 'String', 'Incorrect', 'ForegroundColor', 'red'); 
end 
+0

您試圖在函數之間傳遞哪個變量?目前還不清楚你想要做什麼。 – nguthrie

+0

我想將browseBtn_Callback中的'A'傳遞給runBtn_Callback – user3368492

回答

1

使用handles參數存儲A爲圖形的屬性。閱讀關於這個選項,和其他人,在這裏:http://www.mathworks.com/help/matlab/ref/guidata.html

你需要做的不是從browseBtn_Callback中直接調用runBtn_Callback的另一件事 - 這就是爲什麼它會立即運行。擺脫那條線,然後該功能將只在您點擊按鈕時執行。

function browseBtn_Callback(hObject, eventdata, handles) 
handles.A = load('new2.txt'); 



function runBtn_Callback(hObject, eventdata, handles) 
B = get(handles.edit1, 'String'); 
compare = strcmp(handles.A,B); 
if(compare == 1) 
    set(handles.result, 'String', 'Correct', 'ForegroundColor', 'green'); 
else 
    set(handles.result, 'String', 'Incorrect', 'ForegroundColor', 'red'); 
end 
相關問題