Você está na página 1de 38

Observações Delphi - Aula 01

Tipos de Dados
- Se for armazenar número inteiro que terão que ser somente números positivos, utilizar o tipo
de dados inteiro = Word ou Cardinal (65535).

- Dados Real trabalham com números Fracionados.

- Os “Real” podem ser inteiros ou fracionados.


- Em tipos de dados lógico geralmente é utilizado o tipo Boolean.
Variáveis

Operadores de Atribuição

- Sinal de “:=” significa “recebe” ou “atribui a”.


Operadores Aritméticos

- DIV Exemplo: 10/3 vai ser igual a 3.

- MOD Exemplo: 10/3 vai ser igual a 1. Pois 10/3 dá 3 e sobra 1, ou seja o MOD exibe o resto da
divisão.
Operadores Booleanos
--

- Na condição And, pode se utilizar o exemplo: Se você vai a uma festa onde você tem que
levar os seus documentos e ser maior de 18 anos. Estas 2 condições tem de ser verdadeiras
para entrar. Não adianta Levar os documentos e não ser maior de 18.

Operadores Relacionais
Comandos de Sequencia

- O Trunc somente retorna a parte inteira. Ex.: trunc 7,9 = 7.

- O Round arredonda um numero fracionado. Ex.: round 7,9 = 8.

- Lenght. Ex.: lenght (casa) = 4.

Comando If… Then


- Begin e End são utilizados dentro do If quando é preciso executar um bloco de
comandos.
Comando Case
Comando While
Comando Repeat... Until
- No Repeat ele vai executar o comando até que a condição se torne verdadeira.

- No While ele repete o comando até a condição ser falsa.

Comando For Do
- A grande diferença do comando For para o comando While e o Repeat é que estes 2
dependem de uma condição para ser executados. Já no comando For independe da
condição.

Exercício com Atribuição 01


- Desta forma quando clicar no Botão, o conteúdo do Edit 1 vai ser repetido no Edit2.

- O Componente edit2 com a propriedade text vai receber o conteúdo da propriedade text
do edit1.

Exercício com Aritméticos


Vai ser informado um numero do Edit1 e outro no Edit2 e o total aparecerá no Edit3.
Como o Edit3 vai receber a informação digitar o seguinte:

Se eu colocar o numero 4 no edit1 e o numero 5 no Edit2, ao clicar no botão, aparecerá no


edit3 o valor “45”. Isso acontece porque o edit1 e o edit2 são strings e não números.

Para que some os 2 valores eu vou precisa converter os valores para inteiro.

Cria-se as variáveis do tipo inteiro como no exemplo e converte-se os dados recebidos:


Neste próximo Exercício vai ser feita uma equação de 2º grau:

- Foram acrescentados 7 Edits, e foi alterada a propriedade name de todos eles para edtA,
edtB, edtC, edtDelta, edtX1, edtX2 e edtResult.

- Foram feitas as seguintes verificações:

a) Não pode ser digitado nenhum valor igual a 0 (zero).

b) Não podem ser deixados nenhum dos campos A, B ou C em brancos.

c) Se Delta for maior que 0, exibir “Duas Raizes reais e diferentes”.

d) Se Delta for igual a 0, exibir “Duas Raizes iguais e reais”, senão, exibir “Não existe
raízes reais.
Exercício Tabuada

Para a tabuada foi inserido em um novo form os componentes Memo, Label, Edit e Button.
Quando você clica no objeto Memo na tela e vai na paleta de propriedades dele, existe um
campo Lines, lá você pode adicionar ou eliminar texto dentro desta Janela.

Abaixo, criamos uma variável chamada “i” do tipo inteira.

Limpamos todo o conteúdo do Memo, senão ele sempre ira imprimir após o último texto
dentro dele.

Criamos um For que diz, para “i” recebe de 1 até 10 e faça: Adiciona linhas dentro do memo1,
exibindo o conteúdo do edit1, que é o número que você vai digitar, imprime na tela o “X” e
converte o Inteiro para String que tiver dentro da variável “i”.
No exemplo abaixo é digitado 5 e clicado no botão Button e ele imprime:

Para fazer a multiplicação basta digitar este código:

Lembrando que strtoint(edit1.text) é preciso converter este texto em número para multiplicar
por “i” que é inteiro, pois não é possível multiplicar texto por número.
É preciso converter o inteiro em string para inserir dentro de um memo, pois o memo somente
aceita String. Por isso o exemplo:

inttostr (strtoint(edit1.text)* i))

Primeiro ele vai pegar o edit1.text e transformar em inteiro, após vai multiplicar por “i” e o
valor que der ele vai converter novamente para String para por fim ser exibido dentro do
memo.

Por fim, pode-se tirar o Begin e o End do For, já que somente tem 1 instrução:

Abaixo segue exemplo com o While:


Abaixo um exemplo utilizando o Repeat:

O “i” é igual a 1.
Em seguida ele vai repetir toda a linha de comando até “i” for igual a 11.

Array – Vetores e Matrizes


Registros – Type – Record
Observações:

- No exercício de Cadastro de Notas, foi inserido na linha de código o comando “with aluno
do”, isso faz com que você não precise cada vez especificar a palavra aluno.cod, e assim por
diante nas suas linhas de programação, tudo isso server pra “enxugar” o código fonte.

- Também foi utilizado o comando val(), ele transforma um valor string em inteiro e retorna
um código, se esse código for igual a 0 é porque deu tudo certo. Senão, significa que algum
erro ocorreu durante a conversão. Neste exemplo: val(edit2.text, nota01,cod) ele vai pegar o
valor digitado dentro de Edit2 convertê-lo em inteiro e cadastrar dentro da variável Nota01 e
retorna o Cod.

- No exercício 2, ao invés de utilizar nota1, nota2, nota3, nota4 do tipo real, foi criada uma
array Bimestre do tipo real com valores de 1 à 4. Ex: bimestre array [1..4] of real.

- No Exercício de Procedimentos, pode-se ver como é pratico criar um procedimento e aplica-


lo a botões por exemplo, no exercício é uma simples mensagem, mas você pode colocar um
calculo em um procedimento criado chamado calculo, e aplicar esse procedimento para todos
os units inserindo em um botão por exemplo. Clicando-se no botão, chamará o procedimento
e dessa forma não precisará refazer o cálculo diversas vezes dentro do seu desenvolvimento.

- No exercício anterior foi criado abaixo de Public um comando chamado published, isso faz
com que aquele procedimento passe a ser visualizado no object inspector, no evento OnClick
por exemplo:

- A diferença entre procedimento e função é que no procedimento você não retorna nenhum
valor, ele pode modificar propriedades, modificar valores mas de forma alguma retorna um
valor, já na função ela também pode modificar propriedades de componentes, valores, mas ela
obrigatoriamente tem que retornar um valor.

- Toda vez que você declarar uma função você tem que informar o result.

Procedimento Exit

- Força a saída de um procedimento ou de uma função.

Veja o exemplo abaixo:


Foi criado um botão e um edit na tela, quando clicamos no botão ele imprime na tela o valor
do Edit1.
Se o Edit1 estiver vazio, exibe uma mensagem e sai. Se não colocarmos o exit, ele exibirá a
mensagem de campo vazio e quando clicarmos em OK, exibirá outra Caixa de mensagem vazio
com um botão de OK. Por isso a importância de colocarmos o Exit no código, assim ele termina
o procedimento anterior.

Procedimento STR

- O procedimento str converte uma expressão numérica em String.

Exemplo:
Neste exemplo podemos ver o erro que ocorreu pelo fato de eu criar uma variável x do tipo
inteira, dizer que x é igual a 10 e tentei colocar este valor dentro do edit1, não consigo porque
o X é inteiro e o Edit1 é String(texto). Por isso temos que converter com o str.
Str(x,a) significa que o x é o primeiro parâmetro que eu quero converter e o “a” é a variável
que vai receber o valor convertido.

Função POS

A Função POS percorre uma string e retorna para nós a posição da primeira ocorrência do
conjunto de caracteres que passamos como parâmetro. Se ele encontrar ele retorna para nós
a posição, se ele não encontrar ele retorna “0”.

Exemplo:

Informei uma variável a do tipo inteira e disse que ela recebe o POS, procurando o que eu
digitar no Edit2 dentro do edit1. Se o que ele encontrar for maior que “0”então ele exibe a
localização de “a” convertido pra string pois vai ser exibido dentro do edit, senão, ele diz que
não foi encontrado.

Função DELETE

Deleta uma quantidade de caracteres a partir de uma posição que foi determinada e de um
tamanho que foi passado como parâmetro.

Sintaxe exemplo: delete(texto,1,3);

Onde, delete é o comando, “texto” é de onde ele vai excluir, “1” é a partir de que posição ele
vai começar a excluir e “3” é a quantidade de caracteres a ser excluído. Não pode ser delegado
dentro do delete o componente como edit1.text, é preciso criar uma variável do tipo string,
como no exemplo chamada “texto” e dizer que “texto:= edit1.text”.
Vai ficar assim:

Neste próximo exemplo foram utilizadas variáveis para o número “1” de posição inicial e “5”
ou “3” de qtdade de caracteres a serem excluídos. São as variáveis Inicio e Tam. Assim
informamos os números que quisermos e ele deletará.
E fica assim:

Função Insert

O Procedimento Insert insere uma substring dentro de um texto ou um novo texto a partir de
uma posição inicial determinada pelo usuário. Neste exemplo foi utilizada a variável “i” para
ficar mais dinâmico.
A sintaxe do comando é: insert é o comando edit2.text é o texto que vai ser introduzido,
“texto” é onde ele vai ser armazenado e “i” é a partir de que posição ele vai ser dicionado.

Ficando assim:

Função TRIM

A Função TRIM elimina os espaços em brancos no início e no final de um texto qualquer.

Como neste exemplo temos uma função dentro de outra, e o Delphi executa de dentro para
fora: showmessage(inttostr(lenght(trim(edit1.text)))):

Primeiro ele elimina os espaços em branco, depois ele conta e finalmente ele converte.
Utilizando 2 botões, no primeiro ele conta inclusive os espaços em branco, já o segundo
elimina todos os espaços em branco com o TRIM. Ficando assim:

Existe o derivado Left e Right que corta somente espaços a esquerda ou direita.

Função LowerCase
Converte todos os caracteres em Minúsculo.
Exemplo:

Função Uppercase
Converte todos os caracteres e Maiúsculo.

Função StrToIntDef

Esta função também converte um texto em inteiro, a diferença é que se ela encontrar um
caracter fora do conjunto ASCII válidos, então ela retorna o caracter que foi passado como
parâmetro.
Neste Exemplo estamos definindo que se ele não conseguir converter o edit1.text em inteiro
retornará “0” e se for igual a “0” então exibe a mensagem que não pode ser convertido:

Desta forma foi convertido:

Desta forma não foi convertido pois não é possível converter string para string:

Função Format
Com a função format podemos converter valores e coloca-los em um formato padrão.

A Função Format pode conter os seguintes argumentos:

O Format começa sempre entre aspas com o %, o [“-”] significa o ajuste a esquerda, [largura]
especifica a largura opcional, o tipo é obrigatório.

Exemplo: edit1.Text:= format(‘%6.6d’,[1234]): vou pegar o valor 1234 e formatar este valor
para o Edit1. o “d” significa decimal. O segundo 6 significa a precisão. Se o formato de string
contém uma precisão especificada indica que o texto resultante deve conter no mínimo o
número especificador de dígitos. Se o valor tiver menos dígitos, o texto especificado é
complementado com “0”. Então neste exemplo você pode utilizar zeros para complementar à
esquerda.

Ficando assim:

Segue outro exemplo:

edit1.Text:= format(‘%6.6d’,[strtoint(edit1.text)])
Ficando assim:

Digitei 15000, mas como coloquei o valor de precisão de 6, fica 015000. Se eu colocar no edit1
o valor 2, o edit2 exibirá 000002.

Aula 17

Você também pode gostar