funciones basic

Discute sobre la aplicación de hojas de cálculo

funciones basic

Notapor ppinedo » Sab Nov 24, 2018 1:20 pm

Hola,estoy programando con Lbreoffice Basic pero no se cuales son las funciones equivalentes a sustituir y reemplazar(en código) de la hoja de calculo ¿Alguien lo sabe?

A1: LibreOffice
A3: =sustituir(A1;"e";3) >> Libr3Offic3

Gracias, saludos:D
XP + AOO 4.0.0 / W10Home + LibOff 5.4
ppinedo
 
Mensajes: 49
Registrado: Jue Feb 23, 2012 1:16 pm

Re: funciones basic

Notapor PepeOooSevilla » Sab Nov 24, 2018 4:20 pm

Hola.
En el apartado "7. String Routines" del libro "OpenOffice.org Macros Explained.odt V4" de Andrew Pitonyak (http://www.pitonyak.org/oo.php) figura una relación de las funciones para el tratamiento de cadenas de caracteres en OOBasic. Este libro junto con Aprendiendo OOo Basic de nuestro compañero mauricio son primordiales para conocer el lenguaje Basic de OpenOffice/LibreOffice.

Para el caso que nos ocupa la función que necesitas es Replace(strng, find, rpl, start, Count, mode) (como mi inglés no es bueno me ayudo del traductor de Google :lol: ):
Andrew Pitonyak escribió:But wait, there is an undocumented statement Replace(strng, find, rpl, start, Count, mode), which finds all occurrences of find and replaces them with rpl. The last three arguments are optional.
The start value indicates what part of the string to return, not where to start replace. A value of one for the start value returns all of the characters. A start value of three ignores the first two characters in the return string.
The count indicates the maximum number of times to replace the found text. A value of -1 replaces all values.
A mode value of 1, the default, indicates a case-insensitive compare is used to find matching text. A mode value of 0 causes a case-sensitive compare.

Traductor de Google escribió:Pero espere, hay una declaración no documentada Reemplazar (strng, find, rpl, start, Count, mode), que encuentra todas las apariciones de find y las reemplaza por rpl. Los últimos tres argumentos son opcionales.
El valor de inicio indica qué parte de la cadena devolver, no dónde comenzar a reemplazar. Un valor de uno para el valor de inicio devuelve todos los caracteres. Un valor de inicio de tres ignora los dos primeros caracteres de la cadena de retorno.
El conteo indica el número máximo de veces para reemplazar el texto encontrado. Un valor de -1 reemplaza todos los valores.
Un valor de modo de 1, el valor predeterminado, indica que se utiliza una comparación entre mayúsculas y minúsculas para encontrar el texto coincidente. Un valor de modo de 0 causa una comparación entre mayúsculas y minúsculas.


Si trabajas con una versión antigua de OpenOffice/LibreOffice puede que el intérprete Basic no reconozca la función Replace(), en tal caso puedes utilizar el código siguiente de la página Strings (OpenOffice.org BASIC Runtime Library)

Código: Seleccionar todo   Expandir vistaContraer vista
Function Replace(Source As String, Search As String, NewPart As String) As String
   Dim Result As String
   Dim StartPos As Long
   Dim CurrentPos As Long
   
   Result = ""
   StartPos = 1
   CurrentPos = 1
   
   If Search = "" Then
   Result = Source
   Else
   Do While CurrentPos <> 0
      CurrentPos = InStr(StartPos, Source, Search)
      If CurrentPos <> 0 Then
      Result = Result + Mid(Source, StartPos, _
      CurrentPos - StartPos)
      Result = Result + NewPart
      StartPos = CurrentPos + Len(Search)
      Else
      Result = Result + Mid(Source, StartPos, Len(Source))
      End If                ' Position <> 0
   Loop
   End If
   
   Replace = Result
End Function

Saludos cordiales.
LibreOffice 6.0.7 (estable) en Windows 7 / 10
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Avatar de Usuario
PepeOooSevilla
 
Mensajes: 969
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados