SlideShare une entreprise Scribd logo
1  sur  9
Delphi
  Rodrigo Vaccari
rvaccari@gmail.com
     @vaccari
Um pouco de história
•   1995 – Lançamento – 16 bits
•   1996 – Versão 32 bits
•   2001 – Kylix
•   2003 – Delphi 8 .Net
•   2006 – CodeGear
•   2008 – Embarcadero
•   2009 – Prism
•   2011 – Versão 64, Mac, iOS, Cloud, FireMonkey
Curiosidades

• Anders Hejlsberg
  – Criador das linguagens: Delphi, J++, C#
• Lazarus
  – Free e Multiplataforma
• Projeto ACBr
Sobre


•   Visual
•   Orientada a Objetos
•   Orientada a eventos
•   Compilada
Hello
World
Delphi x Java x PHP
            Função em Delphi:
            function dividePorDois(numero: integer): Double;
            var
             resultado: Double;
            begin
             resultado := numero/2;
             Result := resultado;
            end



Função em Java:                                  Função em PHP:
private double dividePorDois(double numero)      private function dividePorDois(numero)
{                                                {
          double resultado = numero/2;                     $resultado = $numero/2;
          return resultado;                                return $resultado;
}                                                }
Classe em Delphi:
type
TNota = class
  private
   FValor: Currency;
                                                  Classes Delphi x Java
  protected
   function GetValor: Currency;
   procedure SetValor(value: Currency);                     Classe em Java:
  public                                                    public class Nota {
   constructor Create(valor: Currency);                                  private double valor;
  published
   property Valor: Currency read GetValor write SetValor;               public Nota(double valor){
 end;                                                                               this.valor = valor;
                                                                        }
implementation
{ TNota }                                                               public void setValor(double valor) {
                                                                                     this.valor = valor;
constructor TNota.Create(valor: Currency);                              }
begin
 FValor := valor;                                                       public double getValor() {
end;                                                                                return valor;
                                                                        }
function TNota.GetValor: Currency;                          }
begin
 Result := FValor;
end;

procedure TNota.SetValor(value: Currency);
begin
 FValor := value;
end;
Sobre testes
DUnit
Presente no Delphi desde a versão 2005



uses
 TestFramework, SysUtils;

type
 TestCalass = class(TTestCase)
  strict private
  public
   procedure SetUp; override;
   procedure TearDown; override;
  published
end;
interface                                 implementation

uses                                      procedure TestTCalculadora.SetUp;
 TestFramework, SysUtils, uCalculadora;   begin
type                                       FCalculadora := TCalculadora.Create;
 TestTCalculadora = class(TTestCase)      end;
 strict private
  FCalculadora: TCalculadora;             procedure TestTCalculadora.TearDown;
 public                                   begin
  procedure SetUp; override;               FCalculadora.Free;
  procedure TearDown; override;            FCalculadora := nil;
 published                                end;
  procedure TestSomar;
 end;                                     procedure TestTCalculadora.TestSomar;
                                          var
                                           ReturnValue: Integer;
                                           valor2: Integer;
                                           valor1: Integer;
                                          begin
                                           valor1 := 2;
                                           valor2 := 2;
                                           ReturnValue := FCalculadora.Somar(valor1, valor2);
                                           CheckEquals(4, ReturnValue, 'Erro ao efetuar a soma');
                                          end;

                                          initialization
                                           // Register any test cases with the test runner
                                           RegisterTest(TestTCalculadora.Suite);

Contenu connexe

En vedette (20)

Bioestimulação de fêmea pelo macho
Bioestimulação de fêmea pelo machoBioestimulação de fêmea pelo macho
Bioestimulação de fêmea pelo macho
 
Puc
PucPuc
Puc
 
Cardápios
CardápiosCardápios
Cardápios
 
Ciganos.pt 6ª edição
Ciganos.pt 6ª ediçãoCiganos.pt 6ª edição
Ciganos.pt 6ª edição
 
Acf x ara
Acf x araAcf x ara
Acf x ara
 
Form Based Code 101
Form Based Code 101Form Based Code 101
Form Based Code 101
 
ApresentaçãO2
ApresentaçãO2ApresentaçãO2
ApresentaçãO2
 
Private banking survey 2013
Private banking survey 2013Private banking survey 2013
Private banking survey 2013
 
A Arte De M C Escher
A Arte De M C EscherA Arte De M C Escher
A Arte De M C Escher
 
Navegando pelo esporte apresentação
Navegando pelo esporte apresentaçãoNavegando pelo esporte apresentação
Navegando pelo esporte apresentação
 
Personalidades de jaraguá
Personalidades de jaraguáPersonalidades de jaraguá
Personalidades de jaraguá
 
Apresentacao tic-educacao-2012
Apresentacao tic-educacao-2012Apresentacao tic-educacao-2012
Apresentacao tic-educacao-2012
 
Recursos Digitais DSA (PDF)
Recursos Digitais DSA (PDF)Recursos Digitais DSA (PDF)
Recursos Digitais DSA (PDF)
 
Bônus vip rogerio turgante
Bônus vip rogerio turganteBônus vip rogerio turgante
Bônus vip rogerio turgante
 
Projeto O Mágico de Inox
Projeto O Mágico de InoxProjeto O Mágico de Inox
Projeto O Mágico de Inox
 
Dr Treacy’s CASEBOOK 'Treating pectus excavatum medically with hyaluronic aci...
Dr Treacy’s CASEBOOK 'Treating pectus excavatum medically with hyaluronic aci...Dr Treacy’s CASEBOOK 'Treating pectus excavatum medically with hyaluronic aci...
Dr Treacy’s CASEBOOK 'Treating pectus excavatum medically with hyaluronic aci...
 
1. análisis de variable
1. análisis de variable1. análisis de variable
1. análisis de variable
 
Cancioneiro galego
Cancioneiro galegoCancioneiro galego
Cancioneiro galego
 
Atividades fábulas
Atividades fábulasAtividades fábulas
Atividades fábulas
 
Biopolimeros
BiopolimerosBiopolimeros
Biopolimeros
 

Similaire à Dojo tuba delphi

Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010rafaelferreira
 
Programação orientada a objetos em delphi
Programação orientada a objetos em delphiProgramação orientada a objetos em delphi
Programação orientada a objetos em delphiHelder Lopes
 
Introdução à programação em Android e iOS - OOP em ObjC
Introdução à programação em Android e iOS - OOP em ObjCIntrodução à programação em Android e iOS - OOP em ObjC
Introdução à programação em Android e iOS - OOP em ObjCLuís Gustavo Martins
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitDiego Tremper
 
Da Argila Ao Forte - Como desenvolver uma loja virtual
Da Argila Ao Forte - Como desenvolver uma loja virtualDa Argila Ao Forte - Como desenvolver uma loja virtual
Da Argila Ao Forte - Como desenvolver uma loja virtualMichael Castillo Granados
 

Similaire à Dojo tuba delphi (8)

Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010
 
Programação orientada a objetos em delphi
Programação orientada a objetos em delphiProgramação orientada a objetos em delphi
Programação orientada a objetos em delphi
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Introdução à programação em Android e iOS - OOP em ObjC
Introdução à programação em Android e iOS - OOP em ObjCIntrodução à programação em Android e iOS - OOP em ObjC
Introdução à programação em Android e iOS - OOP em ObjC
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
 
Da Argila Ao Forte - Como desenvolver uma loja virtual
Da Argila Ao Forte - Como desenvolver uma loja virtualDa Argila Ao Forte - Como desenvolver uma loja virtual
Da Argila Ao Forte - Como desenvolver uma loja virtual
 
Migrando pra Scala
Migrando pra ScalaMigrando pra Scala
Migrando pra Scala
 

Dojo tuba delphi

  • 1. Delphi Rodrigo Vaccari rvaccari@gmail.com @vaccari
  • 2. Um pouco de história • 1995 – Lançamento – 16 bits • 1996 – Versão 32 bits • 2001 – Kylix • 2003 – Delphi 8 .Net • 2006 – CodeGear • 2008 – Embarcadero • 2009 – Prism • 2011 – Versão 64, Mac, iOS, Cloud, FireMonkey
  • 3. Curiosidades • Anders Hejlsberg – Criador das linguagens: Delphi, J++, C# • Lazarus – Free e Multiplataforma • Projeto ACBr
  • 4. Sobre • Visual • Orientada a Objetos • Orientada a eventos • Compilada
  • 6. Delphi x Java x PHP Função em Delphi: function dividePorDois(numero: integer): Double; var resultado: Double; begin resultado := numero/2; Result := resultado; end Função em Java: Função em PHP: private double dividePorDois(double numero) private function dividePorDois(numero) { { double resultado = numero/2; $resultado = $numero/2; return resultado; return $resultado; } }
  • 7. Classe em Delphi: type TNota = class private FValor: Currency; Classes Delphi x Java protected function GetValor: Currency; procedure SetValor(value: Currency); Classe em Java: public public class Nota { constructor Create(valor: Currency); private double valor; published property Valor: Currency read GetValor write SetValor; public Nota(double valor){ end; this.valor = valor; } implementation { TNota } public void setValor(double valor) { this.valor = valor; constructor TNota.Create(valor: Currency); } begin FValor := valor; public double getValor() { end; return valor; } function TNota.GetValor: Currency; } begin Result := FValor; end; procedure TNota.SetValor(value: Currency); begin FValor := value; end;
  • 8. Sobre testes DUnit Presente no Delphi desde a versão 2005 uses TestFramework, SysUtils; type TestCalass = class(TTestCase) strict private public procedure SetUp; override; procedure TearDown; override; published end;
  • 9. interface implementation uses procedure TestTCalculadora.SetUp; TestFramework, SysUtils, uCalculadora; begin type FCalculadora := TCalculadora.Create; TestTCalculadora = class(TTestCase) end; strict private FCalculadora: TCalculadora; procedure TestTCalculadora.TearDown; public begin procedure SetUp; override; FCalculadora.Free; procedure TearDown; override; FCalculadora := nil; published end; procedure TestSomar; end; procedure TestTCalculadora.TestSomar; var ReturnValue: Integer; valor2: Integer; valor1: Integer; begin valor1 := 2; valor2 := 2; ReturnValue := FCalculadora.Somar(valor1, valor2); CheckEquals(4, ReturnValue, 'Erro ao efetuar a soma'); end; initialization // Register any test cases with the test runner RegisterTest(TestTCalculadora.Suite);