sábado, 23 de maio de 2009

Evento Online - Webinar: .NET Development with Delphi Prism



O evento será online às 15h00 do dia 26/05/2009 - Fuso horário: (GMT-03:00) Brasilia) em Inglês.

Clique aqui para se registrar

Take Care

domingo, 17 de maio de 2009

Pai do Delphi e da Plataforma .Net




Salve, salve, Bom, abaixo, algumas imagens do criador do Delphi e da plataforma .Net e linguagem C#.

Anders Heijsberg nasceu em Copenhagen, Dinamarca. Graduou-se na Universidade Técnica da Dinamarca.

Em 1980, Hejlsberg escreveu compiladores para a empresa Nascon Microcomputer, onde desenvolveu o
compilador Pascal, Blue Label Pascal. Quando trabalhou na Borland de 1989 até 1996, desenvolveu o
Turbo Pascal e a Linguagem Delphi. Virou engenheiro chefe da Borland.

Em 1996, deixou a Borland e foi para a Microsoft. Sua primeira criação foi a J++. Ganhou muito
reconhecimento pelo desenvolvimento da linguagem C# em 2000. Pode-se dizer que foi o principal
desenvolvedor da plataforma .NET.

Dica Delphi - Validando CGC

// Adicione a unit SysUtils

function cgc(num: string): boolean;
var
n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12: integer;
d1,d2: integer;
digitado, calculado: string;
begin

n1:=StrToInt(num[1]);
n2:=StrToInt(num[2]);
n3:=StrToInt(num[3]);
n4:=StrToInt(num[4]);
n5:=StrToInt(num[5]);
n6:=StrToInt(num[6]);
n7:=StrToInt(num[7]);
n8:=StrToInt(num[8]);
n9:=StrToInt(num[9]);
n10:=StrToInt(num[10]);
n11:=StrToInt(num[11]);
n12:=StrToInt(num[12]);
d1:=n12*2+n11*3+n10*4+n9*5+n8*6+n7*7+n6*8+n5*9+n4*2+n3*3+n2*4+n1*5;
d1:=11-(d1 mod 11);
if d1>=10 then d1:=0;
d2:=d1*2+n12*3+n11*4+n10*5+n9*6+n8*7+n7*8+n6*9+n5*2+n4*3+n3*4+n2*5+n1*6;
d2:=11-(d2 mod 11);
if d2>=10 then d2:=0;
calculado:=inttostr(d1)+inttostr(d2);
digitado:=num[13]+num[14];
if calculado=digitado then
cgc:=true
else
cgc:=false;
end;

Dica Delphi - Validando CPF

// Adicione a unit SysUtils

function cpf(num: string): boolean;
var
n1,n2,n3,n4,n5,n6,n7,n8,n9: integer;
d1,d2: integer;
digitado, calculado: string;
begin

n1:=StrToInt(num[1]);
n2:=StrToInt(num[2]);
n3:=StrToInt(num[3]);
n4:=StrToInt(num[4]);
n5:=StrToInt(num[5]);
n6:=StrToInt(num[6]);
n7:=StrToInt(num[7]);
n8:=StrToInt(num[8]);
n9:=StrToInt(num[9]);
d1:=n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;
d1:=11-(d1 mod 11);
if d1>=10 then
d1:=0;
d2:=d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;
d2:=11-(d2 mod 11);
if d2>=10 then
d2:=0;
calculado:=inttostr(d1)+inttostr(d2);
digitado:=num[10]+num[11];
if calculado=digitado then
cpf:=true
else
cpf:=false;
end;

Dica Delphi - Convertendo valor Hexadecimal para Inteiro

function HexToInt(const HexStr: string): longint;
var
x: integer;
cTmp: Char;
begin
Result := 0;
for x := 1 to Length(HexStr) do
begin
cTmp := HexStr[x];
case cTmp of
'0'..'9': Result := 16 * Result + (Ord(cTmp) - $30);
'A'..'F': Result := 16 * Result + (Ord(cTmp) - $37);
'a'..'f': Result := 16 * Result + (Ord(cTmp) - $57);
else
raise EConvertError.Create('Illegal character in hex string');
end;
end;
end;

Dica Delphi - Verificando se um diretório existe

Inclua na seção uses: FileCtrl, Dialogs

if DirectoryExists('C:\MEUSDOCS') then
ShowMessage('O diretório existe')
else
ShowMessage('O diretório não existe');