String (gb)

Essa classe fornece métodos para manipulação de string UTF-8.

Esta classe é estática.

Métodos estáticos
Byte   Este é um sinónimo do método Pos.
Chr   Retorna um caractere Unicode representando o valor especificado, codificado em UTF-8.
Code   Retorna o valor Unicode de um caractere específico dentro de uma string UTF-8.
Comp   Compara duas Strings UTF-8, e retorna:
InStr   Retorna a posição da primeira ocorrência de um Pattern na String.
Index   Retorna o índice do caracter na posição Pos dentro da string.
IsValid   Retorna TRUE se String é uma string UTF-8 válida.
LCase   Retorna uma string UTF-8 convertida para minúsculas.
Left   Retorna o Length dos primeiros caracteres de uma string UTF-8.
Len   Retorna o comprimento em caracteres de uma string UTF-8.
Lower   Este é um sinônimo para o método String.LCase.
Mid   Retorna uma substring contendo o Length caracteres a partir da posição Start.
Pos   Retorna a posição do caracter de índice Index dentro da string.
RInStr   Retorna a posição da última ocorrência do Pattern na String.
Right   Retorna o Length dos últimos caracteres de uma String UTF-8.
UCase   Retorna uma string UTF-8 convertido para maiúsculas.
UCaseFirst   Retorne a string com a seu primeiro caractere convertido para maiúsculo.
Upper   Este é um sinônimo para o método String.UCase.

Tenha cuidado, porque as rotinas de strings padrão do Gambas só lidam com strings ASCII.

Para usar uma string não UTF-8 você deve primeiro convertê-la com Conv$.

Examplo

DIM hFile AS Stream
DIM sOneNonUTF8Line AS String
DIM sUTF8Line as String

' Imprimir um arquivo de texto WINDOWS-1253 para a saída padrão.
hFile = OPEN "/home/ilias/sometextingreekWINDOWS-1253.txt" FOR INPUT

WHILE NOT Eof(hFile)

  LINE INPUT #hFile, sOneNonUTF8Line
  sUTF8Line = Conv$(sOneNonUTF8Line, "WINDOWS-1253", "UTF-8")
  PRINT sUTF8Line

  'alternativamente.
  'LINE INPUT #hFile, sOneNonUTF8Line
  'PRINT Conv$(sOneNonUTF8Line, "WINDOWS-1253", "UTF-8")

WEND

FINALLY ' Sempre executado, mesmo quando um erro é gerado.
  CLOSE #hFile

CATCH ' Executado somente se houver um erro.
  PRINT "Cannot print or read or convert lines from file "; "/home/ilias/sometextingreekWINDOWS-1253.txt"