Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit TeamsCambios recientesSend via e-MailImprimirEnlace permanente × Tabla de Contenidos Otras funciones VBS FECHA/HORA CDate Date DateAdd DateDiff Day FormatDateTime Hour IsDate Minute Month MonthName Now Second Time Timer WeekDay Week Year FUNCIONES DE CONVERSIÓN CDbl Chr CInt CLng CStr FUNCIONES DE FORMATO FormatNumber FUNCIONES MATEMÁTICAS Abs Atn Acos Cos Int Fix Sin Sqr Round FUNCIONES DE MATRIZ Array Split Ubound FUNCIONES DE CADENA InStr LCase Left Len Lenb Trim Mid Replace Right StrComp String Ucase OTRAS FUNCIONES IsEmpty IsNull IsNumeric Otras funciones VBS FECHA/HORA CDate Convierte una expresión de fecha/hora válida al tipo fecha/hora. Sintaxis CDate (expr) Parámetros Descripción expr Expresión de fecha y hora válida según el formato de fecha del sistema en que se ejecuta el script. Valor devuelto Fecha/hora correspondiente a la expresión pasada. En caso de que la expresión no represente una fecha u hora válidas la función lanzará un error de “No coinciden los tipos”. Ejemplo de Uso: fecha_hora=cdate("21/08/2012") Date Devuelve la fecha y hora del sistema. Sintaxis Date Ejemplo de Uso: This("MAP_FECHA")=Date DateAdd Devuelve una fecha/hora a partir de sumar un determinado intervalo a una fecha/hora de partida. El intervalo puede ser configurable Sintaxis DateAdd (intervalo, número, fecha) Parámetro Descripción intervalo Expresión de cadena que indica qué tipo de intervalo representa el segundo parámetro. Los valores aceptados son los siguientes: (yyyy - Año) (m - Mes) (d – Día) (h - Hora) (n – Minuto) (s – Segundo) número Cantidad de intervalos a adicionar. Positivo para fechas en el futuro o negativo para fechas en el pasado. fecha Fecha/hora de partida. Ejemplo de Uso: This("MAP_FECHA")=DateAdd("d",-1,This("MAP_FECHA")) DateDiff Devuelve un entero que representa la cantidad de intervalos de un determinado tipo que hay entre dos fechas. Sintaxis DateDiff (intervalo, fecha1, fecha2) Parámetro Descripción intervalo Expresión de cadena que indica qué tipo de intervalo representa el segundo parámetro. Los valores aceptados son los siguientes: (yyyy - Año) (m - Mes) (d – Día) (h - Hora) (n – Minuto) (s – Segundo) fecha1 Primera fecha usada para el cálculo. fecha2 Segunda fecha usada para el cálculo. La operación se efectúa como fecha1 - fecha2. Ejemplo de Uso: dias=datediff("d",now,this("FECHA")) cuantos=datediff("d","01/01/"+cstr(year(now)),now) Day Devuelve un entero entre 1 y el máximo día de mes de la fecha que se pasa como parámetro. Sintaxis Day (fecha) Parámetro Descripción fecha Fecha cuyo día de mes se quiere devolver. Ejemplo de Uso: diames=day(now) FormatDateTime Devuelve una cadena que representa una fecha y hora formateadas de acuerdo al tipo de formato elegido. Sintaxis FormatDateTime (fecha[formato]) Parámetro Descripción fecha Fecha que se quiere formatear formato Opcional. Un entero que indica el formato de fecha y hora que se quiere aplicar a la fecha: (0 = vbGeneralDate – Por defecto. Devuelve el formato de fecha mm/dd/yyyyhh:mm:ss) (1 = vbLongDate–Devuelve la fecha dd/mm/yyyy) (2 = vbShortDate–Devuelve la fecha : dd/mm/yy) (3 = vbLongTime–Devuelve la hora: hh:mm:ss) (4 = vbShortTime–Devuelve la hora: hh:mm) El orden de los elementos de la fecha dependerá del lenguaje(locale) del dispositivo en que se ejecuta el script. Ejemplo de Uso: this("MAP_FPEDIDO")=formatdatetime(now,2) Hour Devuelve un entero entre 0 y 24 que representa la hora del día de la fecha que se pasa como parámetro. Sintaxis Hour (fecha) Parámetro Descripción fecha Cuya hora del día se quiere obtener. Ejemplo de Uso: horas=CStr(Hour(Time())) IsDate Devuelve TRUE si la expresión que se pasa como parámetro es una fecha o se puede convertir en fecha usando las reglas del locale que tiene activo el dispositivo. Sintaxis IsDate (expresion) Parámetro Descripción expresión Expresión cuya validez de conversión se quiere comprobar. Ejemplo de Uso: if IsDate(This("FECHACITA")) then ... Minute Devuelve un número entre 0 y 59 que representa el minuto de la hora actual en la fecha/hora que se pasa como parámetro. Sintaxis Minute (fecha) Parámetro Descripción fecha Valor de fecha/hora válido. Si se trata de un valor que no sea de fecha debe ser convertible en fecha/hora. De lo contrario se producirá un error de coincidencia de tipos. Ejemplo de Uso: minutos=cstr(minute(now)) minutos=CStr(Minute(Time())) Month Devuelve un número entre 1 y 12 que representa el mes actual de la fecha que se pasa como parámetro. Sintaxis Month (fecha) Parámetro Descripción fecha Valor de fecha/hora válido. Si se trata de un valor que no sea de fecha debe ser convertible en fecha/hora. De lo contrario se producirá un error de coincidencia de tipos. Ejemplo de Uso: mes = cstr(month(now)) MonthName Devuelve una cadena con el nombre del mes actual de la fecha que se pasa como parámetro. El lenguaje utilizado corresponde con el locale del dispositivo en que se ejecuta el script. Sintaxis MonthName (fecha) Parámetro Descripción fecha Valor de fecha/hora válido. Si se trata de un valor que no sea de fecha debe ser convertible en fecha/hora. De lo contrario, se producirá un error de coincidencia de tipos. Ejemplo de Uso: mes = cstr(MonthName(now)) Now Devuelve la fecha/hora del sistema. Sintaxis Now Ejemplo de Uso: this("FECHA") = now Second Devuelve un entero entre 0 y 59 que representa el segundo de la hora actual en el valor de fecha/hora que se pasa como parámetro. Sintaxis Second (fecha) Parámetro Descripción fecha Valor de fecha/hora válido. Si se trata de un valor que no sea de fecha debe ser convertible en fecha/hora. De lo contrario se producirá un error de coincidencia de tipos. Ejemplo de Uso: segundos = cstr(Second(now)) Time Devuelve una expresión de fecha/hora con la hora actual del sistema. Sintaxis Time Ejemplo de Uso: hora= cstr(Time) Timer Devuelve un entero que contiene el número de segundos desde las 12:00AM del día actual. Sintaxis Timer Ejemplo de Uso: num=Timer WeekDay Devuelve un entero entre 1 y 7 representando el día de semana de la fecha que se pasa como parámetro. El primer día de semana es el correspondiente al locale del dispositivo en que se ejecuta el script. Sintaxis WeekDay (fecha) Parámetro Descripción fecha Valor de fecha/hora válido. Si se trata de un valor que no sea de fecha debe ser convertible en fecha/hora. De lo contrario se producirá un error de coincidencia de tipos. Ejemplo de Uso: diasemana = weekday(now)-1 Week Devuelve un entero correspondiente a la semana a que pertenece la fecha que se pasa como parámetro. Las semanas se numeran consecutivamente a partir de la 1 desde el primer día del año. Sintaxis Week (fecha) Parámetro Descripción fecha Valor de fecha/hora válido. Si se trata de un valor que no sea de fecha debe ser convertible en fecha/hora. De lo contrario se producirá un error de coincidencia de tipos. Ejemplo de Uso: numsemana = Week(now) Year Devuelve un entero correspondiente al año de la fecha que se pasa como parámetro. Sintaxis Year(fecha) Parámetro Descripción fecha Valor de fecha/hora válido. Si se trata de un valor que no sea de fecha debe ser convertible en fecha/hora. De lo contrario se producirá un error de coincidencia de tipos. Ejemplo de Uso: anio = Year(now) FUNCIONES DE CONVERSIÓN CDbl Convierte una expresión a tipo double. La expresión debe ser numérica o convertible en número. Sintaxis CDbl (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos. Ejemplo de Uso: this("TOTAL")=cdbl(this("PORCENTAJE"))+cdbl(this("TOTAL")) Chr Devuelve un carácter cuyo código ANSI se pasa como parámetro. Los caracteres del 1 al 31 son caracteres no imprimibles. Sintaxis Chr (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos. Ejemplo de Uso: msg="Nombre: "+CStr(This("NOMBRE"))+Chr(10)+Chr(13) CInt Convierte la expresión que se pasa como parámetro a un número entero. La expresión debe ser numérica o convertible en número. Sintaxis CInt (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos. Ejemplo de Uso: this("MAP_TOTAL") = cint(this.contents("Bultos").count) CLng Convierte la expresión que se pasa como parámetro a un tipo entero largo. La expresión debe ser numérica o convertible en número. Sintaxis CLng (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos. Ejemplo de Uso: valor=CLng(this("DOCUMENTO"))+1 CStr Devuelve una representación de cadena de la expresión que se pasa como parámetro. Dependiendo del tipo de dato se usarán los formatos válidos en el locale activo en el dispositivo. Sintaxis CStr (expresión) Parámetro Descripción expresión Expresión cuya representación de cadena se quiere obtener. Ejemplo de Uso: msg="Nombre: "+CStr(This("NOMBRE")) FUNCIONES DE FORMATO FormatNumber Devuelve una cadena que representa el número pasado como parámetro en el formato que se decida. La expresión debe ser numérica o convertible en número, de lo contrario se producirá un error de conversión de tipos. Sintaxis FormatNumber (expresión, decimales) Parámetro Descripción expresión Expresión numérica que se quiere formatear. decimales Opcional. Un entero con la cantidad de decimales después del punto decimal. El resultado se redondea a esta cantidad antes de hacer la representación. Si este parámetro no se pasa se asumen cero decimales (entero). Debido al uso de la definición original de esta función se aceptan hasta 5 parámetros, pero a partir del tercero son ignorados, por lo que puede pasarse cualquier cosa. Lo suyo sería usarla solamente con los dos primeros parámetros. El separador de dígitos decimales usado por esta función es el correspondiente al locale activo en el dispositivo. Ejemplo de Uso: this("NUMERO")=FormatNumber(20000,2) FUNCIONES MATEMÁTICAS Abs Devuelve un valor numérico positivo correspondiente al valor absoluto de la expresión numérica que se pasa como parámetro. Sintaxis Abs (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos Ejemplo de Uso: This("BRUTO")=vSigno * AppData.SafeRound(CDbl(Abs(This("CANTIDAD")))*This("IMPORTE"),2) Atn Devuelve un valor decimal (double) correspondiente a la arcotangente del valor numérico que se pasa como parámetro. Se asume que la cantidad devuelta está en radianes (número real). Sintaxis Atn (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos Ejemplo de Uso: ACos = 1.5707963267949 - Atn(valor / Sqr(1 - (valor * valor))) Acos Devuelve un valor decimal (double) que representa el arcocoseno del valor real que se pasa como parámetro. El número devuelto está en radianes. Sintaxis Acos (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos Ejemplo de Uso: dd = ACos(dvalue) * radtodeg Cos Devuelve un valor decimal (double) que representa el coseno del valor real pasado como parámetro. Se asume que el valor está en radianes. Sintaxis Cos (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos Ejemplo de Uso: dvalue = (Sin(lat1 * degtorad) * Sin(lat2 * degtorad)) + (Cos(lat1 * degtorad) * Cos(lat2 * degtorad) * Cos(dlong * degtorad)) Int Devuelve un entero que contiene la parte entera del número que se pasa como parámetro. No se efectúan redondeos. Sintaxis Int (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos Ejemplo de Uso: suma = suma + Int((digito * 2) / 10) + (digito * 2) Mod 10 Fix Esta función funciona de la misma forma que Int. Sin Devuelve un valor decimal (double) con el valor del seno del número que se pasa como parámetro. Se asume que el valor pasado como parámetro está en radianes (dominio real). Sintaxis Sin (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos Ejemplo de Uso: dvalue = (Sin(lat1 * degtorad) * Sin(lat2 * degtorad)) + (Cos(lat1 * degtorad) * Cos(lat2 * degtorad) * Cos(dlong * degtorad)) Sqr Devuelve un valor real (double) con el valor de la raíz cuadrada del número que se pasa como parámetro. Si el valor no es válido (negativo) se produce un error de ejecución. Sintaxis Sqr (expresión) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos Ejemplo de Uso: ACos = 1.5707963267949 - Atn(valor / Sqr(1 - (valor * valor))) Round Devuelve un valor real (double) con el número que se pasa como parámetro redondeado a la cantidad de decimales indicada. Sintaxis Round (expresión[, decimales]) Parámetro Descripción expresión Expresión numérica o convertible en número. Si la expresión no puede llevarse a número se produce un error de conversión de tipos decimales Opcional. Entero que indica la cantidad de decimales después del punto. Si no se pasa se considera cero (redondear al entero más cercano) Ejemplo de Uso: in_timer=Round(in_timer/60) FUNCIONES DE MATRIZ Array Devuelve un valor numérico positivo correspondiente al valor absoluto de la expresión numérica que se pasa como parámetro. Sintaxis Array (valor1[, valor2[, … valor_n]]) Parámetro Descripción valor_n Los valores pueden ser de cualquier tipo, incluyendo objetos, nulos y vacíos. Ejemplo de Uso: obj.Create Array("IDARTICULO",This("ID"),"IDALMACEN",This("IDALMACEN"),"EXIST",This("EXIST")) Split Devuelve una matriz unidimensional (vector) con tantas subcadenas como se logre formar a partir de dividir la expresión indicada basada en los separadores que se indiquen. Si no se encuentra ningún separador el vector contendrá un solo elemento con la cadena original. Sintaxis Split (expresión, delimitador) Parámetro Descripción expresión Expresión de cadena que se quiere separar. Si el valor no es una cadena el runtime intentará convertirlo. delimitador Cadena de delimitadores. Cada carácter de la cadena será considerado un separador válido. Al contrario que la norma original este parámetro es obligatorio. Ejemplo de Uso: w =Split(st_date," ") t =Split(st_time,":") Ubound Devuelve el mayor subíndice de la dimensión deseada de una matriz. Si el parámetro que se pasa no es una matriz, el indicador de dimensión está fuera de rango o no es numérico ocurrirá un error de ejecución. Sintaxis UBound (expresión[, dimensión]) Parámetro Descripción expresión Expresión de matriz cuya máximo subíndice se quiere determinar. decimales Opcional. Entero representando la dimensión cuyo máximo subíndice se desea. Si no se pasa ningún valor se asume que es la primera dimensión (0) En el caso de los vectores este es el único valor permitido. Ejemplo de Uso: For i = 0 To UBound(arr, 1) FUNCIONES DE CADENA InStr Devuelve la posición en que ocurre una subcadena dentro de una cadena. Si la subcadena no se encuentra, la función devuelve -1. Sintaxis InStr ([start,]cadena1, cadena2) Parámetro Descripción start Opcional. Entero que representa la posición a partir de la cual se efectúa la búsqueda. El número de posición del primer carácter es 1. cadena1 Cadena dentro de la cual se busca. Si la expresión no es de cadena se intentará convertirla. cadena Cadena a buscar. Si la expresión no es de cadena se intentará convertirla. Ejemplo de Uso: n = InStr(st, ":") Debido a la compatibilidad sintáctica con el VBS original se permite un cuarto parámetro, pero realmente dicho parámetro será ignorado, efectuando siempre una comparación de cadenas. LCase Devuelve una cadena con la representación en minúsculas de la expresión de cadena que se pasa como parámetro. Sintaxis LCase (expresión) Parámetro Descripción expresión Expresión de cadena que se quiere convertir. Si la expresión no es de cadena se intentará convertirla. Ejemplo de Uso: n = LCase(st) Left Devuelve una cadena consistente en los n primeros caracteres de la cadena que se pasa como parámetro. Si la cantidad de caracteres solicitados es mayor que el tamaño de la cadena original, esta se devuelve completa. Sintaxis Left (expresión, caracteres) Parámetro Descripción expresión Expresión de cadena original. Si la expresión no es una cadena se intentará convertirla. caracteres Entero con la cantidad de caracteres a obtener. Si el número es mayor que el tamaño de la cadena, esta se devuelve completa. Ejemplo de Uso: n = Left(st,5) Len Devuelve la cantidad de caracteres que contiene una cadena. Sintaxis Len (expresión) Parámetro Descripción expresión Expresión de cadena que se quiere convertir. Si la expresión no es de cadena se intentará convertirla. Si el valor es EMPTY se devolverá cero. Ejemplo de Uso: n = Len(st) Lenb Esta función se mantiene por compatibilidad con scripts existentes. Tiene el mismo funcionamiento que Len. Trim Devuelve una cadena de la cual se han eliminado los espacios y separadores tanto al inicio como al final. Sintaxis Trim (expresión) Parámetro Descripción expresión Expresión de cadena que se quiere convertir. Si la expresión no es de cadena se intentará convertirla. Si el valor es EMPTY se devolverá una cadena vacía. Ejemplo de Uso: st = Trim(st) Mid Devuelve una subcadena tomada a partir de la posición deseada con tantos caracteres como se indique. Sintaxis Mid (expresión, inicio[, largo]) Parámetro Descripción expresión Expresión de cadena que se quiere convertir. Si la expresión no es de cadena se intentará convertirla. Si el valor es EMPTY se devolverá una cadena vacía. inicio Posición a partir de la que se comienza a obtener la cadena. Si es mayor que el tamaño de la cadena se devuelve cadena vacía. La primera posición se considera 1. largo Opcional. Entero indicando la cantidad de caracteres. Si inicio+largo es mayor que el tamaño de la cadena se considera que se devuelve la cadena hasta el final. Ejemplo de Uso: st = Mid(st,1,5) Replace Devuelve una cadena en la cual se han reemplazado las ocurrencias de una determinada subcadena con otra. Sintaxis Replace (expresión, buscar, reemplazo[, inicio]) Parámetro Descripción expresión Cadena dentro de la que se quiere efectuar la búsqueda y reemplazo. Si la expresión no es una cadena se intentará convertirla. buscar Cadena que se quiere buscar y sustituir. Si no es una cadena se intentará convertirla. reemplazo Cadena por la que se quiere sustituir “buscar”. Si no es una cadena se intentará convertirla. inicio Opcional. Entero que indica a partir de qué posición se comienza la búsqueda (empezando por 1) Ejemplo de Uso: msg = msg + " Descripcion:" + Replace(This("RECADO"),"#243;","ó") + " " Debido a la necesidad de compatibilidad con las maquinarias de script VBS antiguas se permite los parámetros adicionales que tiene la función vbs original, pero éstos son ignorados. Right Devuelve una cadena con los caracteres obtenidos desde la parte de recha de la cadena que se pasa como parámetro. Si el número indicado es mayor que la cadena original, se devuelve esta completa. Sintaxis Right (expresión, caracteres) Parámetro Descripción expresión Cadena de la que se quiere obtener el fragmento. Si la expresión no es una cadena se intentará convertirla. caracteres Cantidad de caracteres a obtener contando desde el final de la cadena original. Ejemplo de Uso: st = Right(st,2) StrComp Devuelve un entero representando el valor de comparación de dos cadenas. Sintaxis StrComp (cadena1, cadena2) Parámetro Descripción cadena1 Primera cadena a comparar. cadena2 Segunda cadena a comparar. Ejemplo de Uso: st = StrComp("VBScript","vbscript") Si cadena1 < cadena2 el valor es negativo. Si cadena1 > cadena2 el valor es positivo. Si cadena1 == cadena2 el valor es cero. Esta función permite un tercer parámetro para mantener la compatibilidad con la maquinaria VBS original, pero será ignorado. String Devuelve una cadena compuesta por la repetición de un carácter tantas veces como se indique. Sintaxis String (número, caracter) Parámetro Descripción número Cantidad de veces que se repetirá el carácter indicado. caracter Expresión que contiene el carácter a repetir. Si se trata de una cadena se obtiene el primer carácter de la misma. Si es un número se obtiene el carácter cuyo código ANSI corresponde al número. Ejemplo de Uso: st = String(5,"a") Ucase Devuelve una cadena que contiene la representación en mayúsculas de la cadena original. Sintaxis UCase (expresión) Parámetro Descripción expresión Expresión de cadena cuya representación en mayúsculas se desea obtener. Si la expresión no es una cadena se intentará convertirla. Ejemplo de Uso: st = UCase("vbScript") OTRAS FUNCIONES IsEmpty Devuelve un valor booleano TRUE si se trata de un valor de tipo EMPTY. Sintaxis IsEmpty (expresión) Parámetro Descripción expresión Expresión que se quiere comprobar. Normalmente se trata de una variable, evaluación de fórmula, valor de campo, etc. Ejemplo de Uso: if not isEmpty(appData.CurrentEnterprise.Variables("IDFAMILIA")) then ... IsNull Devuelve un valor booleano TRUE si el parámetro pasado es NULL. Sintaxis IsNull (expresión) Parámetro Descripción expresión Expresión que se quiere comprobar. Normalmente se trata de una variable, evaluación de fórmula, valor de campo, etc. Ejemplo de Uso: if matricula="" or isnull(matricula) then ... IsNumeric Devuelve un valor numérico TRUE si la expresión es un número o representa un número y puede convertirse a cantidad numérica. Sintaxis IsNumeric (expresión) Parámetro Descripción expresión Expresión que se quiere comprobar. Normalmente se trata de una variable, evaluación de fórmula, valor de campo, etc. Ejemplo de Uso: if isnumeric(numero) then ...