Matlab - Ayudaaa Matlab

 
Vista:

Ayudaaa Matlab

Publicado por Jordy Revelo (1 intervención) el 07/07/2021 20:41:01
Buenas tardes, dias o noche,
Al tener 3 edit--- edit1, edit2,edit3, realice el codigo para cuando lleno 2 de ellos el 3ero se desactive y al vaciar 1 de los dos primeros que llene se vuelva a reactivar, todo eso me funciona pero siempre tengo que reiniciar el programa ya que por ejemplo, ingreso valor en edit1 y en edit2 y se me bloquea edit3 bien funciona, luego borro ya sea edit1 o edit 2 uno de los dos, para este ejemplo digamos que vacio edit2 y bien me desbloquea edit3 pero al querer usar el edit3 y ya teniendo el edit2 con valores deberia bloquearse edit1 pero me salta error, creo que seria de limpiar los edits cada vez que los vacia para asi el programa me permita bloquear otro ayudaaa


este es el codigo de los edits



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double
global constante_de_la_catenaria;
NewStrVal=get(hObject,'String'); %almacena valor ingresado
NewVal=str2double(NewStrVal);
handles.edit1=NewVal; %almacenar en identificador.
constante_de_la_catenaria=handles.edit1;
la_tension_en_el_vertice_del_conductor=handles.edit2;
peso_del_conductor=handles.edit3;
guidata(hObject, handles);
if (peso_del_conductor>0)&&(constante_de_la_catenaria>0)
    set(handles.edit2,'enable','inactive')
elseif (la_tension_en_el_vertice_del_conductor>0)&&(constante_de_la_catenaria>0)
    set(handles.edit3,'enable','inactive')
elseif strcmp('',constante_de_la_catenaria) ||(la_tension_en_el_vertice_del_conductor>0)
     set(handles.edit3,'enable','on')
elseif strcmp('',constante_de_la_catenaria)|| (peso_del_conductor>0)
     set(handles.edit2,'enable','on')
end
 
 
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
 
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 
 
 
function edit2_Callback(hObject, eventdata, handles)
% hObject    handle to edit2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global la_tension_en_el_vertice_del_conductor;
NewStrVal=get(hObject,'String'); %almacena valor ingresado
NewVal=str2double(NewStrVal);
handles.edit2=NewVal; %almacenar en identificador.
constante_de_la_catenaria=handles.edit1;
la_tension_en_el_vertice_del_conductor=handles.edit2;
peso_del_conductor=handles.edit3;
guidata(hObject, handles);
if (peso_del_conductor>0)&&(la_tension_en_el_vertice_del_conductor>0)
    set(handles.edit1,'enable','inactive')
elseif (constante_de_la_catenaria>0)&&(la_tension_en_el_vertice_del_conductor>0)
    set(handles.edit3,'enable','inactive')
elseif strcmp('',la_tension_en_el_vertice_del_conductor) ||(constante_de_la_catenaria>0)
     set(handles.edit3,'enable','on')
 
elseif strcmp('',la_tension_en_el_vertice_del_conductor)|| (peso_del_conductor>0)
     set(handles.edit1,'enable','on')
 
end
 
 
 
 
 
% Hints: get(hObject,'String') returns contents of edit2 as text
%        str2double(get(hObject,'String')) returns contents of edit2 as a double
 
 
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
 
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 
 
 
 
function edit3_Callback(hObject, eventdata, handles)
% hObject    handle to edit3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 
% Hints: get(hObject,'String') returns contents of edit3 as text
%        str2double(get(hObject,'String')) returns contents of edit3 as a double
 
global peso_del_conductor;
NewStrVal=get(hObject,'String'); %almacena valor ingresado
NewVal=str2double(NewStrVal);
handles.edit3=NewVal; %almacenar en identificador.
constante_de_la_catenaria=handles.edit1;
la_tension_en_el_vertice_del_conductor=handles.edit2;
peso_del_conductor=handles.edit3;
guidata(hObject, handles);
if (la_tension_en_el_vertice_del_conductor>0)&&(peso_del_conductor>0)
    set(handles.edit1,'enable','inactive')
elseif (constante_de_la_catenaria>0)&&(peso_del_conductor>0)
    set(handles.edit2,'enable','inactive')
elseif strcmp('',peso_del_conductor) ||(constante_de_la_catenaria>0)
     set(handles.edit2,'enable','on')
 
elseif strcmp('',peso_del_conductor)|| (la_tension_en_el_vertice_del_conductor>0)
     set(handles.edit1,'enable','on')
 
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder