La función Alert()La función Alert() es una de las mas sencillas que podemos utilizar en nuestros plugins, y a la vez una de las mas importantes, ya que no solo es una forma rápida de mostrar el resultado del script, sino que es utilisima para debug del código y control de errores. Servirá por tanto de perfecto ejemplo para introducirnos en la programación hkscript.
Como es una función interna, no necesitamos incluir su definición en el plugin, sino simplemente invocarla: Alert(parametros);
Los parámetros dentro de un paréntesis, y la linea terminada con un punto y coma.
Los nombres de las funciones distinguen entre mayusculas y minusculas, asi que NO es lo mismo Alert que alert que AlErT; dejar espacios en blanco entre el nombre de la función y el parentesis que contiene los parámetros es opcional.
ParámetrosLa función Alert muestra un mensaje de aviso en la pantalla, y toma dos parámetros o valores: el texto que aparece en la ventana y su título:
- Código:
Alert("Este es el texto del mensaje", "Titulo");
Como puedes ver los parámetros se pasan separados por comas, y como su valor es de
strings (cadenas de caracteres) deben ir entrecomillados.
Tras su ejecución, muestra el mensaje indicado y retorna un valor (0 en caso de error, 1 en caso de éxito).
Como quiera que Alert solo acepta strings, debes asegurarte que solo le pasas cadenas. Por ejemplo:
- Código:
var nTest =0; Alert( inttostr(nTest), "Titulo" );
La función
inttostr (integer to string) permite cambiar el tipo de una variable numérica (valor entero) a una variable valor string.
Si queremos mostrar un array, debemos antes convertirlo en una cadena:
- Código:
var miarray = new Array(); Alert(join(" ", miarray), "Contenido del array:");
A continuación, usamos la función Alert para indicar al usuario si existe o no texto seleccionado en el editor:
- Código:
if(nMenuItemID == 0)
{
nSelText = hkp_DataGet( pDataIn, "INPUT_SELECTION", &sSelText );
if(!nSelText || ("" == sSelText))
{
Alert("No hay nada seleccionado", "Advertencia");
}
else
{
Alert(sSelText, "Advertencia");
}
}