Vamos para o segundo texto da série Sistema dosvox - de dentro para fora.


Hoje, vamos ver comandos úteis e como  manipular strings.


*

[0]Índice
1. Comandos úteis:
1.1 Função inttostr;
1.2 Função strtoint;
1.3 Comando Sintsoletra;
1.4 Comando uppercase;

2. Manipulação de strings:
2.1 Editando uma string;
2.2 Obtendo o tamanho de uma string;
2.3 Copiando ou destacando parte de uma string;

[1] Comandos úteis:
[1.1] Função inttostr.
Comando para fazer com que variáveis string recebam valores de
variáveis integer. Por exemplo:
Var a:string;
     B:integer;

Sempre que desejamos atribuir valor a uma variável, usamos := (dois 
pontos igual)
como vemos logo abaixo:
B:=500;
Variável b recebe o valor 500.

Até aqui, a variável b, do tipo inteiro, recebeu o valor 500 que é inteiro.
Agora, vamos atribuir a variável a, que é string, um valor inteiro.

Para isso, vamos usar a função inttostr:
A:=IntToSTR(b);
A variável a continua sendo string, mas recebeu um valor inteiro que foi 
convertido.

[1.2] Função strtoint:
Faz exatamente o inverso do IntToSTR. Possibilita uma variável
do tipo integer receber o valor de uma string, desde que este valor seja
composto por algarismos. Por exemplo:
Var A:string;
     B:integer;
A:='99';
b:=StrToINT (a);
     No caso, B, que é uma integer, passa a receber o valor 99, que estava
como caracter alfanumérico na variável A, que é uma string. Porém, se a
variável A abrigasse valores que não fossem algarismos, como letras,
sinais, etc, o comando StrToInt seria executado com erros.

[1.3] Comando sintsoletra.
Soletra o conteúdo de uma variável string. Por exemplo:
S:='programa';
SintSoletra (s);
O programa vai dizer: p r o g r a m a.
Também podemos passar o valor diretamente para a função, assim:
SintSoletra ('programa');
Pois o que importa é o conteúdo. Como é uma string, pode ser uma
variável ou um conteúdo entre apóstrofo.

A função sintsoletra faz parte da unit dvwin do sistema dosvox.

[1.4] Comando Uppercase.
Transforma Caracteres minúsculos em maiúsculos, em uma
variável string. Por exemplo:
S:='Delphi';
S:=Uppercase (s);
O conteúdo de S será 'DELPHI', tudo maiúsculo.
Repare que a letra D, primeiro caractere
da variável, que já era maiúscula, não foi alterada.

[2] Manipulação de Strings
[2.1] Editando uma string.
     Como já foi visto, uma variável string é aquela que aceita valores
numéricos, alfa-numéricos, sinais, pontuação, etc. É possível armazenar,
em uma string, qualquer caractere, diferente de uma integer, que só
aceita números. Porém, por inúmeras vezes, se faz necessário editar,
alterar ou apenas verificar, uma única posição de uma string, sem
alterá-la por completo. Por exemplo: Na variável S, cujo conteúdo é
'Delphi', a terceira posição da variável é a letra l. Podemos
especificar isso através do número da posição entre colchetes. Vejamos:
S:='Delphi';
Writeln (s[3]);
Será exibida na tela, apenas a letra l, que é a terceira posição da
palavra Delphi, pois especifiquei o número 3 entre colchetes. Isso
também pode ser usado para alterar valores, por exemplo:
S:='Cada';
S[1]:='N';
Transformei a palavra 'cada' na palavra 'nada', pois substitui o C, que
estava na posição 1, para um N.

[2.2] Obtendo o tamanho de uma string:
Para obtermos o tamanho de uma string, usamos a função Length.
Veja o exemplo:

var s : string;
i : integer;
s:='Delphi';
i:=length(s);
SintWriteLn ('A palavra '+s+' tem '+inttostr(i)+' caracteres');
     O conjunto de comandos acima atribui a palavra 'Delphi' na variável
S e mostra quantos caracteres possui esta palavra, que no caso, são 6.
A última linha do exemplo,
faz a conversão diretamente para string, ou seja, não foi preciso declarar
outra string e usar a função inttostr para armazenar o valor nessa variável.

[2.3] Copiando ou destacando parte de uma string:
Podemos copiar ou destacar parte de uma string usando o comando copy.
  Suponhamos que queremos exibir, por exemplo, apenas a segunda, 
terceira e quarta
posição da variável. Então usamos:
SintWriteln (copy (s, 2, 3);
A função copy recebe 3 parâmetros:
O primeiro é a variável onde está o conteúdo que desejo pegar.
O segundo é o trecho inicial de onde quero pegar o conteúdo.
E o último é quantas posições, contando com a inicial, eu desejo pegar.
Então, no exemplo acima, eu digo que desejo pegar da variável s, do 
caractere 2, e a partir dele, quero pegar 3 caracteres.

Ou seja: Exiba a variável S, porém, apenas do caractere 2 ao 4. No caso
da palavra 'Delphi', será exibido na tela apenas 'elp'.
Para copiarmos o trecho de uma variável para outra, podemos fazer assim:
s2:=copy (s, 2, 3);
Aqui, a variável s2 recebeu as posições 2 3 e 4 da variável s.
Lembrando que, em pascal, a posição inicial é um, diferente de muitas
linguagens,
como c, que a posição inicial é 0.
*
