Home
apéndice c. comparación entre el lenguaje del sistema monolínea y
Contents
1. 5 gosub FALLO_SISTEMA break fin_funcion_ interna P g 27 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea REPRODUCIR_MENSAJE REPRODUCIR_MENSAJE funcion_interna Leer_Campos fichero ODBC_LEER_CAMPOS s_fichero case 0 funcion_interna RESULTADO_ ANTERIOR pitar switch case 0 reproducir fichero pitar goto REPRODUCIR_MENSAJE hay que cambiar el directorio de reproduccion case 1 s_dir_anterior s DIR_ESPECIF sintetizar No hay m s mensajes s_DIR_ESPECIF AgrabacioW break reproducir s_fichero case 1 case 2 goto REPRODUCIR_MENSAJE case 5 case 1 gosub FALLO_SISTEMA sintetizar No hay m s mensajes break break fin_funcion_ interna case 1 case 2 case 5 gosub FALLO_SISTEMA break ETIQUETAR_MENSAJE fin_funcion_ interna funcion_interna Montar_Query 3 update mensaje set W escuchado S where escuchado N and W codigoW CODIGO query dejamos el directorio de reproducci n como estaba fin_funcion_ interna s_DIR_ESPECIF s_dir_anterior ETIQUETAR_MENSAJE funcion_interna Buscar_Elemento buzon access query s_trozol update mensaje set Wescuchadol S where escuchado N case 1 and codigo case 0 STRCAT s_trozol s_codigo s_query break case 2 ODBC_BUSCAR buzon access s_query case 3 funcion_interna RESULTADO_ANTERIOR gosub FALLO_SIST
2. Ap ndice C Subrutina ELIMINAR funcion_interna Eliminar_De_Disco fichero case break case 1 gosub FALLO_SISTEMA break fin funcion interna funcion_interna Montar_Query 3 delete from mensaje where fichero fichero query case 1 gosub FALLO_SISTEMA break fin_funcion_ interna funcion_interna Buscar_Elemento buzon access query case 1 case 0 break case 2 case 5 gosub FALLO_SISTEMA fin_funcion_ interna sintetizar Mensaje borrado Fin_Subrutina Subrutina BORRAR elegir_opcion opciones_activas SN sintetizar Desea borrar el mensaje case SI gosub ELIMINAR break case NO break fin_elegir_opcion Fin_Subrutina Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea SUBRUTINA ELIMINAR DELETE s _fichero STRCAT delete from mensaje where fichero s_fichero s_query ODBC_BUSCAR buzon access s_query funcion_interna RESULTADO_ANTERIOR switch case 1 case 0 break case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna sintetizar Mensaje borrado retornar FIN_SUBRUTINA SUBRUTINA BORRAR elegir_opcion opciones_activas SN sintetizar Desea borrar el mensaje switch case SI gosub eliminar break case NO break fin_elegir_opcion retornar FIN_SUBRUTINA P g 13 Ap ndice C Comparaci n entre el lenguaje del sistema monol n
3. gosub FALLO_SISTEMA break fin_funcion_ interna ODBC_LEER_CAMPOS s_codigol funcion_interna RESULTADO_ANTERIOR switch case 1 goto NO_HAY_CODIGO 1 case 0 goto DA_ MENSAJES case 1 case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna P g 22 Ap ndice C NO_HAY_ CODIGO 1 sintetizar Su c digo es CODIGO elegir_opcion opciones_activas SN sintetizar Es correcto case no goto PEDIR_VERIFICACION_CODIGO 1 case si goto NO_HAY_CLAVE fin_elegir_opcion PEDIR_VERIFICACION_CODIGOI1 funcion_interna SegundaVez 0 dni_es mst 1 CODIGO case 0 goto OPCION1_RECIBIR case 1 goto OPCION2_RECIBIR fin_funcion_interna OPCION1_RECIBIR elegir_opcion opciones_activas SCA sintetizar Usted puede cambiar alg n d gito diciendo s introducir de nuevo el c digo diciendo cancelar o pedir ayuda diciendo ayuda case cancelar gosub PEDIR_CODIGO goto NO_HAY_CODIGO1 break case ayuda gosub AYUDA_ VERIFICACION goto PEDIR_VERIFICACION_CODIGO break case si goto VERIFICAR_CODIGO1 fin_elegir_opcion Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea NO_HAY_CODIGON1 SPRINTEF s_sinte Su codigo es s s_codigo sintetizar s_sinte elegir_opcion opciones_activas SN sintetizar Es correcto switch case no goto PEDIR_VERIFICACION_CODIGO 1 case
4. 8 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea C 3 6 COMPARACI N ENTRE BUZON LDD Y BUZON PRO BUZON LDD BUZON PRO SECCION_ERRORES SECCION_ERRORES Tratamiento no_reconocido TRATAMIENTO NO_RECONOCIDO sintetizar Esta opci n no est activa en este momento sintetizar Esta opci n no est activa en este momento Vuelva a reintentar intentarlo Fin Tratamiento reintentar FIN_TRATAMIENTO Tratamiento longitud_corta reproducir corto mst TRATAMIENTO LONGITUD_CORTA reintentar reproducir corto Fin_Tratamiento reintentar FIN_TRATAMIENTO Tratamiento colgado colgar TRATAMIENTO COLGADO reiniciar colgar Fin_Tratamiento goto ESPERAR FIN_TRATAMIENTO Tratamiento fin_intentos sintetizar Se le han acabado las posibilidades Hasta la pr xima TRATAMIENTO FIN_INTENTOS vez sintetizar Se le han acabado las posibilidades Hasta la pr xima vez colgar reiniciar goto ESPERAR Fin_Tratamiento FIN_TRATAMIENTO P g 9 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea Tratamiento timeout TRATAMIENTO TIMEOUT reintentar Ub Fin_Tratamiento si se reconoce una palabra instrucci n elegir_opcion se reproduce nada si se reconoce una cadena instrucci n reconocer_cadena se reproduce rep_dig iS s_reco_estado s_estado_reco las variables internas no pueden part
5. En la secci n subrutinas se debe incluir SECCION_SUBRUTINAS ttinclude verifcad el fichero verifcad pro debe existir Y si queremos verificar la cadena s_codigo y suponemos que la cadena con los segundos candidatos se llama s_codigo_segundo haremos s_cadena s_codigo s_segundo s_codigo_segundo gosub VerifCadena s_codigo s_cadena s_codigo_segundo s_segundo Es necesario recoger la cadena con los segundos candidatos pues en la subrutina VerifCadena se puede llegar a solicitar al usuario que repita un d gito momento en el que se generar un nuevo segundo candidato que lo necesitaremos si hemos de hacer otra verificaci n posterior sobre la misma cadena Si el tipo de reconocimiento es DTMF s_tipo_reco DTMF no se utilizan los segundos candidatos P g 7 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea C 3 5 OTRAS CONSIDERACIONES e En el ejemplo no se muestra pero para redirigir llamadas entre centralitas tanto ALCATEL como IBERCOM se ha desarrollado otra subrutina de alto nivel llamada Redirigir Para utilizarla hay que colocar en la variable s_central el tipo de central y en la variable s_numero el n mero al cual queremos redirigir la llamada Por ejemplo para redirigir la llamada que estamos atendiendo al n mero 6824 de Ibercom basta hacer s_central IBERCOM s_numero 6824 gosub Redirigir P g
6. nn funcion_interna Buscar_Elemento buzon access query case 1 sintetizar Lo sentimos pero el c digo o la clave no son v lidos goto DESPEDIDA case 0 break case 2 case 5 gosub FALLO_SISTEMA Break fin_funcion_ interna Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea VERIFICAR_CLAVE reproducir verifi s_cadena s_clave s_segundo s_clave_segundo gosub VerifCadena s_clave s_cadena s_clave_segundo s_segundo goto SEGUNDA_COMPROBACION COM_CLAVE SPRINTE s_sinte Su clave es s s_clave sintetizar s_sinte elegir_opcion opciones_activas SN sintetizar Es correcta switch case no goto PEDIR_VERIFICACION_CLAVE case si goto SEGUNDA_COMPROBACION fin_elegir_opcion SEGUNDA_COMPROBACION reproducir espere s_trozo1 select codigo from usuarios where W codigoW STRCAT s_trozol s_codigo and clave s_clave s_query ODBC_BUSCAR buzon access s_query funcion_interna RESULTADO_ANTERIOR switch case 1 sintetizar Lo sentimos pero el c digo o la clave no son v lidos goto DESPEDIDA case 0 break case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea funcion_interna Leer_Campos CODIGO1 case 1 sintetizar Lo sentimos per
7. g 11 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea Subrutina ALMACENAR pitar grabar mensaje5 mst con_duracion 5 pitar funcion_interna Almacenar_En_Disco mensajeS mst CODIGO fichero case 1 gosub FALLO_SISTEMA break fin_funcion_ interna funcion_interna Montar_Query 5 insert into mensaje codigo fichero escuchado values CODIGO fichero N query case 1 gosub FALLO_SISTEMA break fin_funcion_interna funcion_interna Buscar_Elemento buzon access query case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_interna Fin_Subrutina SUBRUTINA ALMACENAR s_anterior s _DIR_GRABACION SPRINTE s_dir s s s_anterior s_codigo MKDIR s_dir MKTEMP s_dir s_fichero0 STRCAT s_dir W s_dir s DIR_GRABACION s_dir pitar GRABAR_FICHERO s fichero0 5 duracion pitar s_DIR_GRABACION s_anterior en la base de datos hay que guardar WirectorioMfichero SPRINTEF s_fichero00 WoesW s s_codigo s_fichero0 s_trozo1 insert into mensaje Y codigo fichero escuchado values STRCAT s_trozol s_codigo s_fichero00 N 5s_query ODBC_BUSCAR buzon access s_query funcion_ interna RESULTADO_ANTERIOR switch case 2 case 5 gosub FALLO_SISTEMA break fin funcion interna retornar FIN_SUBRUTINA P g 12
8. operaci n m s switch case si goto MENU_PRINCIPAL case no goto DESPEDIDA fin_elegir_opcion DESPEDIDA sintetizar Gracias por haber utilizado nuestro servicio autom tico Hasta la pr xima vez colgar ODBC_CIERRA_BD buzon access FIN Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea P g 32 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea AP NDICE C COMPARACI N ENTRE EL LENGUAJE DEL SISTEMA MONOLINEA Y EL LENGUAJE DEL SISTEMA MULTILINEA C 1 INTRODUCCI N C 2 DESCRIPCI N DEL SERVICIO DE BUZ N TELEF NICO C 2 1 INTRODUCCI N C 2 2 FUNCIONAMIENTO C 3 DIFERENCIAS ENTRE AMBOS LENGUAJES C 3 1 ASPECTOS GENERALES C 3 2 SECCI N ERRORES C 3 3 SECCI N SUBRUTINAS C 3 4 SECCI N APLICACI N C 3 5 OTRAS CONSIDERACIONES COMPARACI N ENTRE BUZON LDD Y BUZON PRO No Du NANN mob 33 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea 34
9. Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea AP NDICE C COMPARACI N ENTRE EL LENGUAJE DEL SISTEMA MONOL NEA Y EL LENGUAJE DEL SISTEMA MULTIL NEA C 1 INTRODUCCI N El objetivo de este ap ndice es comentar las diferencias m s significativas entre el lenguaje de que estaba dotado el anterior sistema monol nea y el lenguaje que se utiliza en el nuevo sistema multil nea con el fin de facilitar la adaptaci n de las aplicaciones ya desarrolladas al nuevo sistema multil nea Para ello veremos un ejemplo de una aplicaci n completa que cubre casi todas las diferencias Al final comentaremos otros aspectos que no quedan cubiertos con el ejemplo P g 1 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea C 2 DESCRIPCI N DEL SERVICIO DE BUZ N TELEF NICO C 2 1 INTRODUCCI N Este servicio permitir a cualquier persona que ste dada de alta en l recibir mensajes de un buz n telef nico privado y depositar mensajes a otros usuarios del servicio Las personas que no est n dadas de alta podr n depositar mensajes en el buz n con destino a usuarios registrados del mismo Si se desea depositar un mensaje en el buz n bastar con indicar el c digo del destinatario Si se quiere recibir los mensajes habr que indicar el c digo personal y una CLAVE secreta de acceso El servicio proporcionar todos los mensaj
10. EMA switch break case 1 fin_funcion_ interna case 0 break goto MENU2 case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna goto MENU2 Ap ndice C MENU2 elegir_opcion opciones_activas 123 sintetizar Diga 1 para revisar los mensajes del buz n 2 para cambiar su clave y 3 para salir case uno goto REVISAR_MENSAJES case dos goto CAMBIAR_CLAVE case tres goto DESPEDIDA fin_elegir_opcion REVISAR_MENSAJES sintetizar A continuaci n se presentan todos los mensajes almacenados en su buz n funcion_interna Montar_Query 3 select fichero from mensaje where codigo CODIGO query case 1 gosub FALLO_SISTEMA break fin_funcion_ interna funcion_interna Buscar_Elemento buzon access query case l sintetizar No tiene ning n mensaje goto MAS_OPERACIONES case 0 break case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea MENU2 elegir_opcion opciones_activas 123 sintetizar Diga 1 para revisar los mensajes del buz n 2 para cambiar su clave y 3 para salir switch case 1 goto REVISAR_MENSAJES case 2 goto CAMBIAR_CLAVE case 3 goto DESPEDIDA fin_elegir_opcion REVISAR_MENSAJES sintetizar A continuaci n se presentan todos los mensajes almacenados en su buz n s_trozol select fic
11. ODIGO SPRINTF s_sinte Su c digo es s s_codigo sintetizar s_sinte elegir_opcion opciones_activas SN sintetizar Diga s si el c digo es correcto y no en caso contrario switch case no goto PEDIR_VERIFICACION_CODIGO case si sintetizar El c digo especificado no es v lido goto MENU_PRINCIPAL fin_elegir_opcion PEDIR_VERIFICACION_CODIGO 1f n_segunda_vez 0 n_segunda_vez elegir_opcion opciones_activas SCA sintetizar Usted puede cambiar algun d gito diciendo si introducir de nuevo el c digo diciendo cancelar o pedir ayuda diciendo ayuda switch case cancelar gosub PEDIR_CODIGO goto CHEQUEAR case ayuda gosub AYUDA_ VERIFICACION goto PEDIR_VERIFICACION_CODIGO case sl goto VERIFICAR_DNI_MEN fin_elegir_opcion P g 18 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea OPCION 2 elegir_opcion opciones_activas SC reproducir vernis2 mst case cancelar gosub PEDIR_CODIGO goto CHEQUEAR case si goto VERIFICAR_DNI_MEN 2 fin_elegir_opcion VERIFICAR_DNI_MEN2 sintetizar Vamos a comprobar que su c digo es correcto reproducir verifi mst funcion_interna Verificar_Cadena CODIGO CODIGO case case 1 break case 1 case 2 case 3 gosub FALLO_SISTEMA break fin funcion interna if n_segunda_vez 1 inncesario pero mas le
12. RIFICAR_CLAVE fin_elegir_opcion PEDIR_VERIFICACION_CLAVE 1f n_segunda_vez 0 n_segunda_vez elegir_opcion opciones_activas SCA sintetizar Usted puede cambiar algun d gito diciendo si introducir de nuevo el c digo diciendo cancelar o pedir ayuda diciendo ayuda switch case cancelar gosub PEDIR_CLAVE goto COM_CLAVE case ayuda gosub AYUDA_ VERIFICACION goto PEDIR_VERIFICACION_CLAVE case si goto VERIFICAR_CLAVE fin_elegir_opcion endif if n_segunda_vez 1 inncesario pero mas legible elegir_opcion opciones_activas SC reproducir verpas2 switch case cancelar gosub PEDIR_CLAVE goto COM_CLAVE case si goto VERIFICAR_CLAVE fin_elegir_opcion P g 25 Ap ndice C VERIFICAR_CLAVE reproducir verifi mst funcion_interna Verificar_Cadena CLAVE CLAVE case 0 case 1 break case 1 case 2 case 3 gosub FALLO_SISTEMA break fin_funcion_interna goto SEGUNDA_COMPROBACION COM_CLAVE sintetizar Su clave es CLAVE elegir_opcion opciones_activas SN sintetizar Es correcta case no goto PEDIR_VERIFICACION_CLAVE case si goto SEGUNDA_COMPROBACIION fin_elegir_opcion SEGUNDA_COMPROBACION reproducir espere mst funcion_interna Montar_Query S select WcodigoW from usuarios where codigo CODIGO and clave CLAVE query case 1 gosub FALLO_SISTEMA break fin_funcion_ interna
13. a CLAVE sintetizar Introduzca su clave sintetizar Introduzca su clave fin_reconocer_cadena fin_reconocer_cadena CHEQUEAR 1 CHEQUEARI ODBC_ABRE_BD buzon access 0 funcion_interna Inicializar_Base buzon access funcion_interna RESULTADO_ANTERIOR case 1 case 2 case 3 case 4 switch case 5 case 1 case 2 case 3 case 4 gosub FALLO_SISTEMA case 5 break gosub FALLO_SISTEMA fin_funcion_interna break fin_funcion_interna funcion_interna Montar_Query 5 select WcodigoW from usuarios where codigo CODIGO and clave CLAVE query STRCAT select codigo from usuarios where codigo case 1 s_codigo gosub FALLO_SISTEMA break fin_funcion_ interna mo and clave s_clave s_query P g 21 funcion_interna Buscar_Elemento buzon case 1 access query goto NO_HAY_CODIGO1 case 0 break case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna funcion_interna Leer_Campos CODIGO1 case 1 goto NO_HAY_CODIGO1 case 0 goto DA_ MENSAJES case 1 case 2 case 3 gosub FALLO_SISTEMA break fin_funcion_ interna Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea ODBC_BUSCAR buzon access s_query funcion_interna RESULTADO_ANTERIOR switch case 1 goto NO_HAY_CODIGO 1 case 0 break case 2 case 5
14. cion P g 16 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea DEJAR_MENSAJES reconocer_cadena 1 7 digitos asignar_a CODIGO sintetizar Introduzca el c digo personal del destinatario fin_reconocer_cadena funcion_interna Inicializar_Base buzon access case 1 case 2 case 3 case 4 case 5 gosub FALLO_SISTEMA break fin funcion interna CHEQUEAR funcion_interna Montar_Query 3 select WdireccionW from usuarios where codigo CODIGO query case 1 gosub FALLO_SISTEMA break fin_funcion_ interna funcion_interna Buscar_Elemento buzon access query case 1 goto NO_HAY_CODIGO case 0 break case 2 case 3 gosub FALLO_SISTEMA break fin_funcion_ interna funcion_interna Leer_Campos MAIDL case 1 goto NO_HAY_CODIGO case goto DEJAR_MENSAJE case 1 case 5 case 2 gosub FALLO_SISTEMA break fin_funcion_interna DEJAR_MENSAJES reconocer_cadena 1 7 digitos asignar_a s_codigo asignar_a s_codigo_segundo sintetizar Introduzca el c digo personal del destinatario fin_reconocer_cadena ODBC_ABRE_BD buzon access 0 funcion_interna RESULTADO_ANTERIOR switch case 1 case 2 case 3 case 4 case 5 gosub FALLO_SISTEMA break fin funcion interna CHEQUEAR t s_trozo1 select direccion from usuarios where codigo STRCAT s_tr
15. e verifcad al comienzo de la secci n de subrutinas El contenido del fichero verifcad pro se puede ver en el Ap ndice A Manual del Usuario e Se permiten los comentarios Deben comenzar con y acabar con No son anidables es decir dentro de un comentario no podemos poner otro comentario C 3 2 SECCI N ERRORES e Los nombres de los tratamientos de error no van entre comillas e No existe la instrucci n reiniciar Se debe sustituir por un goto a una etiqueta de la secci n aplicaci n previa a la intrucci n esperar_llamada C 3 3 SECCI N SUBRUTINAS e La ltima instrucci n de una subrutina debe ser necesariamente retornar e Es posible incluir llamadas a subrutinas definidas posteriormente e Debido a que no es posible anidar instrucciones del tipo elegir_opcion ha sido necesario definir una nueva subrutina llamada sub De esa subrutina no salimos normalmente con la instrucci n retornar sino que saltamos con la instrucci n goto a etiquetas dentro de la SECCION_APLICACION Por tanto es necesario utilizar la funci n interna RESET_GOSUB para vaciar la pila donde se guardan los retornos de subrutina P g 5 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea C 3 4 SECCI N APLICACI N Las llamadas a subrutinas deben incluir los dos puntos despu s del nombre de la subrutina Cualquier referencia a una etiqueta debe incluir los dos puntos Los argume
16. ea y el lenguaje del sistema multil nea Subrutina CAMBIO_CLAVE SUBRUTINA CAMBIO_CLAVE funcion_interna Montar_Query 7 update usuarios set clave s_trozol update usuarios set clave CLAVE_NEW where codigo CODIGO and clave s_trozo2 where W codigoW CLAVE query STRCAT s_trozol s_clave_new s_trozo2 s_codigo and clave fin_funcion_ interna i mm s_clave s_query funcion_interna Buscar_Elemento buzon access query ODBC_BUSCAR buzon access s_query case 1 funcion_interna RESULTADO_ANTERIOR case 0 switch break case 1 case 2 case 0 case 5 break gosub FALLO_SISTEMA case 2 break case 5 fin_funcion_ interna gosub FALLO_SISTEMA Fin_subrutina break fin_funcion_ interna Subrutina PEDIR_CODIGO retornar reconocer_cadena FIN_SUBRUTINA 1 8 digitos asignar_a CODIGO SUBRUTINA PEDIR_CODIGO sintetizar Indique el c digo personal del destinatario reconocer_cadena fin_reconocer_cadena 1 8 digitos fin_subrutina asignar_a s_codigo asignar_a s_codigo_segundo Subrutina PEDIR_CLAVE sintetizar Indique el c digo personal del destinatario reconocer_cadena fin_reconocer_cadena 1 8 digitos retornar asignar_a CLAVE FIN_SUBRUTINA sintetizar Indique su clave secreta fin_reconocer_cadena SUBRUTINA PEDIR_CLAVE fin_subrutina reconocer_cadena 1 8 digitos asignar_a s_clave asignar_a s_clave_segundo sintetizar Indique s
17. es disponibles empezando por aquellos que se han recibido desde la ltima llamada al mismo El sistema soporta tanto reconocimiento de voz como detecci n de tonos multifrecuencia DTMF maneja un vocabulario compuesto por los d gitos del cero al nueve y las palabras si no ayuda y cancelar Para enviar mensajes al usuario se utiliza la reproducci n de mensajes pregrabados por su mayor calidad siempre que esto sea posible Tambi n se utiliza la conversi n texto habla para sintetizar palabras cortas que dependen del usuario como por ejemplo su nombre C 2 2 FUNCIONAMIENTO Cuando el sistema detecta una llamada descuelga y env a un mensaje de bienvenida al usuario Posteriormente se le da la oportunidad de escuchar unos mensajes de ayuda sobre el funcionamiento del sistema A continuaci n se presenta el men principal con las opciones de dejar un mensaje escuchar los mensajes recibidos o salir de la aplicaci n Si el usuario quiere dejar un mensaje en el buz n privado de otro usuario del servicio se le pedir el c digo del destinatario y el sistema comprobar que est dado de alta en el servicio Si es as indicar al usuario que deje su mensaje despu s del pitido lo grabar y volver al men principal En caso de que el destinatario no tenga acceso al servicio se informar al usuario de ello y volver al men principal P g 2 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lengua
18. gible elegir_opcion opciones_activas SC reproducir vernis2 switch case cancelar gosub PEDIR_CODIGO goto CHEQUEAR case si goto VERIFICAR_DNI_MEN 2 fin_elegir_opcion endif VERIFICAR_DNI_MEN2 sintetizar Vamos a comprobar que su c digo es correcto reproducir verifi s_cadena s_codigo s_segundo s_codigo_segundo gosub VerifCadena s_codigo s_cadena s_codigo_segundo s_segundo P g 19 Ap ndice C COMPROBACION sintetizar Espere un momento por favor funcion_interna Montar_Query 3 select direccion from usuarios where codigo CODIGO query case 1 gosub FALLO_SISTEMA break fin_funcion_ interna funcion_interna Buscar_Elemento buzon access query case 1 sintetizar Lo sentimos pero el codigo no es v lido goto DESPEDIDA case 0 break case 2 case 3 gosub FALLO_SISTEMA break fin_funcion_ interna funcion_interna Leer_Campos MAIDL case 1 sintetizar Lo sentimos pero el c digo no es v lido goto DESPEDIDA case 0 goto DEJAR_MENSAJE case 1 case 5 case 2 gosub FALLO_SISTEMA break fin_funcion_ interna Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea COMPROBACION sintetizar Espere un momento por favor s_trozo1 select direccion from usuarios where codigo STRCAT s_trozol s_codigo s_query ODBC_BUSCAR buz
19. grupo de tecnolog as del habla elegir_opcion opciones_activas SN sintetizar elegir txt case NO break case SI set_reconocimiento t break fin_elegir_opcion sintetizar A continuaci n se presenta el men principal MENU_PRINCIPAL elegir_opcion opciones_activas 123 sintetizar menu_ppa txt case uno goto RECIBIR_MENSAJES case dos goto DEJAR_MENSAJES case tres goto DESPEDIDA fin_elegir_opcion n_interrumpir l 1 SI 0 NO n_max_tiempo_reco_palabra 5 en segundos s_tipo_reco ambos tipo reconocimiento a utilizar n_timeout_sistema 40 m xima duraci n llamada minutos n_MAX_NUM_INTENTOS 4 intentos no reintentos ESPERAR n_segunda_vez 0 para verificar cadenas esperar_llamada sintetizar Bienvenido al buz n telef nico del grupo de tecnolog as del habla elegir_opcion opciones_activas SN sintetizar Diga s si desea utilizar reconocimiento de tonos multifrecuencia y no si desea utilizar reconocimiento de voz switch case NO break case SI s_tipo_reco DTMF break fin_elegir_opcion sintetizar A continuaci n se presenta el men principal MENU_PRINCIPAL elegir_opcion opciones_activas 123 sintetizar 1 para recibir mensajes 2 para dejar mensajes 3 para salir switch case 1 goto RECIBIR_MENSAJES case 2 goto DEJAR_MENSAJES case 3 goto DESPEDIDA fin_elegir_op
20. hero from mensaje where codigo STRCAT s_trozol s_codigo s_query ODBC_BUSCAR buzon access s_query funcion_interna RESULTADO_ANTERIOR switch case 1 sintetizar No tiene ning n mensaje goto MAS_OPERACIONES case 0 break case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna P g 29 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea REPRODUCIR_TODOS_MENSAJES REPRODUCIR_TODOS_MENSAJES funcion_interna Leer_Campos fichero ODBC_LEER_CAMPOS s_fichero case 0 funcion_interna RESULTADO_ANTERIOR pitar switch case 0 reproducir fichero pitar gosub BORRAR hay que cambiar el directorio de reproduccion goto REPRODUCIR_TODOS_MENSAJES s_dir_anterior s DIR_ESPECIF break s_DIR_ESPECIF AgrabacioW case 1 reproducir s_fichero sintetizar No hay m s mensajes break gosub BORRAR case 1 goto REPRODUCIR_TODOS_MENSAJES case 5 break case 2 case 1 gosub FALLO_SISTEMA sintetizar No hay m s mensajes break break fin_funcion_ interna case 1 goto MENU 2 case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_interna dejamos el directorio de reproducci n como estaba s_DIR_ESPECIF s_dir_anterior goto MENU2 P g 30 Ap ndice C CAMBIAR _CLAVE reconocer_cadena 4 digitos asignar_a CLAVE_NEW sintetizar Intr
21. icipar s_reco_tipo s_tipo_reco en una condici n de la instrucci n if if s_reco_tipo voz if s_reco_estado palabra reproducir nada Hable un poco m s alto endif if s_reco_estado cadena reproducir rep_dig Repita el ltimo d gito endif endif if s_reco_tipo ambos if s_reco_estado palabra reproducir nada endif if s_reco_estado cadena reproducir rep_dig endif endif if s_reco_tipo DTMF if s_reco_estado cadena reproducir rep_dig endif endif reintentar FIN_TRATAMIENTO P g 10 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea SECCION_SUBRUTINAS Subrutina AYUDA interrupcion 0 sintetizar help txt interrupcion 1 Fin_Subrutina Subrutina FALLO_SISTEMA sintetizar Fallo en el sistema No puedo atenderle ahora Perdone las molestias que esto pueda ocasionarle colgar salir Fin_Subrutina SECCION_SUBRUTINASs ttinclude verifcad SUBRUTINA AYUDA n_interrumpir 0 sintetizar Para realizar una elecci n entre las posibles opciones que se le presenten texto contenido en el fichero help txt n_interrumpir 1 retornar FIN_SUBRUTINA SUBRUTINA FALLO_SISTEMA sintetizar Fallo en el sistema No puedo atenderle ahora Perdone las molestias que esto pueda ocasionarle colgar goto ESPERAR FIN_SUBRUTINA P
22. je del sistema multil nea Si el usuario decide escuchar los mensajes de su buz n el servicio le solicitar el c digo personal y su clave Tras comprobar que tiene acceso al servicio en caso contrario le informa y le env a al men principal le reproduce todos los mensajes que se han recibido desde su ltima llamada y se presenta un men secundario con las siguientes opciones e Cambiar la clave e Escuchar todos los mensajes de su buz n y tras cada mensaje indicar si desea borrarlo o no e Salir de la aplicaci n Si decide salir de la aplicaci n se le reproduce un mensaje de despedida y se cuelga quedando el sistema en espera de una nueva llamada El diagrama de flujo de la aplicaci n es el siguiente P g 3 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea P g 4 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea C 3 DIFERENCIAS ENTRE AMBOS LENGUAJES C 3 1 ASPECTOS GENERALES e Algunas de las variables internas ya no est n disponibles y las dem s han cambiado de nombre Ver Ap ndice A Manual del Usuario para m s informaci n e Las variables est n tipadas y su nombre lo refleja n_ para variables num ricas y s_ para variables cadena de texto e Es posible incluir un fichero externo con la instrucci n include en cualquier punto de la aplicaci n debe tener la extensi n PRO Ver includ
23. ntos de las funciones internas deben ir entre par ntesis Para cambiar el modo de reconocimiento en lugar de utilizar la instrucci n set_reconocimiento hay que asignar a la variable s_fipo_reco los valores voz DTMF o ambos seg n se desee reconocimiento mediante voz detecci n de tonos multifrecuencia o ambos respectivamente La variable n_timeout_sistema que no estaba presente en el sistema monol nea indica la duraci n m xima de una llamada en minutos Es una medida de seguridad y si se supera el sistema colgar la llamada en curso estando as en disposici n de atender una nueva llamada La funci n interna Montar_Query no est disponible pero puede usarse la funci n predefinida STRCAT que realiza la misma funci n La instrucci n elegir_opcion requiere el t rmino switch antes de detallar los case cuyos valores deben ir siempre entre comillas La instrucci n reconocer_cadena debe incluir dos asignar_a pues en la variable que indique el segundo se guardar el segundo candidato de la cadena reconocida La funci n Segunda_Vez no existe En su lugar se utiliza una variable num rica y se decide el flujo de la aplicaci n en funci n de su valor con la instrucci n condicional if No es necesario incluir la extensi n del fichero en la instrucci n reproducir aunque se puede hacer Si no se incluye se asume la extensi n adecuada seg n el hardware presente Ver Ap ndice A Manual del Usuario
24. o el c digo o la clave no son v lidos goto DESPEDIDA case 0 goto DA_MENSAJES case 1 case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna DA_MENSAJES sintetizar A continuaci n se presentan los mensajes que se han recibido desde su ltima llamada funcion_interna Montar_Query 3 select fichero from mensaje where codigo CODIGO and escuchado N query case 1 gosub FALLO_SISTEMA break fin_funcion_ interna nn funcion_interna Buscar_Elemento buzon access query case 1 sintetizar No tiene ning n mensaje nuevo goto MAS_OPERACIONES case O break case 5 case 2 gosub FALLO_SISTEMA break fin_funcion_ interna ODBC_LEER_CAMPOS s_codigol funcion_interna RESULTADO_ ANTERIOR switch case 1 sintetizar Lo sentimos pero el c digo o la clave no son v lidos goto DESPEDIDA case 0 goto DA_MENSAJES case 1 case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna DA_MENSAJES sintetizar A continuaci n se presentan los mensajes que se han recibido desde su ltima llamada s_trozol STRCAT select fichero from mensaje where codigo s_codigo and escuchado N s_query ODBC_BUSCAR buzon access s_query funcion_interna RESULTADO_ANTERIOR switch case 1 sintetizar No tiene ning n mensaje nuevo goto MAS_OPERACIONES case 0 break case 2 case
25. oduzca su nueva clave fin_reconocer_cadena elegir_opcion opciones_activas SN sintetizar Es la clave introducida CLAVE_NEW case si gosub CAMBIO_CLAVE break case no elegir_opcion opciones_activas SN sintetizar Quieres volver a intentar introducir la clave case si goto CAMBIAR_CLAVE case no goto MENU_PRINCIPAL fin_elegir_opcion break fin_elegir_opcion goto MENU2 MAS_OPERACIONES elegir_opcion opciones_activas SN sintetizar Desea efectuar alguna operaci n m s case si goto MENU_PRINCIPAL case no goto DESPEDIDA fin_elegir_opcion DESPEDIDA sintetizar adios txt colgar funcion_interna Cerrar_Base buzon access fin_funcion_ interna reiniciar Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea CAMBIAR_CLAVE reconocer_cadena 1 4 digitos asignar_a s_clave_new asignar_a s_clave_new_segunda sintetizar Introduzca su nueva clave fin_reconocer_cadena SPRINTEF s_sinte Es la clave introducida s s_clave_new elegir_opcion opciones_activas SN sintetizar s_sinte switch case si gosub CAMBIO_CLAVE break case no como no no es posible anidar dos instrucciones del tipo elegir_opcion llamamos a una subrutina gosub SUB1 break fin_elegir_opcion goto MENU2 MAS_OPERACIONES elegir_opcion opciones_activas SN sintetizar Desea efectuar alguna
26. on access s_query funcion_interna RESULTADO_ANTERIOR switch case 1 sintetizar Lo sentimos pero el c digo no es v lido goto DESPEDIDA case 0 break case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna ODBC_LEER_CAMPOS s_mail funcion_interna RESULTADO_ANTERIOR switch case 1 sintetizar Lo sentimos pero el c digo no es v lido goto DESPEDIDA case 0 goto DEJAR_MENSAJE case 1 case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea DEJAR_MENSAJE DEJAR_MENSAJE sintetizar Deje el mensaje despu s de escuchar el pitido sintetizar Deje el mensaje despu s de escuchar el pitido gosub ALMACENAR gosub ALMACENAR funcion_interna Enviar_Mail MAIL new_mens txt ENVIAR_MAIL s_mail new_mens txt fin_funcion_ interna goto MAS_OPERACIONES goto MAS_OPERACIONES RECIBIR_MENSAJES reconocer_cadena RECIBIR_MENSAJES 1 7 digitos reconocer_cadena asignar_a s_codigo 7 digitos asignar_a s_codigo_segundo asignar_a CODIGO sintetizar Introduzca su c digo personal sintetizar Introduzca su c digo personal fin_reconocer_cadena fin_reconocer_cadena INTRODUCIR_CLAVE reconocer_cadena INTRODUCIR_CLAVE 1 4 digitos reconocer_cadena asignar_a s_clave 4 digitos asignar_a s_clave_segunda asignar_
27. ozol s_codigo s_query ODBC_BUSCAR buzon access s_query funcion_interna RESULTADO_ANTERIOR switch case 1 goto NO_HAY_CODIGO case 0 break case 2 case 5 gosub FALLO_SISTEMA break fin_funcion_ interna ODBC_LEER_CAMPOS s_mail funcion interna RESULTADO_ANTERIOR switch case 1 goto NO_HAY_ CODIGO case 0 goto DEJAR_MENSAJE case 1 case 2 case 5 gosub FALLO_SISTEMA break fin funcion interna P g 17 Ap ndice C NO_HAY_ CODIGO sintetizar Su c digo es CODIGO elegir_opcion opciones_activas SN sintetizar Diga s si el c digo es correcto y no en caso contrario case no goto PEDIR_VERIFICACION_CODIGO case si sintetizar El c digo especificado no es v lido goto MENU_PRINCIPAL fin_elegir_opcion PEDIR_VERIFICACION_CODIGO funcion_interna SegundaVez 0 dni_es mst 1 CODIGO case 0 goto OPCION1 case 1 goto OPCION2 fin_funcion_ interna OPCIONI elegir_opcion opciones_activas SCA sintetizar Usted puede cambiar alg n d gito diciendo s introducir de nuevo el c digo diciendo cancelar o pedir ayuda diciendo ayuda case cancelar gosub PEDIR_CODIGO goto CHEQUEAR case ayuda gosub AYUDA_VERIFICACION goto PEDIR_VERIFICACION_CODIGO case si goto VERIFICAR_DNI_MEN2 fin_elegir_opcion Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea NO_HAY_C
28. para m s informaci n Las funciones internas IDAPI se han sustituido por ODBC aunque IDAPT sigue estando presente Su funcionalidad es similar Todas las instrucciones referentes a ODBC incluyen al menos dos par metros el nombre de la base de datos buzon en este caso y el tipo de la base de datos access en este caso El primero de ellos debe ser un origen de datos ODBC v lido que debe figurar en el Administrador de ODBC de Windows se encuentra en el Panel de Control El segundo es el tipo de base de datos access dBase etc y se ha mantenido por compatibilidad con IDAPI pero en realidad no se utiliza pues viene determinado por el primer par metro Ver el Cap tulo 7 para m s informaci n sobre ambos m todos de acceso a bases de datos locales P g 6 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea e La intrucci n Verificar_Cadena ha desaparecido En su lugar existe una subrutina llamada VerifCadena que se incluye como fichero aparte en la secci n de subrutinas que se encarga de verificar cualquier cadena que se le pase y haciendo uso de la cadena con los segundos candidatos de cada palabra que componen la cadena a verificar Para usarla basta colocar la variable a verificar y su segundo candidato en las variables s_cadena y s_segundo respectivamente y llamarla Despu s hay que volver a realizar las asignaciones anteriores pero en sentido contrario Ejemplo
29. si goto NO_HAY_CLAVE fin_elegir_opcion PEDIR_VERIFICACION_CODIGO if n_segunda_vez 0 n_segunda_vez elegir_opcion opciones_activas SCA sintetizar Usted puede cambiar alg n d gito diciendo si introducir de nuevo el c digo diciendo cancelar o pedir ayuda diciendo ayuda switch case cancelar gosub PEDIR_CODIGO goto NO_HAY_CODIGO 1 case ayuda gosub AYUDA_ VERIFICACION goto PEDIR_VERIFICACION_CODIGO 1 case sl goto VERIFICAR_CODIGO 1 fin_elegir_opcion P g 23 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea OPCION2_RECIBIR elegir_opcion opciones_activas SC reproducir vernis2 mst case cancelar gosub PEDIR_CODIGO goto NO_HAY_CODIGO mon case Sl goto VERIFICAR_CODIGO 1 fin_elegir_opcion VERIFICAR_CODIGO sintetizar Vamos a comprobar que su c digo es correcto reproducir verifi mst funcion_interna Verificar_Cadena CODIGO CODIGO case 0 case 1 break case 1 case 2 case 3 gosub FALLO_SISTEMA break fin_funcion_interna NO_HAY_CLAVE sintetizar Su clave es CLAVE elegir_opcion opciones_activas SN sintetizar Es correcta case no goto PEDIR_VERIFICACION_CLAVE case si goto SEGUNDA_COMPROBACION fin_elegir_opcion if n_segunda_vez 1 inncesario pero mas legible elegir_opcion opciones_activas SC reproducir
30. u clave secreta fin_reconocer_cadena retornar FIN_SUBRUTINA P g 14 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea subrutina AYUDA_ VERIFICACION SUBRUTINA AYUDA _VERIFICACION reproducir help3 mst reproducir help3 reproducir help4 mst reproducir help4 reproducir help5 mst reproducir help5 fin_subrutina retornar FIN_SUBRUTINA Nueva subrutina debido a que no es posible anidar dos instrucciones del tipo elegir_opcion SUBRUTINA SUBI elegir_opcion opciones_activas SN sintetizar Quiere volver a intentar introducir la clave switch case si como salimos de la subrutina mediante un goto es necesario vaciar la pila donde se guardan los retornos de subrutina funcion_ interna RESET_GOSUB fin funcion interna goto CAMBIAR_CLAVE case no como salimos de la subrutina mediante un goto es necesario vaciar la pila donde se guardan los retornos de subrutina funcion_interna RESET_GOSUB fin_funcion_interna goto MENU_PRINCIPAL fin_elegir_opcion retornar FIN_SUBRUTINA P g 15 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea SECCION_APLICACION SECCION_APLICACION interrupcion 1 INICIO reintentos 3 timeout 5 set_reconocimiento v INICIAR esperar_llamada descolgar sintetizar Bienvenido al buz n telef nico del
31. vernis2 switch case cancelar gosub PEDIR_CODIGO goto NO_HAY_CODIGO 1 case si goto VERIFICAR_CODIGO1 fin_elegir_opcion endif VERIFICAR_CODIGO sintetizar Vamos a comprobar que su c digo es correcto reproducir verifi s_cadena s_codigo s_segundo s_codigo_segundo gosub VerifCadena s_codigo s_cadena s_codigo_segundo s_segundo NO_HAY_CLAVE SPRINTEF s_sinte Su clave es s s_clave sintetizar s_sinte elegir_opcion opciones_activas SN sintetizar Es correcta switch case no goto PEDIR_VERIFICACION_CLAVE case si goto SEGUNDA_COMPROBACION fin_elegir_opcion P g 24 Ap ndice C Comparaci n entre el lenguaje del sistema monol nea y el lenguaje del sistema multil nea PEDIR_VERIFICACION_CLAVE funcion_interna SegundaVez 0 pass_es mst 1 CLAVE case 0 goto OPCION3 case 1 goto OPCION4 fin_funcion_ interna OPCION3 elegir_opcion opciones_activas SCA sintetizar Usted puede cambiar alg n d gito diciendo s introducir de nuevo la clave diciendo cancelar o pedir ayuda diciendo ayuda case cancelar gosub PEDIR_CLAVE goto COM_CLAVE case ayuda gosub AYUDA_ VERIFICACION goto PEDIR_VERIFICACION_CLAVE case si goto VERIFICAR_CLAVE fin_elegir_opcion OPCION4 elegir_opcion opciones_activas SC reproducir verpas2 mst case cancelar gosub PEDIR_CLAVE goto COM_CLAVE Mo case sl goto VE
Download Pdf Manuals
Related Search
Related Contents
SABEDORIA: Breve Manual do Usu¡rio User Manual - Online Security Products ppS® Flow+ ppS® Flow+ ppS® Flow+ ppS® Flow+ LAN拡張ボード(1Gbps)(PG-LND201)取扱説明書1Gbit/s FBH-1100KD Charte Mode d`emploi du ZX-3 2012-2013 No.154 - RelaxoPet DELICA D:2_manual_201312 Copyright © All rights reserved.
Failed to retrieve file