Delphi - Noções básicas
Importante: O presente tutorial precisa de ser expandido, pois está muito incompleto.
Delphi é uma linguagem derivada da linguagem estruturada Pascal. É também conhecida geralmente por Object Pascal pois pode-se dizer que é a versão do Pascal que é orientada aos objectos, e que possibilita a implementação gráfica de aplicações (uso de GUI). Contudo, as grandes bases do Delphi são exactamente iguais às do Pascal — a única diferença reside nas bibliotecas extra existentes, como a sysutils, que permite criar classes (um dos conceitos OOP), por exemplo.
Hoje em dia, o Pascal evoluiu segundo o Delphi, existindo já IDEs que suportam ao mesmo tempo Pascal e Delphi, tanto que, quando se tomam conhecimentos nas duas linguagens, podemos estar a programar a pensar que é em Pascal e no final acabámos por aplicar princípios de Delphi.
Para se iniciar em Delphi, em suma, será crucial tocar no Pascal. Por isso, sugere-se a leitura de um Tutorial de Pascal para se entender antes de mais a estruturação da linguagem.
Exemplo de Programa em Object Pascal
O presente programa, não comentado, recorre a um princípio muito básico do OOP: as classes.
program exemplo_object_pascal;
uses crt, sysutils;
type tipo_oper = class
function soma(a,b:real):real;
function subtraccao(a,b:real):real;
function multiplicacao(a,b:real):real;
function divisao(a,b:real):real;
end;
var operacoes : tipo_oper;
valor1, valor2 : real;
function tipo_oper.soma(a,b:real):real;
begin
soma := a+b;
end;
function tipo_oper.subtraccao(a,b:real):real;
begin
subtraccao := a-b;
end;
function tipo_oper.multiplicacao(a,b:real):real;
begin
multiplicacao := a*b;
end;
function tipo_oper.divisao(a,b:real):real;
begin
if not (b=0) then divisao := a/b
else begin
write('Erro! ');
divisao := 0;
end;
end;
begin (* MAIN *)
operacoes.create();
write('Valor 1: '); readln(valor1);
write('Valor 2: '); readln(valor2);
writeln;
with operacoes do begin
writeln('Soma: ',soma(valor1,valor2):0:3);
writeln('Subtraccao: ',subtraccao(valor1,valor2):0:3);
writeln('Multiplicacao: ',multiplicacao(valor1,valor2):0:3);
writeln('Divisao: ',divisao(valor1,valor2):0:3);
end;
readkey;
end.