Saltar al contenido principal

Tools

FileSizeToString

Propósito
Obtener el tamaño de un archvo en formato amigable.

Sintaxis
FileSizeToString( in:&Bytes, out:&Text)

  • &Bytes: Tamaño en bytes.
  • &Text: Tamaño en formato texto amigable.

Ejemplo

FileSizeToString( 1025) // 1 KB

FriendlyTimeDiff

Propósito
Retorna la diferencia de tiempo en formato amigable.

Sintaxis
FriendlyTimeDiff( in:&DTFrom, in:&DTTo, out:&Text)

Ejemplo


FriendlyTimeDiff( in:&DTFrom, in:&DTTo, out:&Text)

GUIDGenerate

Propósito

Obtiene en un string representando un GUID.

Ya en la GxEv2 se disponemos del tipo de datos GUID para generar estos. Este procedimiento viene de tiempo atrás pero es útil en algunos casos.

De todas formas, para generar el GUID se utiliza el nuevo tipo de datos.

Para más información:

http://wiki.genexus.com/commwiki/servlet/wiki?GUID

http://wiki.genexus.com/commwiki/servlet/wiki?GUID+data+type

Sintaxis
GUIDGenerate ( Bool-in:&IncludeHyphens, Character-out:&GUIDStr)

  • &IncludeHyphens: Incluye guiones.

Retorno:

&GUIDStr : Variable de tipo Character representando un GUID.

Ejemplo

&GUIDStr  = GUIDGenerate(true)

// Resultado: “b7e69de0-b17d-48ad-9fcb-7e678985a6e0”

Volver al inicio

MessageAdd

Propósito
Agrega un texto a una colección de mensajes.

Sintaxis
MessageAdd( Messages-in:&Messages, in:&MsgStr)

&Messages : Colección de mensajes

&MsgStr : Texto del mensaje a agregar

Ejemplo

MessageAdd ( &Messages, "Contraseña no válida")

Volver al inicio

MessagesLog

Propósito
Genera Log con toda una colección de mensajes.

Para profundizar en la generación de logs con StoneFramework, revisar el proc. SGP_System_LogAdd

Sintaxis
MessagesLog( Character-in:&Program, LogLevels-in:&LogLevels, Messages-in:&Messages)

  • &Program: Programa que genera el log. Típicamente &Pgmname
  • &LogLevels: Nivel de log (DEBUG, INFO, WARN, etc.)
  • &Messages: Colección de mensajes a registrar

Ejemplo

Se utiliza por ejemplo en los casos donde no queremos que el usuario vea los mensajes generados por un Business Component, pero si lo queremos tener un registro para saber que sucedió.

En el ejemplo tenemos el BC Cliente:

&ClienteBC = new()
&ClienteBC.Nombre = "John Doe"
&ClienteBC.Save()
If &ClienteBC.Success()
commit
else
// Se genera log de los mensajes retornados por el BC
MessagesLog( &Pgmname, LogLevels.WARN, &ClienteBC.GetMessages())

// Se retorna una mensaje particular al cliente
MessageAdd( &Messages, "Error al crear el cliente")
endif

Volver al inicio

MessagesShow

Propósito
Despliega en pantalla una colección de mensajes.

Tanto si se está utilizando un BC en la interface o si recibimos una colección de mensajes, generalmente tenemos que realizar una recorrida por cada uno para ir mostrando cada mensaje. Esto nos lleva a repetir el mismo código en varios lados e incluir variables extra en nuestras interfaces.

Este procedimiento simplifica ésta tarea.

Sintaxis
MessagesShow( Messages-in:&Messages)

&Messages : Colección de mensajes

Ejemplo

&ClienteBC = new()
&ClienteBC.Nombre = "John Doe"
&ClienteBC.Save()

if &ClienteBC.Success()
Commit()
else
MessagesShow.Call(&ClienteBC.GetMessages())
endif

Volver al inicio

OnlyNumbers

Propósito
Permite extraer los números existentes en un texto.

Sintaxis
OnlyNumbers( Character-in:&strin, Character-out:&Numbers)

  • &strin : Texto a procesar
  • &Numbers : Números encontrados en &strin

Ejemplo

&Numbers  = OnlyNumbers( "MI CI ES 1.223.444/6")

Resultado:
&Numbers = "12234446"

Volver al inicio

OnlyPhoneChars

Propósito
Retorna los caracteres válidos para un teléfono desde una cadena de caracteres.

Sintaxis
OnlyPhoneChars( Character-in:&strin, Character-out:&Numbers)

  • &strin : Texto a procesar
  • &Numbers : Números encontrados en &strin

Ejemplo

&Numbers  = OnlyPhoneChars( "MI CI ES +1.223.444/6")

Resultado:
&Numbers = "+12234446"

Volver al inicio

Repeat

Propósito
Repite una secuencia de caracteres N veces.

Es una extensión de la función "Space" que repetía N veces un espacio.

Sintaxis
Repeat( Character-in:&Sequence, Numeric-in:&RepeatTimes, Character-out:&TextOut)

  • &Sequence: Secuencia de caracteres a repetir
  • &RepeatTimes: Número de veces para repetir la secuencia

Retorno:

&TextOut : Cadena de caracteres con la secuencia repetida.

Ejemplo

&TextOut = Repeat ( "abc.", 3)

Resultado:
&TextOut = "abc.abc.abc."

Volver al inicio

ValidChars

Propósito
Extrae los un conjunto de caracteres de un texto determinado.

Sintaxis
ValidChars( Character-in:&group, Character-in:&textin, Character-out:&validchars)

  • &group: Conjunto de caracteres a extraer
  • &textin: Texto a revisar

Retorno:

&validchars : Caracteres extraídos de &textin

Ejemplo

&validchars = ValidChars( "aeiou", "esto es una prueba")

Resultado:
&validchars = "eoeuauea"

Volver al inicio

PasswordGenerate

Propósito
Genera una contraseña aleatoria según parámetros.

Sintaxis
ValidChars( Character-in:&group, Character-in:&textin, Character-out:&validchars)

  • &Length: Largo
  • &HasLetters: Contiene letras
  • &HasNumbers: Contiene números
  • &ExtraAlphabet: Cadena con caracteres extras del usuairo
  • &IsCaseSensitive: Genera contraseña con mayúsculas y minúsculas

Retorno:

&Password : Contraseña generada

Ejemplo

&Password = PasswordGenerate( 5, true, true, '', true)

Resultado:
&Password = "AeiO5"

Volver al inicio