Lunes 23 de Diciembre de 2024, 16:40
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Específica
»
Matlab
»
Validar Datos de entrada
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Validar Datos de entrada (Leído 5066 veces)
NeoKco
Nuevo Miembro
Mensajes: 5
Validar Datos de entrada
«
en:
Martes 23 de Diciembre de 2008, 07:17 »
0
buenas a todos , tengo el siguiente problema en GUI : coloco varias cajas de texto vacias incluso un boton que me captura un directorio y una foto, luego con otro boton capturo todos estos datos, si estan colocados los datos con normalidad me funciona la funcion que llamo cuando presiono el boton de captura, pero si no lleno ningun dato y presiono el boton de captura me envia errores diciendome que los datos a los que hago referencia no existen , especificamente el del path, la pregunta es hay alguna forma de que si al presionar el boton de captura y no hay nada en las cajas me diga que debo llenar los datos , asi como cargar el directorio con la foto?? como se captura el vacio en los handles?? me explico si no he escrito nada en el box text me envia un error de creacion que me dice no existe como lo aborto cuando se presiona el boton con los datos no cargados?
colocare un poco de codigo acerca del boton para que lo chequeen ojala me puedan ayudar gracias de antemano
function procesar_Callback(hObject, eventdata, handles)
set(handles.numero,'String','Preprocesando');
set(handles.ptos_rodilla,'String','Datos');
set(handles.ptos_cadera,'String','Espere...')
guidata(hObject,handles);
pause(0.001);
%if (handles.cant_fps) && (handles.d_altura) && (handles.genero) && (handles.nombre_v)&&(handles.path)
% cantidad de FPS
cantidadDeFotos = handles.cant_fps;
% altura del voluntario
altura = handles.d_altura;
% genero del voluntario
genero = handles.genero;
% nombre del path
path = handles.path;
% nombre del voluntario
nombre_v = handles.nombre_v;
%llamada a la funcion tesisv1 que analiza los FPS,saca los puntos y grados
%necesarios. Devuelve la matriz final con todos los datos(puntos de tobillo, ptos_rodilla, ptos_cadera y las pendientes de ambos femur y perone junto a su distancia)
[matrizEnd,celda1,celda2] = tesisv1(cantidadDeFotos,altura,genero,path,nombre_v);
handles.procesar = 1;
for cont = 1:cantidadDeFotos
axes(handles.image_real);
imshow(celda1{cont});
axes(handles.image_BN);
imshow(celda2{cont});
pause(0.25)
% salida de datos de los puntos
temp = ['---------- Fotograma ',int2str(cont),' ---------- '];
set(handles.numero,'String',temp);
ptosTR = ['Perone encontrado : Centroide_1 X: ',num2str(matrizEnd(cont,2)),',Y: ',num2str(matrizEnd(cont,3)),' & Centroide_2 X:',num2str(matrizEnd(cont,4)),',Y: ',num2str(matrizEnd(cont,5)),',Distancia: ',num2str(matrizEnd(cont,6)),',Pendiente: ',num2str(matrizEnd(cont,7))];
set(handles.ptos_rodilla,'String',ptosTR);
ptosRC = ['Femur encontrado : Centroide_1 X: ',num2str(matrizEnd(cont,8)),',Y: ',num2str(matrizEnd(cont,9)),' & Centroide_2 X:',num2str(matrizEnd(cont,10)),',Y: ',num2str(matrizEnd(cont,11)),',Distancia: ',num2str(matrizEnd(cont,12)),',Pendiente: ',num2str(matrizEnd(cont,13))];
set(handles.ptos_cadera,'String',ptosRC);
guidata(hObject,handles);
end
%else
% beep;
% errordlg('debe rellenar todos los datos ,intente nuevamente...', 'Entrada erronea', 'modal')
% return;
%end
%guidata(hObject,handles);
Tweet
NeoKco
Nuevo Miembro
Mensajes: 5
Re: Validar Datos de entrada
«
Respuesta #1 en:
Miércoles 24 de Diciembre de 2008, 03:30 »
0
bueno buscando y probando cosas llegue a la solucion y he aqui la solucion:
primero cuando se inicializa se debe colocar el callback a -1 (yo lo hice asi),
luego cuando se activa el cuadro de texto lo colocas a 1 y si es 1 lo dejas pasar , eso quiere decir que tiene datos reales dentro de si la variable, lo mismo para el path,
si se presiona el boton que requiere los otros datos simplemente manda un cuadro de error que dice que faltan los datos... bueno eso hice yo si alguien requiere saber mas como lo hice que me comente aqui en este hilo y yo le explico con mas detalle.... suerte
elgato_a3
Nuevo Miembro
Mensajes: 1
Re:Validar Datos de entrada
«
Respuesta #2 en:
Viernes 13 de Septiembre de 2013, 14:57 »
0
Buen dia cordial saludo
Yo utilizaría las etiquetas try catch, asi:
function procesar_Callback(hObject, eventdata, handles)
try
set(handles.numero,'String','Preprocesando');
set(handles.ptos_rodilla,'String','Datos');
set(handles.ptos_cadera,'String','Espere...')
guidata(hObject,handles);
pause(0.001);
%if (handles.cant_fps) && (handles.d_altura) && (handles.genero) && (handles.nombre_v)&&(handles.path)
% cantidad de FPS
cantidadDeFotos = handles.cant_fps;
% altura del voluntario
altura = handles.d_altura;
% genero del voluntario
genero = handles.genero;
% nombre del path
path = handles.path;
% nombre del voluntario
nombre_v = handles.nombre_v;
%llamada a la funcion tesisv1 que analiza los FPS,saca los puntos y grados
%necesarios. Devuelve la matriz final con todos los datos(puntos de tobillo, ptos_rodilla, ptos_cadera y las pendientes de ambos femur y perone junto a su distancia)
[matrizEnd,celda1,celda2] = tesisv1(cantidadDeFotos,altura,genero,path,nombre_v);
handles.procesar = 1;
for cont = 1:cantidadDeFotos
axes(handles.image_real);
imshow(celda1{cont});
axes(handles.image_BN);
imshow(celda2{cont});
pause(0.25)
% salida de datos de los puntos
temp = ['---------- Fotograma ',int2str(cont),' ---------- '];
set(handles.numero,'String',temp);
ptosTR = ['Perone encontrado : Centroide_1 X: ',num2str(matrizEnd(cont,2)),',Y: ',num2str(matrizEnd(cont,3)),' & Centroide_2 X:',num2str(matrizEnd(cont,4)),',Y: ',num2str(matrizEnd(cont,5)),',Distancia: ',num2str(matrizEnd(cont,6)),',Pendiente: ',num2str(matrizEnd(cont,7))];
set(handles.ptos_rodilla,'String',ptosTR);
ptosRC = ['Femur encontrado : Centroide_1 X: ',num2str(matrizEnd(cont,8)),',Y: ',num2str(matrizEnd(cont,9)),' & Centroide_2 X:',num2str(matrizEnd(cont,10)),',Y: ',num2str(matrizEnd(cont,11)),',Distancia: ',num2str(matrizEnd(cont,12)),',Pendiente: ',num2str(matrizEnd(cont,13))];
set(handles.ptos_cadera,'String',ptosRC);
guidata(hObject,handles);
end
%else
% beep;
% errordlg('debe rellenar todos los datos ,intente nuevamente...', 'Entrada erronea', 'modal')
% return;
%end
%guidata(hObject,handles);
catch error
msgbox ('Error en el ingreso de datos')
end
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Específica
»
Matlab
»
Validar Datos de entrada