Curso de Basic
Operações em String


  As seguintes funções realizam operações em string:


  ASC(string)

  Fornece o código ASCII do primeiro caractere de um string.

  Exemplo:
PRINT ASC("A") 
65
Ok


  CHR$(código ascii)

  Retorna o caractere correspondente ao código ASCII fornecido.

  Exemplo:
PRINT CHR$(65) 
A
Ok


  INSTR([n,] string, string_a_buscar)

  Localiza um string dentro de outra string. Quando n é fornecido, avança n caracteres na string.
  O valor retornado é a posição dentro da string.

  Exemplo:
P=INSTR("Rio de Janeiro","de") 
PRINT"Posição encontrada:";P 
Posição encontrada: 5
Ok


  LEFT$(string, n)

  Retorna n caracteres de uma string, começando pela esquerda.

  Exemplo:
PRINT LEFT$("MarMSX", 3) 
Mar
Ok


  LEN(string)

  Retorna o comprimento de uma string.

  Exemplo:
PRINT LEN("MarMSX") 
6
Ok


  MID$(string, m[, n])

  Retorna uma parte da string. O valor m indica a posição de inicio, enquanto que n indica o comprimento. Se n for omitido, retorna de m até o final.

  Exemplo:
PRINT MID$("MarMSX", 4, 2) 
MS
Ok


  MID$(string, m[, n]) = string_nova

  Substitui uma parte da string pela string_nova.

  Exemplo:
A$="MarMSX"
MID$(A$, 4, 2)="AA" 
PRINT A$ 
MarAAX
Ok


  RIGHT$(string, n)

  Retorna n caracteres de uma string, começando pela direita.

  Exemplo:
PRINT RIGHT$("MarMSX", 3) 
MSX
Ok


  SPACE$(n)

  Obtém uma string com o número de espaços em branco definido por n.

  Exemplo:
A$ = SPACE$(10) 
Ok


  SPC(n) e TAB(n)

  Ambos avançam n espaços em branco no texto.

  Exemplo:
PRINT TAB(3) + "Mar" 
   Mar
Ok


  STR$(n)

  Converte um número em string.

  Exemplo:
PRINT STR$(25) 
25
Ok


  STRING$(n, caractere)

  Repete o caractere n vezes. O caractere pode ser no formato string ou o código ASCII do caractere.

  Exemplo:
PRINT STRING$(5,"F") 
FFFFF
Ok

PRINT STRING$(5,65) 
AAAAA
Ok


  VAL(string)

  Converte uma string em número.

  Exemplo:
PRINT VAL("25") 
25
Ok


  VARPTR(variável)

  Obtém o endereço de memória que está localizado o dado de uma variável.

  Exemplo:
10 DEFINT A
20 A=5
30 E=VARPTR(A)
40 PRINT "Valor da variável:";A
50 PRINT "Endereço do dado: &H";HEX$(E)
60 PRINT "Valor contido na memória:";PEEK(E)
70 POKE E,15
80 PRINT "Novo valor da variável A, após modificar memória:";A

run 
Valor da variável: 5
Endereço do dado: &H80D7
Valor contido na memória: 5
Novo valor da variável A, após modificar memória: 15
Ok


  Um exemplo de letreiro corrido

  o exemplo a seguir, simula no MSX aqueles letreiros eletrônicos utilizados em propaganda, onde a mensagem é passada da direita para a esquerda.
10 SCREEN 0:WIDTH 40:COLOR 15,1,1:KEY OFF
20 A$=SPACE$(20)+"O MSX possui 16 cores simultâneas "
30 FOR F=1 TO LEN(A$)
40 LOCATE 10,10
50 PRINT MID$(A$,1,20)
60 A$ = MID$(A$,2) + LEFT$(A$,1)
70 FOR T=1 TO 50 : NEXT T
80 NEXT F



MARMSX/CURSOS/Basic