Saltar para o conteúdo

OpenOffice.org/Macro/BASIC/Strings

Origem: Wikilivros, livros abertos por um mundo aberto.

Este capítulo faz parte do livro sobre OpenOffice.org, e é um detalhamento do BASIC (OpenOffice.org BASIC) usado nas Macros

Uma String tem duas características:

  • seu tamanho (que pode ser zero ou um número inteiro positivo)
  • seus caracteres

Aqui já começa a ambiguidade: o que é um caracter? Se adotarmos apenas o conjunto ASCII, estamos limitados a 128 caracteres (ou 256), mas se adotarmos o Unicode, então praticamente qualquer coisa pode ser um caracter.

No OpenOffice.org BASIC, as strings tem as seguintes características[1]:

  • seu tamanho é limitado 65536 caracteres
  • os caracteres são Unicode

Uma string é declarada usando-se aspas duplas; um par de aspas duplas dentro da string indicam que aspas duplas fazem parte da string.

Por exemplo, o código abaixo:

  Dim str As String
  str = "Quem mandou você ""pensar""?  Eu não te dou informação suficiente para você pensar!"
  MsgBox str

irá exibir o texto:

  Quem mandou você "pensar"?  Eu não te dou informação suficiente para você pensar!

Concatenação

[editar | editar código-fonte]

A concatenação de strings é feita usando-se & ou usando-se +[2]. A documentação recomenda o uso de & preferencialmente a +[2].

  Dim str As String
  Dim str1 As String
  str = "Hello, " & "World!"
  str1 = "Hello, " + "World!"

Conversão entre Strings e Inteiros

[editar | editar código-fonte]

Unicode para String

[editar | editar código-fonte]

A conversão de um código ASCII ou Unicode para a String (de tamanho um) correspondente é feita pela função Chr[3]. O texto abaixo mostra alguns caracteres japoneses (katakana) sem sentido. &H30A0 é a forma de representar um número hexadecimal[4]:

  Dim str As String
  str = Chr(&H30A1) & Chr(&H30A2) & Chr(&H30A3)
  MsgBox str

Esta função é muito usada para formatar strings com caracteres de controle, por exemplo, incluindo-se quebras de linha (Chr(13))[2]:

  MsgBox "A strange game, Mr Falken!" & Chr(13) & "The only winning move is not to play." &
    Chr(13) & "How about a nice game of chess?"

String para Unicode

[editar | editar código-fonte]

A função inversa de Chr é Asc, que opera sobre o primeiro caracter da string, retornando seu código Unicode[2]

Para mais detalhes e outras funções, ver a documentação[2]

  1. String Variables, site wiki.services.openoffice.org
  2. 2,0 2,1 2,2 2,3 2,4 Operators, site wiki.services.openoffice.org
  3. Strings (OpenOffice.org BASIC Runtime Library), site wiki.services.openoffice.org
  4. Numbers, site wiki.services.openoffice.org
Wikipedia
Wikipedia
A Wikipédia tem mais sobre este assunto:
Strings