Poll

Navegador predeterminado de ALDOS

¿Cuál debe ser el navegador predeterminado en ALDOS?

  •  Firefox (opción actual)
  •  Qupzilla
  •  Otter Browser
  •  Seamonkey
  •  Chromium

Resultados
Other polls | 1,466 voters | 1 comentarios

Conectados...

Usuarios invitados: 617

Bienvenido(a) a Alcance Libre 05/09/2025, 19:59

Funciones que devuelven matrices en LibreOffice.

Continuando con nuestro artículos acerca de funciones personalizadas para LibreOffice y OpenOffice.org, ahora vemos como devolver una matriz.

Las funciones personalizadas, también pueden devolver matrices, como en el siguiente ejemplo.

Option Explicit

Function DatosTexto( Cadena As String )
Dim sLetra As String
Dim co1 As Integer, co2 As Integer, co3 As Integer
Dim mDatos(2)
   
    For co1 = 1 To Len(Cadena)
        sLetra = LCase(Mid(Cadena,co1,1))
        If InStr(1,"aeiouáéíóú",sLetra) Then
            co2 = co2 + 1   
        ElseIf InStr(1," ?¿¡!.,:;",sLetra) Then
            co3 = co3 + 1
        End If
    Next
   
    mDatos(0) = co2
    mDatos(1) = Len(Cadena)-co2-co3
    mDatos(2) = co3
   
    DatosTexto = mDatos

End Function 


Pero al usarla en la hoja de calculo, tenemos que introducirlas como una función matricial, esto se logra presionando la combinación de teclas CTRL+SHIFT+ENTER. Observa las llaves que encierran a la función en la barra de formulas.
Las funciones personalizadas que devuelven matrices son utiles para, entre otros casos, cuando a partir de unos pocos valores iniciales podemos obtener mucha información, por ejemplo, a partir del radio de un círculo, podemos obtener su diámetro, perímetro y área, con la siguiente función

Option Explicit

Function DatosCirculo( Radio As Single )
Dim mDatos(2)
Const PI As Double = 3.14159

    mDatos(0) = Radio * 2
    mDatos(1) = Radio * 2 * PI
    mDatos(2) = PI * (Radio^2)
   
    DatosCirculo = mDatos
   
End Function

Y el resultado:

Como ves, no puede ser más sencillo.

¡Feliz programación!

Seguimiento

TURL de seguimiento para esta entrada:
https://blog.alcancelibre.org/trackback.php/20110804085214200

Los siguientes comentarios son de la persona que los haya enviado. Este sitio no se hace responsable de las opiniones expresadas por los participantes en los foros y secciones de comentarios, y el hecho de publicar las mismas no significa que esté de acuerdo con ellas.

Comments are closed and no new posts are allowed.