-
Iniciando o Código
Nesta seção, você
começará a ver o código Delphi o suficiente para iniciar.
É Claro, realmente não existe substituto para o estudo. De
qualquer maneira, existe similaridades entre o Object Pascal e o Visual
Basic que pequenas notas deverão ser suficientes para você
começar. Outros elementos da linguagem serão cobertos mais
tarde este capítulo.
Variáveis
Enquanto o uso das chamadas "variáveis
automáticas" em BASIC é considerado risco e inseguro, em
Delphi todas as variáveis devem ser explicitamente declaradas. Isso
equivale ao uso da clausula Option Explicit em VB.
Para criar variáveis em uma
procedure, você precisa criar uma clausula var na sua procedure
onde elas serão declaradas. Declarão de variáveis
tem a seguinte forma:
Nome:Tipo;
onde Nome é o nome da variável
e o Tipo é o tipo da variável. Os dois pontos tomam o lugar
da palavra chave As no VB. O resultado em uma procedure deve ser
parecido com isso:
procedure TfrmMain.Button2Click(Sender:
TObject);
var
i:Integer;
s,z:string;
begin
end;
Como você pode ver, é
possível criar variáveis do mesmo tipo simplesmente separando-as
com vírgulas.
Com a exceção do currency,
todos os tipos de dados do Visual Basic estão disponíveis
em Delphi como mostra a tabela abaixo:
VB |
Delphi |
Integer |
Integer |
Long |
LongInt |
Single |
Single |
Double |
Double |
String |
String, huge string |
Variant |
Variant |
Variáveis declaradas na seção
var de uma procedure são variáveis locais para a procedure.
Existem, é claro, vários tipos de dados disponíveis
no Delphi, que não existem em VB como o boolean, char e byte.
Blocos de Código
Algo que será realmente novidade
no código Object Pascal é que todos blocos de código
são rodeados por begin e end. Este é o motivo
pelo qual todas as procedures event handler geradas pelo Delphi tem seções
begin..end. Esta é a principal parte executável da
sua procedure. Se existir uma seção var, ela deve
começar antes do begin.
Em adição ao begin
e o end envolta do código da procedure, deverão existir
vários códigos de bloco dentro da procedure, que irão
requerer os pares begin e end. Um bom exemplo disso é
a cláusula if. Suponha que você deseja criar um form
com vários botões e um checkbox que determine quais botões
estarão visíveis. O evento OnClick do checkbox deverá
parecer com o código abaixo:
procedure TForm1.chkShowClick(Sender:
TObject);
begin
if chkShow.State = cbChecked
then
begin
Button1.Visible := True;
Button2.Visible := True;
Button3.Visible := True;
end
else
begin
Button1.Visible := False;
Button2.Visible := False;
Button3.Visible := False;
end;
end;
Não se preocupe muito com
a estrutura da cláusula if neste ponto mas perceba que existem
dois blocos de código, cada um cercado por um par de begin
e end.
Você deverá saber também
que o Delphi usa um ponto e vírgula para definir o fim de uma declaração,
preferivelmente no final de cada linha. Contudo, você deve quebrar
a linha sempre que achar que o código ficará mais legível.
Por exemplo, vindo do Visual Basic, você poderá achar mais
confortável ver uma cláusula if desta forma:
if chkShow.State = cbChecked
then begin
Button1.Visible := True;
Button2.Visible := True;
Button3.Visible := True;
end;
Com você deve imaginar, um
bloco de código é definido como mais de uma linha de código
juntas. Portanto, uma linha simples de código com a declaração
if não requer o uso do bloco begin..end. Em outras
palavras, o código a seguir é perfeitamente válido,
porque somente uma linha de código precisa ser executada::
if chkShow.State = cbChecked
then Button1.Visible := True;
Lembrar de envolver os blocos de
código entre pares begin..end será um dos maiores
desafios quando mudar do VB para o Delphi.
Atribuição
Como você já deve saber,
o operador de atribuição em Delphi é o sinal :=.
Isso o distingue do operador de comparação o qual é
simplesmente o sinal =. Esta é a mesma distinção
dos operadores = e o == em C. Conseqüentemente, o código
para ligar os botões mencionados anteriormente deve parecer algo
como:
procedure TForm1.chkShowClick(Sender:
TObject);
begin
Button1.Visible := chkShow.State
= cbChecked;
Button2.Visible := chkShow.State
= cbChecked;
Button3.Visible := chkShow.State
= cbChecked;
end;
Onde chkShow.State = cbChecked é
uma expressão boleana, o qual o resultado é atribuido para
a propriedade boleana Visible.
Nota em Delphi, você
define strings em aspas simples, e não aspas duplas como em VB.
Por essa razão, para fazer uma atribuição para a propriedade
caption de um form, você deverá fazer somente o seguinte:
Form1.Caption := 'Hello World!';
Documentando seu código
Isso é apropriado mencionar
o tópico de comentários antecipadamente em qualquer ambiente
de desenvolvimento. Em Delphi você cria um comentário cercando
o texto por chaves. Abaixo, um exemplo de comentário:
{Este é um comentário}
{Este é um exemplo de
Comentário multi-linhas}
O equivalente a ' para uma linha
simples de comentário em VB é // em Delphi como é
também em C.
//Este é um comentário
//Esta linha de código faz....