TONE( )

 Hace sonar un tono en el altavoz, con la frecuencia y duración especificadas

 Sintaxis

     TONE(<nFrecuencia>, <nDuración>) –> NIL

Argumentos

<nFrecuencia> es un valor numérico que indica la frecuencia del tono que va a sonar.

<nDuración> es un número positivo que indica la duración del tono     medida en incrementos de 1/18 de segundo. Por ejemplo, una <nDuración> de 18 representa un segundo.

En ambos argumentos, los valores decimales se truncan, sin redondear, para dar la parte entera.

Devuelve

     TONE() siempre devuelve NIL.

Descripción

TONE() es una función de sonido que sirve para indicar al usuario los diferentes estados de un programa. Pueden ser estados de error, condiciones límite o el final de un proceso muy lento. Por ejemplo, un estado de error podría generar un cierto tono antes de alertar al usuario con un mensaje o un panel de diálogo interactivo. Una condición límite podría indicar que el usuario está intentando desplazar el cursor más allá de la posición superior o inferior de una columna de un objeto TBrowse.

Un proceso por lotes podría indicar el momento de terminación con un sonido, para alertar al usuario en caso de que éste se haya alejado de la pantalla.

TONE() trabaja generando tonos con una frecuencia y duración especificadas. La duración se mide en incrementos de 1/18 de segundo. La frecuencia se mide en hertzios (ciclos por segundo). Las frecuencias por debajo de 20 Hz son inaudibles. La tabla siguiente muestra las frecuencias de las notas musicales estándar.

     Tabla de Notas Musicales

     Nota      Frecuencia          Nota       Frecuencia

     C         130,80              C medio    261,70

     C#        138,60              C#         277,20

     D         146,80              D          293,70

     D#        155,60              D#         311,10

     E         164,80              E          329,60

     F         174,60              F          349,20

     F#        185,00              F#         370,00

     G         196,00              G          392,00

     G#        207,70              G#         415,30

     A         220,00              A          440,00

     A#        233,10              A#         466,20

     B         246,90              B          493,90

     C         523,30

 Ejemplos

     ¦  Este ejemplo es una función que indica con un tono cuando ha terminado un proceso por lotes:

     FUNCTION BipTerminacion

           TONE(300, 1)

           TONE(100, 1)

           TONE(300, 1)

           TONE(100, 1)

           RETURN NIL

     ¦  Este ejemplo es una secuencia de tonos que indican que se han pulsado teclas no válidas o que se han alcanzado condiciones límite:

        FUNCTION BipError

           TONE(100, 3)

           RETURN NIL

Ficheros:  La biblioteca asociada es EXTEND.LIB, el módulo fuente es SOURCE\SAMPLE\EXAMPLEA.ASM.