OpenOffice.org/Macro/BASIC/Strings
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
Declaração
editarUma 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
editarA 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
editarUnicode para String
editarA 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
editarA função inversa de Chr é Asc, que opera sobre o primeiro caracter da string, retornando seu código Unicode[2]
Substrings
editarPara mais detalhes e outras funções, ver a documentação[2]
Referências
editarVer também
editar- Introdução à programação/Strings - conceitos