37
Delphi Delphi vs. vs. Visual Basic Visual Basic Ricardo Pereira Nº 17505 Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março 2003

Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Embed Size (px)

Citation preview

Page 1: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi Delphi vs.vs.

Visual Basic Visual BasicRicardo Pereira Nº 17505Ricardo Pereira Nº 17505

Rui Arnaldo Costa Nº 17227Rui Arnaldo Costa Nº 17227

Linguagens e Ambientes de Programação

Revisto por António L. Bajuelos, Março 2003

Page 2: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

TópicosTópicos

Evolução do DelphiEvolução do Delphi

Evolução do Visual BasicEvolução do Visual Basic

Delphi 2.0 vs. Visual Basic 4.0Delphi 2.0 vs. Visual Basic 4.0

Delphi 3.0 vs. Visual Basic 5.0Delphi 3.0 vs. Visual Basic 5.0

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0

Novo Delphi 5.0 Novo Delphi 5.0

Novo Visual Basic 7.0Novo Visual Basic 7.0

Page 3: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Evolução do DelphiEvolução do DelphiModelo de Programação do DelphiModelo de Programação do Delphi

Um Um modelomodelo é uma colecção de padrões e de é uma colecção de padrões e de regras que nos permite descrever o regras que nos permite descrever o comportamento de um sistema complexo sem comportamento de um sistema complexo sem requerer conhecimento completo do sistema.requerer conhecimento completo do sistema.

Um Um modelo de programaçãomodelo de programação é uma colecção é uma colecção de regras e directrizes que descrevem as de regras e directrizes que descrevem as interacções entre sequência de dados e interacções entre sequência de dados e objectos:objectos:

dentro de um programa, dentro de um programa,

entre o programa e o sistema operacional entre o programa e o sistema operacional e, e,

entre o programa e o usuário final. entre o programa e o usuário final.

Page 4: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Evolução do DelphiEvolução do DelphiHistóricoHistórico

No princípio No princípio

O primeiro produto comercial da O primeiro produto comercial da BorlandBorland, , lançado em 1983, era o lançado em 1983, era o Turbo Pascal 1.0Turbo Pascal 1.0

O O Turbo PascalTurbo Pascal para o para o MacMac introduziu a introduziu a noção de módulos de unidade compilados, noção de módulos de unidade compilados, que acharam o seu caminho para o mundo que acharam o seu caminho para o mundo do do DOSDOS no no Turbo Pascal 4.0 em 1987Turbo Pascal 4.0 em 1987. .

O O Turbo Pascal 5.0Turbo Pascal 5.0 viu o inicio de viu o inicio de depuração integrada de erros.depuração integrada de erros.

Page 5: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Evolução do DelphiEvolução do DelphiHistóricoHistórico

O ínicio da POO O ínicio da POO

Em 1989, o Em 1989, o Turbo Pascal 5.5Turbo Pascal 5.5 introduziu a introduziu a sintaxe e conceitos da sintaxe e conceitos da Programação Orientada Programação Orientada a Objectosa Objectos. .

Em 1990, o Em 1990, o Turbo Pascal 6.0Turbo Pascal 6.0 continha o continha o Turbo Turbo VisionVision, uma arquitectura extensa de objectos , uma arquitectura extensa de objectos para construir aplicações de para construir aplicações de DOS DOS com com interfaces de usuários com janelas e em modo interfaces de usuários com janelas e em modo de texto.de texto.

Page 6: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Evolução do DelphiEvolução do DelphiHistóricoHistórico

Em 1991, o Em 1991, o Turbo PascalTurbo Pascal para para Windows (TPW)Windows (TPW) foi de encontro ao foi de encontro ao Windows 3.0Windows 3.0 … …

O ano 1992 viu o lançamento do O ano 1992 viu o lançamento do Borland Borland Pascal 7.0,Pascal 7.0, um produto enorme que incluía um produto enorme que incluía ferramentas para produzir aplicações de ferramentas para produzir aplicações de DOSDOS, , aplicações de aplicações de WindowsWindows, e aplicações de modo-, e aplicações de modo-protegido de protegido de DOSDOS. .

Page 7: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Evolução do DelphiEvolução do DelphiVersões Versões

• Delphi 1.0Delphi 1.0• Delphi 2.0Delphi 2.0• Delphi 3.0Delphi 3.0• Delphi 4.0Delphi 4.0• Delphi 5.0Delphi 5.0

Para consulta das versões mais recentes visite o site: Para consulta das versões mais recentes visite o site: http://www.borland.com/delphi/http://www.borland.com/delphi/

Page 8: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Evolução do DelphiEvolução do DelphiScreenShotScreenShot

Page 9: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Evolução do DelphiEvolução do DelphiFragmento de ProgramaFragmento de Programa

procedure ContextMenuForFile(Folder: IShellFolder; Pidl: pItemIDList); var aContextMenu: IContextMenu;     aPrgOut: Pointer;     aPopup: hMenu;     aCmd: Integer;         t, ItemCount: integer;     buf: array[0..80] of Char;   begin   GetCursorPos(Where);     aPopup := CreatePopUpMenu;   if aPopup = 0 then exit;………………………...

Page 10: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Evolução do Visual BasicEvolução do Visual BasicHistóricoHistórico

O O BASICBASIC foi o primeiro produto a ser foi o primeiro produto a ser comercializado pela comercializado pela Microsoft (MS BASIC)Microsoft (MS BASIC)

Escrito originalmente em 1987 e unido ao Escrito originalmente em 1987 e unido ao Quick Quick BASICBASIC deu origem ao deu origem ao Visual BASIC (VB)Visual BASIC (VB). .

A primeira versão do A primeira versão do VBVB foi lançada em 1991 com foi lançada em 1991 com a versão 1.0. Em Outubro de 1992 veio a versão a versão 1.0. Em Outubro de 1992 veio a versão 2.0. Está actualmente na versão 2.0. Está actualmente na versão .NET.NET (~ versão (~ versão 7.0.)7.0.)

Page 11: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 2.0Delphi 2.0vs.vs.

Visual Basic 4.0Visual Basic 4.0

Delphi 2.0Delphi 2.0 Visual Basic 4.0Visual Basic 4.0

PontosPontos

FortesFortes

• Compilador rápidoCompilador rápido• Biblioteca de classes Biblioteca de classes elegante e produtiva elegante e produtiva • Ferramentas visuaisFerramentas visuais

• Aprendizagem fácil, difícil Aprendizagem fácil, difícil de bloquear o sistemade bloquear o sistema• Potentes funções de base Potentes funções de base de dados, inúmeros extras de dados, inúmeros extras disponíveisdisponíveis

PontosPontos

FracosFracos

• Documentação escassaDocumentação escassa• Não permite criação Não permite criação ActiveXActiveX• Elevado tempo de Elevado tempo de execução em bases de execução em bases de dadosdados

• Ficheiros Ficheiros runtimeruntime de de grandes dimensões: grandes dimensões: potência limitadapotência limitada• Desempenho fraco nas Desempenho fraco nas aplicações mais complexasaplicações mais complexas

ConclusãoConclusão

É a melhor combinação É a melhor combinação de potência com de potência com facilidade de utilizaçãofacilidade de utilização

Óptima ferramenta de Óptima ferramenta de utilização geral, mas utilização geral, mas usualmente não é a melhorusualmente não é a melhor

Page 12: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 3.0Delphi 3.0vs.vs.

Visual Basic 5.0Visual Basic 5.0

Delphi 3.0Delphi 3.0 Visual Basic 5.0Visual Basic 5.0

PontosPontos

FortesFortes

• Desenvolvimento rápidoDesenvolvimento rápido• Orientado a objectosOrientado a objectos• Rapidez na compilaçãoRapidez na compilação• Executáveis em código Executáveis em código nativonativo

• Fácil para principiantesFácil para principiantes• Suporte MDB nativo para Suporte MDB nativo para AccessAccess• Flexível e poderosoFlexível e poderoso

PontosPontos

FracosFracos

• Deficiências Deficiências relativamente aos dados relativamente aos dados em formato Access: ajuda em formato Access: ajuda on-lineon-line medíocre medíocre• NãoNão tem tem browserbrowser de de classesclasses

• Ficheiros Ficheiros runtimeruntime grandes grandes• Problemas de versão e Problemas de versão e disponibilização da disponibilização da aplicação finalaplicação final• Fraco tratamento de errosFraco tratamento de erros

ConclusãoConclusão

O melhor produto nesta O melhor produto nesta categoriacategoria

Poderoso e sofisticado, mas Poderoso e sofisticado, mas falta-lhe a simplicidade e a falta-lhe a simplicidade e a fiabilidade do Visual Basic fiabilidade do Visual Basic 3.03.0

Page 13: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0

Descrição de componentesDescrição de componentes Visual Visual Basic 6.0Basic 6.0

Delphi Delphi 4.04.0

Lista de botões rádioLista de botões rádio NãoNão SimSim

Lista de acções comunsLista de acções comuns NãoNão SimSim

Divisor de espaços redimensionáveis (Splitter) Divisor de espaços redimensionáveis (Splitter) NãoNão SimSim

Barra submenu de controles (PageScroller)Barra submenu de controles (PageScroller) NãoNão SimSim

Quadros de diálogo comumQuadros de diálogo comum Sim (6)Sim (6) Sim (10)Sim (10)

InternetInternet Sim (2)Sim (2) Sim (26)Sim (26)

Acesso a dadosAcesso a dados Sim (8)Sim (8) Sim (25)Sim (25)

Tomada de decisõesTomada de decisões NãoNão SimSim

Projecção de decisõesProjecção de decisões Sim (6)Sim (6) Sim (23)Sim (23)

MAPIMAPI SimSim NãoNão

Série de comunicaçõesSérie de comunicações SimSim NãoNão

Informação do sistemaInformação do sistema SimSim NãoNão

Aplicações multicamada DCOM/CORBAAplicações multicamada DCOM/CORBA NãoNão SimSim

Page 14: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0

Descrição do tipo de projectoDescrição do tipo de projecto Visual Visual Basic 6.0Basic 6.0

Delphi Delphi 4.04.0

Livraria de conexão dinâmicaLivraria de conexão dinâmica NãoNão SimSim

Controle VCL (Visual Component Library)Controle VCL (Visual Component Library) NãoNão SimSim

Aplicação DHTMLAplicação DHTML SimSim NãoNão

Serviço NT Serviço NT NãoNão SimSim

Livraria ActiveXLivraria ActiveX NãoNão SimSim

Componente COMComponente COM NãoNão SimSim

Componente CORBAComponente CORBA NãoNão SimSim

http://www.microsoft.com/com/tech/com.asp

Page 15: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Interface do AmbienteInterface do Ambiente

Tanto o Visual Basic 6 como o Borland Delphi 4 têm ambientes de desenvolvimento baseados numa interface de última geração

O Delphi tem quatro paletas de botões predefinidas, tal como o Visual Basic, mas enquanto o primeiro só tem a paleta de utilizador o segundo permite-nos criar tantas paletas novas quanto precisarmos.

Visual Basic, não obstante, tem uma característica inexistente em Delphi: é possível também personalizar os menus de opções, mudar a disposição deles, adicionar e eliminar opções.

Outra opção de Visual Basic com que o Delphi não conta, consiste em seleccionar o tamanho dos ícones usados nas barras de botões e outros elementos do ambiente.

Page 16: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Interface do AmbienteInterface do Ambiente

No caso de Delphi existe a chamada Paleta de componentes –multipágina de janela no qual se encontram mais de 170 componentesO VB tem a sua Caixa de ferramentas – é uma janela na qual só se acha os controles mais habituais, sendo necessário aceder a uma janela auxiliar toda vez que se quer um controle novo ou grupo de controles.

Em Visual Basic o formulário aparece dentro de uma janela

O Delphi mostra a formulário como uma janela completamente independente cujo tamanho e posição em execução será o mesmo que pode ver-se em desenho.

Page 17: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0ComponentesComponentes

Alguns componentes de Visual Basic estão só disponíveis no módulo que está aberto. Os componentes do Delphi podem ser usados em qualquer formulário, porque estão activos.

As possibilidades de Delphi de criar servidores ou clientes de serviços na Internet ou projectar relatórios conectados a dados é muito superior às do Visual Basic.

Por ser um produto de Microsoft, o Visual Basic como é lógico usa controles ActiveX, o padrão oficial da plataforma Windows. ActiveX = é o nome que a Microsoft deu a um set de "estratégicos" object-oriented programming tecnológicos e ferramentas. A tecnologia principal é o Component Object Model (COM).Por outro lado, Delphi tem uma própria chamada modelo VCL mas, em algumas ocasiões, também contempla o uso de controles ActiveX.

Page 18: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Edição de códigoEdição de código

O editor de Visual Basic só pode trabalhar com um arquivo ao mesmo tempo, o que significa que teremos tantas janelas abertas quantos módulos. O editor de Delphi, pelo contrário, abre uma página nova por cada módulo que está a editar.

Page 19: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Edição de códigoEdição de código

O editor de Visual Basic tem dois menus na parte superior, um no qual é possível seleccionar um objecto, como um formulário ou um controle, e outro que é usado para seleccionar o evento.

O Delphi tem uma janela, inicialmente embutida no editor de código, chamada de explorador de código.

Esta janela mostra uma lista hierárquica de todos os elementos existentes no módulo actual, de classes, métodos e propriedades e até variáveis e constantes.

Page 20: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0LinguagemLinguagem

Se há um ponto que claramente diferencia o Visual Basic do Delphi é, sem dúvida alguma, a linguagem que usam.

A Linguagem usada pelo VB é BASIC (Beginner’s All-purpose Symbolic Instruction Code), uma linguagem desenvolvida na década de sessenta por dois professores americanos, Kemeny e Kurtz, como uma versão simplificada de FORTRAN (FORmula TRANslator), que fosse mais acessível para os estudantes principiantes em computação.

Page 21: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0LinguagemLinguagem

O Delphi usa a linguagem Pascal, desenvolvida depois do BASIC, no começo dos setenta, pelo professor Niklaus Wirth em Zurique tomando como base as linguagens ALGOL (ALGOrithms Languaje) e PL/I.

O Pascal chama-se assim em memória de Blaise Pascal, considerado o inventor da primeira máquina de cálculo.

Page 22: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0LinguagemLinguagem

O Visual Basic é uma linguagem de simples aprendizagem e, em geral, bem estruturada. A integração do Visual Basic com a tecnologia ActiveX é excelente. Para usar objectos COM simples é necessário ter as livrarias de tipos correspondentes, não existindo modo algum de criá-las desde o próprio ambiente de Visual Basic.

Em Delphi há a possibilidade de definir interfaces COM directamente em Object Pascal, sem necessidade de qualquer elemento externo.

Page 23: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0DepuraçãoDepuração

Em Delphi existe a possibilidade de criar pontos de paragem que agem quando se está a carregar um certo módulo ou alterar um certo facto.

A modificação de valores durante a execução é possível em Delphi graças às opções Evaluate/Modify e Inspect.

Em Visual Basic esta mesma tarefa realiza-se de forma simples na janela de execução. Esta janela permite executar qualquer outro código que nos interesse com algumas limitações lógicas, uma possibilidade inexistente em Delphi.

Page 24: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0DepuraçãoDepuração

Outra característica exclusiva do Visual Basic, muito útil nalgumas ocasiões, é:

A possibilidade de modificar o código que será executado e continuar, sem necessidade de reiniciar.

Em Delphi pode modificar o código durante a depuração, mas as mudanças não têm efeito até compilar novamente e executar.

Page 25: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Acesso a dadosAcesso a dados

Embora o Visual Basic ofereça diversas técnicas herdadas de versões prévias, a tecnologia preferível é a ADO (ActiveX Data Objects) e os correspondentes provedores OLE DB. O Delphi tem uma tecnologia de acesso a dados existente desde a primeira versão e que, também, é a usada por ferramentas tão famosas como o dBase ou o Paradox. Esta tecnologia, chama-se BDE (Borland Database Engine)

Com o Delphi as possibilidades de conexão, acesso a tabelas, definição de consultas e edição não é menos potente que com o Visual Basic, mas é seguramente menos confortável.

Page 26: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Criação de relatóriosCriação de relatórios

Uma das novidades do Visual Basic é, de facto, a possibilidade de desenhar relatórios no próprio ambiente de desenvolvimento.

Em Delphi os relatórios são desenhados usando os componentes Quick Reports.

O Delphi conta com um número de componentes superior ao Visual Basic quando se criam relatórios.

A maior especialização dos componentes de Delphi oferece uma flexibilidade maior quando se criam relatórios.

Page 27: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Aplicações InternetAplicações Internet

O Visual Basic (até a versão 6) é um ambiente realmente pobre no que concerne a possibilidades relacionadas com Internet.

Os componentes que incorporam o Delphi 4 para temas relacionados com Internet são do tipo VCL, não ActiveX, o que é uma vantagem pois é possível incorporar todos os recursos no mesmo executável ou num pacote, em vez de ter que distribuir e registar de um modo individual cada um dos componentes.

O Delphi está exactamente no extremo oposto ao VB

Page 28: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Integração com o sistemaIntegração com o sistema

O Delphi tem módulos múltiplos, equivalente aos arquivos de C/C++ nos quais se encontram definidos os protótipos de praticamente toda a API do Windows. O Visual Basic não tem um mecanismo equivalente, o que significa que antes de usar uma função é necessário o Windows facilitar de antemão o protótipo que lhe corresponde.

A partir do Delphi é possível usar qualquer objecto ActiveX, independentemente de ser ou não automatizável.

Page 29: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Criação e distribuição de aplicaçõesCriação e distribuição de aplicações

No caso do Delphi podemos indicar se queremos que os arquivos intermédios de compilação sejam em formato DCU, habitual em Delphi, ou pelo contrário queremos arquivos OBJ com formato C/C++. No caso de Visual Basic podemos escolher entre gerar código nativo, directamente executável, ou p-code que é necessário interpretar mais tarde.

Page 30: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Criação e distribuição de aplicaçõesCriação e distribuição de aplicações

A aplicação gerada por Visual Basic, com extensão EXE, poderá alojar-se em qualquer pasta do sistema do cliente.

Neste caso será necessário :I. copiar a livraria de execução do Visual Basic para essa

mesma pasta ou para a pasta de sistema do Windows. II. instalar e registar todos os controles ActiveX que foram

usados.

No caso do Delphi é bastante mais simples: I. basta gerar o arquivo EXE, que já contém tudo o necessário.

O Delphi gera habitualmente um pacote de distribuição mais pequeno.

Page 31: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Características exclusivasCaracterísticas exclusivas

Uma característica exclusiva de Visual Basic é a possibilidade para criar aplicações DHTMLDHTML (ou Dinamic HTML) é um conjunto de tecnologias que juntas criam o dinamismo das páginas Web. Essas tecnologias são: HTML, folhas de estilo (CSS), linguagens de script (JavaScript e VBScript), layers (ou camadas) e o DOM (Document Object Model).

O Visual Basic tem controles que facilitam tarefas como a obtenção de dados sobre o sistema, não existente em Delphi.

Em oposição em Delphi é possível usar qualquer um dos controles de Visual Basic, basta adicioná-los à paleta de componentes

O Visual Basic não pode usar os componentes de Delphi.

Page 32: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0Questão de velocidadeQuestão de velocidade

Duas ferramentas bastante diferentes na sua concepção.

O Delphi usa um compilador puro com múltiplas optimizações e capaz de gerar praticamente qualquer tipo de projecto, desde um executável a uma livraria de conexão dinâmica até servidores ActiveX.

O Delphi, em geral, é várias ordens de magnitude mais rápido que Visual Basic.

O Visual Basic é uma ferramenta que usa e em grande medida depende de ActiveX.

Page 33: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Delphi 4.0 vs. Visual Basic 6.0Delphi 4.0 vs. Visual Basic 6.0ResumindoResumindo

• Linguagem mais simples Linguagem mais simples que o Object Pascal;que o Object Pascal;

• Documentação, ajuda e Documentação, ajuda e ambiente mais ambiente mais acessíveis;acessíveis;

• Processo de Processo de aprendizagem mais aprendizagem mais rápido;rápido;

• A criação de servidores A criação de servidores ActiveX, tanto controles ActiveX, tanto controles como objectos como objectos automatizáveis é muito automatizáveis é muito simples.simples.

• Mais tipos de projectos;Mais tipos de projectos;• Um número maior de Um número maior de

tecnologias (ActiveX, tecnologias (ActiveX, VCL, objectos CORBA e VCL, objectos CORBA e aplicações Web não aplicações Web não limitadas ao servidor IIS);limitadas ao servidor IIS);

• Linguagem mais Linguagem mais estruturada e flexível;estruturada e flexível;

• Integração total de Integração total de aplicações com o aplicações com o sistema.sistema.

Visual Basic 6.0 Delphi 4.0

Page 34: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Novo Delphi 5.0Novo Delphi 5.0InovaçõesInovações

• ADO - acesso a bases de dados sem usar o BDEADO - acesso a bases de dados sem usar o BDE - muito fácil aceder a fontes de dados da Microsoft;- muito fácil aceder a fontes de dados da Microsoft;

• Novo componente visual – “moldura” (frame);Novo componente visual – “moldura” (frame);

• Cria aplicações em CGI, ISAPI ou NSAPI e entrega HTML Cria aplicações em CGI, ISAPI ou NSAPI e entrega HTML dinamicamente;dinamicamente;

• Internet-Express – entrega dados a um motor de pesquisa da Internet-Express – entrega dados a um motor de pesquisa da Internet como um pacote XML;Internet como um pacote XML;

• ““attach to process” – deixa depurar um processo que já se attach to process” – deixa depurar um processo que já se encontra a correr;encontra a correr;

• Teamsource – controla o fluxo de trabalho e ajuda a Teamsource – controla o fluxo de trabalho e ajuda a administrar o desenvolvimento de código em paralelo;administrar o desenvolvimento de código em paralelo;

Page 35: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Novo Delphi 5.0Novo Delphi 5.0

Pontos a favor:Pontos a favor: - Suporta as normas XML e HTML 4.0.- Suporta as normas XML e HTML 4.0.

- Acesso a bases de dados com - Acesso a bases de dados com tecnologia ADO tecnologia ADO

- Desenvolvimento em grupo com - Desenvolvimento em grupo com o o Teamsource. Teamsource.

Pontos contra: Pontos contra: - Poucas opções novas disponíveis - Poucas opções novas disponíveis para uma nova versão para uma nova versão

Page 36: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Novo Visual Basic 7.0Novo Visual Basic 7.0 Alterações sintácticasAlterações sintácticas

- - Conversão de: Variant para Object,Conversão de: Variant para Object, Integer para Short, Integer para Short, Long para Integer; Long para Integer;

- - Arrays com extremos diferentes de zero;Arrays com extremos diferentes de zero;-- Não são definidas propriedades por defeito.Não são definidas propriedades por defeito.

Linha de execução livre;Linha de execução livre;

Controle de erro estruturado;Controle de erro estruturado;

Tipo Segurança;Tipo Segurança;

Membros compartilhados;Membros compartilhados;

Inicializadores.Inicializadores.

Page 37: Delphi vs. Visual Basic Ricardo Pereira Nº 17505 Rui Arnaldo Costa Nº 17227 Linguagens e Ambientes de Programação Revisto por António L. Bajuelos, Março

Visual Basic vs. DelphiVisual Basic vs. Delphi

Fim Fim

dada

ApresentaçãoApresentação