# Funciones globales

Hemos extendido el ECMAScript base con algunas de las funciones globales que implementan otros scripts, para mayor compatibilidad con código fuente ya existente.

## Indice de funciones

### **Globales**

void [alert](#alert)( String szMensaje, \[String szTitulo] )

Boolean [confirm](#confirm)( String szPregunta, \[String szTitulo] )

String [prompt](#prompt)( String szLabel, \[String szContIni], \[String szTitulo] )

### **De API**

void [importApi](#importapi)( String apiName )

void [importClass](#importclass)( String className )

## Documentación de funciones

### Funciones globales

#### void alert( String szMensaje, \[String szTitulo] ) <a href="#alert" id="alert"></a>

Muestra un mensaje en un cuadro de diálogo con el botón aceptar.

Parámetros:

* szMensaje: mensaje a mostrar.
* szTitulo: texto opcional para mostrar en el título del cuadro de diálogo.

#### Boolean confirm( String szPregunta, \[String szTitulo] ) <a href="#confirm" id="confirm"></a>

Muestra un cuadro de diálogo de confirmación y devuelve true o false en función del botón pulsado por el usuario.

Parámetros:

* szPregunta: texto que se mostrará al usuario.
* szTitulo: texto opcional para mostrar en el título del cuadro de diálogo.

#### String prompt( String szLabel, \[String szContIni], \[String szTitulo] ) <a href="#prompt" id="prompt"></a>

Muestra un cuadro de diálogo solicitando la introducción de un dato. Opcionalmente se puede pasar un el contenido inicial a mostrar como valor por defecto.

Parámetros:

* szLabel: texto descriptivo del dato a introducir.
* szContIni: valor opcional que puede mostrar el dato a introducir.
* szTitulo: texto opcional para mostrar en el título del cuadro de diálogo.

### Funciones de API

#### void importApi( String apiName ) <a href="#importapi" id="importapi"></a>

Fuerza la inclusión del sub-API en el script permitiendo el uso de las propiedades y funciones de sus clases.

Parámetros:

* apiName: nombre del sub-API, ejemplo: Admin, Core, etc.

#### void importClass( String className ) <a href="#importclass" id="importclass"></a>

Fuerza la inclusión de la clase en el script para el uso de sus funciones.

Parámetros:

* className: nombre de la clase, ejemplo: [VQuery](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vquery).

## Ejemplos

### 1. Cálculo del factorial de un número

```javascript
////////////////////////////////////////////////////////////
// Cálculo del factorial de un número

// Confirmación de que se quiere ejecutar el proceso
if ( confirm("¿Seguro que desea calcular el factorial de un número?", "Confirmación") )
{
    // Pedir el número a calcular
    var numero = parseInt( prompt("Número a calcular", 10, "Cálculo de factural") );

    // Se muestra el resultado del cálculo realizado
    alert( "El factorial del número " + formatNumber( numero ) + " es " + formatNumber( factorial( numero ) ), "Resultado")
}


// Calcula el factorial de un número
//  - num = Número del que se desea calcular el factorial

function factorial( num )
{
    var factorial = 1;

    for ( x=1; x
 1 ? ',' + splitStr[1] : '';
    var regx = /(\d+)(\d{3})/;
    while ( regx.test( splitLeft ) ) 
    {
        splitLeft = splitLeft.replace( regx, '$1' + '.' + '$2' );
    }
    return prefix + splitLeft + splitRight + postfix;
}


// Quitar el formato a un número
//  - num = Número a quitar el formateo

function unformatNumber( num )
{
    return num.replace( /([^0-9\,\-])/g,'' )*1;
```
