Mudanças entre as edições de "Treinamento Delphi"

De UniWiki
Ir para: navegação, pesquisa
(Macetes)
(Estrutura de diretórios)
Linha 9: Linha 9:
 
Serão apresentados somente os diretórios importantes.
 
Serão apresentados somente os diretórios importantes.
  
* Cbs_documentos
+
* CVS_documentos
 
:''Contém todos os documentos gerados pelo sistema Unilab''  
 
:''Contém todos os documentos gerados pelo sistema Unilab''  
  
* CSV    
+
* CVS    
 
:''Conhecido como delphi 5, é o projeto unilab''
 
:''Conhecido como delphi 5, é o projeto unilab''
 
:* light
 
:* light
Linha 25: Linha 25:
 
::'' Contém todas os arquivos DCUs ignorada no versionamento devido ao fato de ser gerado ao compilar o projeto ''
 
::'' Contém todas os arquivos DCUs ignorada no versionamento devido ao fato de ser gerado ao compilar o projeto ''
  
* CSV_D7
+
* CVS_D7
:''Conhecido como delphi 7, é o projeto unilab que contém funções/componentes utilizados no delphi 7''
+
:''COntém os programas desenvolvidos em Delphi 7''
  
 
* Delphicomps
 
* Delphicomps

Edição das 09h33min de 31 de agosto de 2016

Dependências

Estrutura de diretórios

Serão apresentados somente os diretórios importantes.

  • CVS_documentos
Contém todos os documentos gerados pelo sistema Unilab
  • CVS
Conhecido como delphi 5, é o projeto unilab
  • light
Contém todos os arquivos de desenvolvimento relacionados ao sistema
  • lib
Contém todas as bibliotecas de desenvolvimento, inclusive de terceiras que sofreram alterações
  • _d5_sharedforms
Contém arquivos units não relacionadas ao sistema, e tem o propósito de apoiar o desenvolvimento a forms (Helpers, Utils), podem ser classes, funções, ou procedimentos
  • _sharedunits
Contém arquivos units não relacionadas ao sistema, e tem o propósito de apoiar o desenvolvimento (Helpers, Utils), podem ser classes, funções, ou procedimentos
  • dcus
Contém todas os arquivos DCUs ignorada no versionamento devido ao fato de ser gerado ao compilar o projeto
  • CVS_D7
COntém os programas desenvolvidos em Delphi 7
  • Delphicomps
Contém os componentes de terceiros utilizados no sistema Unilab

Estrutura de arquivos

  • .pas
Arquivos pascal que contém todo o código de desenvolvimento como classes, objetos, eventos
Estrutura unit.png
- Declaração da unit : Nessa seção tem a definição do nome da Unit, note que ele é igual ao nome dado a Unit no momento que a mesma foi salva.
- Interface : A definição do formulário, assim como de outros componentes e tipos, podem ser vistos nessa seção. Aqui informamos os procedimento, funções, variáveis, constantes, entre outros, que serão definidos junto aos componentes e tipos. Ela ainda se divide nas seguintes cláusulas:
- Uses : Aqui são colocadas bibliotecas externas à Unit, mas que são necessárias para a compilação da mesma. O Delphi incorpora automaticamente bibliotecas necessárias para o uso dos componentes instalados nele, mas outras devem ser implementadas pelo próprio programador.
- Type : Essa cláusula é responsável por receber os objetos da Unit, incluindo-se a declaração da classe do formulário. Os procedimentos, funções, variáveis e constantes do formulário podem ser declarados como:
- Private : Os campos de dados, métodos (procedimentos e funções de um objeto) e objetos declarados nessa área só poderão ser acessados pela própria Unit.
- Public : Os campos de dados, métodos e objetos declarados nessa área poderão ser acessados tanto pela própria Unit como por outras Units.
- Var : Aqui devem ser declaradas as variáveis publicas da Unit, além dos objetos que serão instanciados tal como o formulário.
- Implementation : O desenvolvimento das funcionalidades dos métodos declarados nos objetos devem ser feitos entre nessa seção.
- Finalização da unit : Essa seção finaliza a Unit, o que for colocado após ela será desprezado pelo compilador.

 Observação 1: Dentro da seção Implementation tem outra cláusula uses que foi inserida
 pelo Delphi no momento que implementamos a chamada do Form FLabel.  Basicamente a 
 cláusula uses da seção Interface referência as bibliotecas que serão usadas na definição 
 do formulário, outros componentes e tipos.  Já a uses que fica na seção Implementation 
 faz referencia as bibliotecas que serão usadas na funcionalidade dos métodos.

 Observação 2: Embora utilizemos as chaves para delimitar comentários em uma ou      
 várias linhas, no caso do código {$R *.dfm} o Delphi reconhece como uma diretiva de 
 compilação.  Nesse caso essa diretiva está informando o arquivo que contém as 
 configurações do formulário e dos componentes colocados neles.  Esse arquivo tem o 
 mesmo nome da Unit (UPrincipal.pas), mudando apenas a extensão (UPrincipal.dfm).


  • .dfm
Esse arquivo contém as propriedades, eventos vinculados e grau de dependência dos objetos declarados na Unit UPrincipal.pas.
Dfm.jpg
  • hieraquia
No ambiente de desenvolvimento, podemos através do delphi desenhar telas, nestas telas podemos estar inserindo componentes dentro de outros componentes, e por trás no arquivo dfm esses novos componentes (objetos) estão sendo hieraquizados, ou seja estão sendo construidos em forma de árvores possuindo pais (componente a qual está dentro).
  • View as text
Como apontado acima, o delphi permite construir telas clicando e arrastando, este pode ser chamado de modo visual (view), porém por trás estão sendo gerados códigos (text)
  • .dpr
Esse arquivo é responsável pela iniciação do programa, ele é gerado ao salvar o projeto
Dpr.png
- Declaração do programa : Nome do aplicativo que será executado. Semelhante a Unit, o nome dado ao Project no momento que foi salvo é o mesmo que está indicado como nome do programa nessa seção.
- Units que compõem o aplicativo : Todas as Units usadas no projeto são declaradas nesse ponto.
- Inicio da execução do programa : Essa seção inicializa o aplicativo, instância os formulários e em seguida executa o aplicativo.

 Observação 1: Nessa seção temos a diretiva de compilação {$R *.res}, nesse caso 
 ele se refere ao arquivo de recursos (ícone, título e versão da aplicação são algumas 
 das opções que podem existir nesse arquivo).

Classes

É uma estrutura que abstrai um conjunto de objetos com características similares. Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos.

Estrutura de classes

Estrutura classe.png


Private: Tudo o que for declarado aqui só poderá ser visto e acessado dentro da própria classe, nem as classes que herdarem nossa classe poderão acessar-los.
Protected: Tudo o que for declarado aqui só poderá ser visto e acessado dentro da própria classe, mais diferente do private as classes que herdarem da nossa classe poderão acessar métodos e variáveis.
Public: Tudo o que for declarado aqui poderá ser visto e acessado em qualquer lugar.
Published: Tudo o que for declarado aqui poderá ser visto no object inspector no delphi.
Property: Se trata de uma propriedade da classe, logo em seguida o tipo , depois a palavra 'read' diz que o 'get' ira ser feito lendo o valor da variável privada, e 'write' diz que ao atribuir um valor na variável publica ele ira jogar o valor dentro da variável privada. Poderíamos ainda criar uma método para que este fosse chamado.

 Observação: Antes do nome do atributo colocamos a letra F, isto é um padrão que deve ser seguido para identificar o campo privado dentro da classe

Hierarquia de classes

Hierarquia classe.gif
- TObject : é a Classe de origem de todos os objetos da VCL e componentes.
- TPersistent : é a Classe de origem de todos os objetos que podem ser associados para outros e que podem ler e escrever propriedades.
- TComponent : é a Classe de origem de todos os objetos da VCL. Permite que a classe apareça na paleta de componentes.
- TControl : é a Classe de origem todos os componentes que são visíveis em Run-Time.
- TWinControl : é a Classe de origem de todos componentes que recebem foco, tem Handle1 e que são containers de outros objetos. Ex.: TPanel, TEdit, TGroupbox, TListbox e etc…
- TGraphicControl : é a Classe de origem de todos os componentes que são não recebem foco, não tem Handle e que não são containers para outros objetos. Ex.: TBevel, TImage, TShape, TSpeedButton e etc…

Macetes

  • Ctrl + F
Busca avançada no delphi
  • F12
Alterna entre tela de componentes (design) com tela de codificação
  • Ctrl + Shift + C
Implementa automaticamente a procidure/função definida no escopo de interface para o escopo de implementação
  • Ctrl + Shift + acima (seta)
Alterna entre escopo de interface e escopo de implementação, levando em consideração o contexto atual (se estiver em uma função o atalho alterna para a declaração da função)
  • Ctrl + Shift + abaixo (seta)
Alterna entre escopo de interface e escopo de implementação, levando em consideração o contexto atual (se estiver em uma função o atalho alterna para a declaração da função)
  • Alt + F12
Apresenta todas as units do projeto

Estudo Complementar

Treinamento Delphi e Lógica de Programação