• Регистрация
Andrey-M
Andrey-M +16.10
н/д

Edit поле в GUI

18.05.2019

Скажите, как в шаблоне edit, типа:

function edit1_Callback(hObject, eventdata, handles) 
% Hints: get(hObject,'String') returns contents of edit1 as text 
% str2double(get(hObject,'String')) returns contents of edit1 as a double 

Сделать так, что бы в форме я в форме задавал число и оно присваивалось к какой-то переменной (например 'S') до тех пор пока я в форме, в поле edit не введу другое число. В callback кнопки у меня лежит алгоритм, в котором есть эта переменная, я хочу, что бы при нажатии алгоритм брал это число ('S'). То есть я сначала в edite его пробиваю и потом жму кнопку и она берет для алгоритма переменную S только что вбитую в поле edit.
Как это описать в *.m файле формы?

Теги

      18.05.2019

      Ответы

      • MaximSidorov
        MaximSidorov+118.29
        18.05.2019 17:42

        Быть может Вы хотите это.

        Тут Edit1 Text1 и кнопка.

        % --- Executes just before probabal is made visible. 
        function probabal_OpeningFcn(hObject, eventdata, handles, varargin) 
        handles.output = hObject; 
        
        global s 
        s=55;% начальное значение при старте проги 
        set(handles.edit1,'string',num2str(s)); % видно в едит 
        set(handles.text1,'string',num2str(s)); % видно в техт 
        % Update handles structure 
        guidata(hObject, handles); 
        
        
        function edit1_Callback(hObject, eventdata, handles) 
        global s 
        % изменяем если нажать Enter в edit1 
        s=str2num(get(handles.edit1, 'String')); 
        set(handles.edit1,'string',num2str(s)); 
        set(handles.text1,'string',num2str(s)); 
        
        
        % --- Executes on button press in pushbutton1. 
        function pushbutton1_Callback(hObject, eventdata, handles) 
        % изменяем если нажать на кнопку без нажатия Enter в edit1 
        global s 
        s=str2num(get(handles.edit1, 'String')); 
        set(handles.edit1,'string',num2str(s)); 
        set(handles.text1,'string',num2str(s));