Difference between revisions of "Lazarus Packages/pt"

From Free Pascal wiki
Jump to navigationJump to search
 
(9 intermediate revisions by the same user not shown)
Line 23: Line 23:
  
 
Criando um novo pacote:
 
Criando um novo pacote:
* Arquivo ->Novo... -> Pacote -> Pacote Padrão
+
* Arquivo -> Novo... -> Pacote -> Pacote Padrão
 
* Abre-se o editor de pacotes
 
* Abre-se o editor de pacotes
 
* Use o botão Salvar no alto à esquerda.
 
* Use o botão Salvar no alto à esquerda.
Line 38: Line 38:
 
* Os pacotes são vinculados estaticamente, portanto é preciso reiniciar a IDE.
 
* Os pacotes são vinculados estaticamente, portanto é preciso reiniciar a IDE.
 
* Reinicie o Lazarus e veja seu novo componente na paleta de componentes (por exemplo: um TBevel1 vai estar na aba 'Additional').
 
* Reinicie o Lazarus e veja seu novo componente na paleta de componentes (por exemplo: um TBevel1 vai estar na aba 'Additional').
* If you do not see your new component in the component palette, it is most likely that you are not running the re-compiled version of Lazarus. You can set where Lazarus builds to in: Environment -> Environment options -> Files -> Lazarus directory. Instead of calling lazarus directly, you also can use startlazarus, which starts the newly created lazarus, for example the lazarus executable in the ~/.lazarus directory, if you don't have write access to the directory lazarus was installed into.
+
* Se você não vê o seu componente na paleta de componentes, é possível que você não esteja executando a versão recompilada do Lazarus. Você pode configurar onde construir o Lazarus em Ambiente > Opções de Ambiente > Arquivos > Diretório do Lazarus. Em vez de chamar o Lazarus diretamente você pode usar o StartLazarus, que inicia o Lazarus recém-criado, por exemplo o executável do Lazarus no diretório ~/.lazarus, se você não tem direito de acesso para gravação ao diretório em que o Lazarus está instalado.
Congratulations: You have just installed your first package with your first package component.
 
  
== The IDE menu items for packages: ==
+
Parabéns: Você instalou o seu primeiro pacote com seu primeiro componente.
  
* File->New... -> Package -> Standard Package
+
== Os itens de menu da IDE para pacotes: ==
Creates a new package.
 
* Project -> Project Inspector
 
  Here you can see, what packages are required by the currently open project.
 
  You can add new dependencies and remove unneeded ones.
 
* Run -> Compiler options -> Inherited
 
  Here you can see what compiler options are inherited from which package.
 
  
Components ->  
+
* Arquivo -> Novo... -> Pacote -> Pacote Padrão
   - 'Open package'
+
Cria um novo pacote. 
     A dialog shows all open packages with their state.
+
* Projeto -> Inspetor de Projetos
 +
  Aqui você pode ver que pacotes são requeridos pelo projeto atualmente aberto.
 +
  Você pode adicionar novas dependências ou remover as desnecessárias.
 +
* Executar -> Opções do Compilador -> Herdado
 +
  Aqui você pode ver que opções de compilador são herdadas de que pacote.
 +
 
 +
Componentes ->
 +
  - 'Abrir pacote'
 +
    Uma caixa de diálogo mostra todos os pacotes abertos e o seu estado.
 +
  - 'Abrir arquivo de pacote'
 +
    Abre um arquivo .lpk
 +
 
 +
   - 'Abrir pacote da unidade atual'
 +
     Abre o arquivo .lpk a que pertence o arquivo aberto no editor de código
 
      
 
      
   - 'Open package file'
+
   - 'Abrir pacote recente'
     Open a .lpk file
+
     Abre um pacote recentemente aberto (arquivoi .lpk )
  
   - 'Open package of current unit'
+
   - 'Adcionar unidade atual a pacote'
     Open the .lpk file, that belongs to the file in the source editor
+
     Adicioona a unidade aberta no editor de código a um pacote
 
      
 
      
   - 'Open recent package'
+
   - 'Gráfico de Pacotes'
     Open a recently open package file (lpk file)
+
     O gráfico de pacotes mostra todos os pacotes abertos e suas dependências
  
   - 'Add active unit to a package'
+
   - 'Configurar pacotes instalados'
     Adds the unit in the source editor to a package
+
     Edita a lista de pacotes instalados na IDE. Instala ou desinstala vários pacotes de uma vez
   
 
  - 'Package Graph'
 
    The package graph shows all open packages and their dependencies.
 
  
  - 'Configure installed packages'
+
Projeto -> Inspetor de Projetos
    Edit the list of packages installed in the IDE. Install or uninstall several packages at once.
+
  Aqui você vê e edita todos os pacotes usados pelo projeto
  
Project -> Project Inspector
+
== A teoria ==
  Here you can see and edit all packages used by the project.
 
  
== The theory ==
+
Cada pacote Lazarus tem um arquivo .lpk. Um pacote é identificado pelo seu nome e sua versão. O nome precisa corresponder ao nome do arquivo .lpk. Por exemplo:
  
Each Lazarus package has a .lpk file. A package is identified by its name and its version. The name must correspond to the lpk filename. For example:
+
Nome: Package1, Versão: 1.0, Nome do arquivo: /home/.../package1.lpk.
  
Name: Package1, Version: 1.0, Filename: /home/.../package1.lpk.
+
* A IDE cria automaticamente o arquivo-fonte principal (package1.pas) Veja abaixo. O arquivo .lpk contém informação sobre os pacotes requeridos, os arquivos que ele usa, como compilá-los e o que é necessáro para usar o pacote por outros pacotes ou projetos. O diretório em que o arquivo .lpk está é chamado  "diretório de pacotes".
 +
* A IDE mantém uma lista de todos os arquivos de pacote (<config directory>/packagelinks.xml) Toda vez que um pacote é aberto na IDE ele vai ser adicionado à lista. Quando um pacote é aberto, a IDE automaticamene abre todos os pacotes requeridos através desta lista.
 +
* Existem três pacotes básicos: FCL, LCL e SynEdit. Eles são parte da IDE e assim eles são auto-criados, somente leitura e não tem arquivo .lpk.
 +
* Normalmente um pacote tem um diretório de fontes com algumas unidades Pascal. E normalmente o arquivo .lpk estará lá também. Um pacote tem também um diretório de saída. O padrão é o subdiretório 'lib/$(TargetCPU)-$(TargetOS)/' no diretório de pacotes.
  
* The IDE automatically creates the main source file (package1.pas). See below. The lpk file contains information about the required packages, the files it uses, how to compile them, and what is needed to use the package by other packages/projects. The directory where the lpk file is, is called the "package directory".
+
* Antes de um pacote ser compilado a IDE verifica todos os pacotes requeridos e se eles precisam de atualização e tem a flag de auto-atualização eles são compilados primeiro. Então a IDE cria o pacote dos fontes principais. Se o arquivo .lpk era package1.lpk, o arquivo de fontes principal será package1.pas. O arquivo contém todas as unidades da cláusula uses mais o procedimento Register, que é chamado na seção de inicialização.
* The IDE maintains a list of all package files (<config directory>/packagelinks.xml). Everytime a package is opened in the IDE it will be added to this list. When a package is opened, the IDE automatically opens all required packages via this list.
 
* There are three base packages: FCL, LCL and SynEdit. These are parts of the IDE and so they are autocreated, readonly and have no lpk file.
 
* Normally a package has a source directory with some pascal units. And normally the lpk file will be there too. A package has also an output directory. Default is the subdirectory 'lib/$(TargetCPU)-$(TargetOS)/' in the package directory.
 
* Before a package is compiled the IDE checks all required packages and if they need update and have the auto update flag, they are compiled first. Then the IDE creates the package main source file. If the lpk file was package1.lpk, then the main source file is package1.pas. This file contains all units in the uses section plus a 'Register' procedure, which is called in the intialization section.  
 
  
For example:
+
Por exemplo:
  
 
  This file was automatically created by Lazarus. Do not edit!
 
  This file was automatically created by Lazarus. Do not edit!
Line 105: Line 106:
 
  end.
 
  end.
  
* Then the compiler is called and the package is compiled to the output directory.
+
* Então o compilador é chamado e o pacote é compilado para o diretório de saída.
* After successful compilation the state file is created. The state file is put into the output directory. It has the name <packagename>.compiled and contains the information, how the package was compiled. This state file is used by the IDE to check if update is needed.
+
* Depois de uma compilação bem-sucedida o arquivo de estado é criado. O arquivo de estado é posto no diretório de saída. Ele tem o nome <packagename>.compiled e contém a informação de como o pacote foi compilado. Este arquivo de estado é usado pela IDE para verificar se atualizações são necessárias.
  
For example: gtkopengl.compiled:
+
Por exemplo: gtkopengl.compiled:
  
 
  <?xml version="1.0"?>
 
  <?xml version="1.0"?>
Line 119: Line 120:
 
  </CONFIG>
 
  </CONFIG>
  
* The IDE opens all needed packages automatically. This means, it opens all installed packages, all packages marked for installation (auto install), all packages with an open Editor, all packages required by the project and all packages required by one of the other packages. Unneeded packages are automatically unloaded, when the IDE becomes idle.
+
* A IDE abre todos os pacotes necessários automaticamente. Isto quer dizer que ela abre todos os pacotes instalados, todos os pacotes marcados para instalação (auto-instalados), todos os pacotes abertos no Editor, todos os pacotes requeridos pelo projeto e todos os pacotes requeridos por um dos outros pacotes. Pacotes desnecessários são automaticamente descarregados quando a IDE se torna ociosa.
* The IDE never opens two packages with the same name at the same time. When the user opens another package file with the same name as an already opened package the IDE will ask to replace the old one.
+
* A IDE nunca abre dois pacotes com o mesmo nome ao mesmo tempo. Quando o usuário abre outro arquivo de pacote com o mesmo nome de um pacote já aberto, a IDE vai perguntar por substituir o antigo.
* The IDE maintains two extra sets of packages: The 'installed' packages and the 'auto install' packages. The auto install packages will be linked into the IDE on next compile. It creates two new files in the config directory: staticpackages.inc and idemake.cfg. Then it calls 'make ide OPT=@/path/to/your/config/idemake.cfg' to compile itself.
+
* A IDE mantém dois grupos extra de pacotes: os pacotes 'instalados' e os 'auto-instalados'. Os pacotes auto-instlados vão ser vinculados à IDE na próxima compilação. Ela  cria dois novos arquivos no diretório de config: staticpackages.inc e idemake.cfg. Então ela chama 'make ide OPT=@/path/to/your/config/idemake.cfg' para se auto-compilar.
  
== Hints and Tips ==
+
== Dicas ==
Please add any hints, tips or gotchas here.
 
  
*To rename a package, use 'save as'.
+
* Para renomear um pacote, use Salvar Como.
  
Example
+
Exemplo:
 +
 +
Eu vou usar tiOPF framework como exemplo. The tiOPF tem o seguinte
 +
layout de diretório, devido ao fato de que ele compila para FPC,
 +
Delphi 5-7, D2005 e 2006.
  
  I will use the tiOPF framework as an example  The tiOPF has the
+
  Fontes               <= caminho completo \Programming\3rdParty\tiOPF\Source
following directory layout, due to the fact that it compiles for FPC,
+
   \Compiladores
Delphi 5-7, D2005 and D2006.
+
     \Delphi7          <= Pacote do Delphi 7 ficam aqui
 
Source               <= full path \Programming\3rdParty\tiOPF\Source
 
   \Compilers
 
     \Delphi7          <= Delphi 7 package files live here
 
 
     \D2005
 
     \D2005
     \FPC              <= the tiOPF.lpk lived here
+
     \FPC              <= o tiOPF.lpk fica aqui
   \Core                <= core unit files
+
   \Core                <= arquivos de unidade core
   \Options            <= optional unit file for extra features
+
   \Options            <= arquivo opcional de unidade para funcionalidades extra
 
   \GUI
 
   \GUI
 
   
 
   
  Using this example, I included in the "Options - Usage - Units"
+
  Usando este exemplo, eu incluí na caixa de edição "Opções - Uso - Unidades" o seguintes caminhos:
editbox the following paths:
+
  "$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI" que vão ser adicionados
  "$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI" which will be added
+
  a qualquer projeto que use este pacote.
  to whatever project uses this package.
 
  
== Contributors and Comments ==
+
== Contribuidores e Comentários ==
  
This page has been converted from the epikwiki [http://lazarus-ccr.sourceforge.net/index.php?wiki=LazarusPackages version].
+
Esta página foi convertida da
 +
[http://lazarus-ccr.sourceforge.net/index.php?wiki=LazarusPackages versão] epikwiki.

Latest revision as of 21:53, 10 June 2007

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) português (pt) русский (ru) slovenčina (sk)

Visão Geral do Sistema de Pacotes do Lazarus

O que é um pacote Lazarus?

Um pacote Lazarus é uma coleção de unidades e componentes contendo informação sobre como eles podem ser compilados e como eles podem ser usados por projetos ou outros pacotes ou a IDE. Ao contrário do Delphi, os pacotes não são limitados a bibliotecas e podem ser independentes de sistema operacional. (No Delphi um pacote é uma biblioteca especialmente compilada usada por aplicações, pela IDE ou por ambos. Os pacotes do Delphi requerem a magia do compilador Delphi, o que o FPC não é capaz de fazer no momento e, é claro, esta magia é dependente de sistema operacional.)

Atualmente o compilador Free Pascal só dá suporte a pacotes estáticos. Portanto você deve reiniciar a IDE a cada vez que um pacote é instalado ou desinstalado.

Um pacote Lazarus é identificado ou distinguido pelo nome e pela versão.

FAQ

P: É preciso instalar um pacote:?
R: Você só precisa instalar um pacote se ele contiver itens de tempo de desenho, como os componentes da paleta de componentes da IDE. Se você não usa estes itens, não precisa instalar o pacote. Se você só quer usar o pacote em seus projetos, não o instale. P: Eu instalei um pacote mas a IDE não encontra as unidades
R: Instalar um pacote significa que o pacote é integrado à IDE, não ao seu projeto. São duas coisas diferentes. Para usar um pacote no seu projeto, vá a Projeto > Inspetor de Projetos > Adicionar > Novo Requerimento. E desinstale o pacote se ele não contém itens usados pela IDE.

Início Rápido

Para ver o sistema de pacotes em ação e se acostumar com ele, faça o seguinte:

Criando um novo pacote:

  • Arquivo -> Novo... -> Pacote -> Pacote Padrão
  • Abre-se o editor de pacotes
  • Use o botão Salvar no alto à esquerda.
  • Dependendo da sua configuração de nome em Opções de Ambiente a IDE vai perguntar por salvar em minúsculas. Responda Sim.

Parabéns: Você criou o seu primeiro pacote.

Adicionando um novo componente:

  • Use o botão Adicionar -> Novo componente
  • Escolha um componente na combobox de classes ancestrais. Por exemplo: TBevel.
  • Clique em Ok
  • O arquivo vai ser adicionado ao pacote e aberto no editor
  • Instale o pacote clicando em 'instalar' no alto do editor de pacotes.
  • O Lazarus vai salvar o pacote e perguntar se a IDE deve ser reconstruida. Responda Sim.
  • Os pacotes são vinculados estaticamente, portanto é preciso reiniciar a IDE.
  • Reinicie o Lazarus e veja seu novo componente na paleta de componentes (por exemplo: um TBevel1 vai estar na aba 'Additional').
  • Se você não vê o seu componente na paleta de componentes, é possível que você não esteja executando a versão recompilada do Lazarus. Você pode configurar onde construir o Lazarus em Ambiente > Opções de Ambiente > Arquivos > Diretório do Lazarus. Em vez de chamar o Lazarus diretamente você pode usar o StartLazarus, que inicia o Lazarus recém-criado, por exemplo o executável do Lazarus no diretório ~/.lazarus, se você não tem direito de acesso para gravação ao diretório em que o Lazarus está instalado.

Parabéns: Você instalou o seu primeiro pacote com seu primeiro componente.

Os itens de menu da IDE para pacotes:

  • Arquivo -> Novo... -> Pacote -> Pacote Padrão

Cria um novo pacote.

  • Projeto -> Inspetor de Projetos
 Aqui você pode ver que pacotes são requeridos pelo projeto atualmente aberto.
 Você pode adicionar novas dependências ou remover as desnecessárias.
  • Executar -> Opções do Compilador -> Herdado
 Aqui você pode ver que opções de compilador são herdadas de que pacote.

Componentes ->

 - 'Abrir pacote'
   Uma caixa de diálogo mostra todos os pacotes abertos e o seu estado.
 - 'Abrir arquivo de pacote'
   Abre um arquivo .lpk
 - 'Abrir pacote da unidade atual'
   Abre o arquivo .lpk a que pertence o arquivo aberto no editor de código
   
 - 'Abrir pacote recente'
   Abre um pacote recentemente aberto (arquivoi .lpk )
 - 'Adcionar unidade atual a pacote'
   Adicioona a unidade aberta no editor de código a um pacote 
   
 - 'Gráfico de Pacotes'
   O gráfico de pacotes mostra todos os pacotes abertos e suas dependências
 - 'Configurar pacotes instalados'
   Edita a lista de pacotes instalados na IDE. Instala ou desinstala vários pacotes de uma vez

Projeto -> Inspetor de Projetos

 Aqui você vê e edita todos os pacotes usados pelo projeto

A teoria

Cada pacote Lazarus tem um arquivo .lpk. Um pacote é identificado pelo seu nome e sua versão. O nome precisa corresponder ao nome do arquivo .lpk. Por exemplo:

Nome: Package1, Versão: 1.0, Nome do arquivo: /home/.../package1.lpk.

  • A IDE cria automaticamente o arquivo-fonte principal (package1.pas) Veja abaixo. O arquivo .lpk contém informação sobre os pacotes requeridos, os arquivos que ele usa, como compilá-los e o que é necessáro para usar o pacote por outros pacotes ou projetos. O diretório em que o arquivo .lpk está é chamado "diretório de pacotes".
  • A IDE mantém uma lista de todos os arquivos de pacote (<config directory>/packagelinks.xml) Toda vez que um pacote é aberto na IDE ele vai ser adicionado à lista. Quando um pacote é aberto, a IDE automaticamene abre todos os pacotes requeridos através desta lista.
  • Existem três pacotes básicos: FCL, LCL e SynEdit. Eles são parte da IDE e assim eles são auto-criados, somente leitura e não tem arquivo .lpk.
  • Normalmente um pacote tem um diretório de fontes com algumas unidades Pascal. E normalmente o arquivo .lpk estará lá também. Um pacote tem também um diretório de saída. O padrão é o subdiretório 'lib/$(TargetCPU)-$(TargetOS)/' no diretório de pacotes.
  • Antes de um pacote ser compilado a IDE verifica todos os pacotes requeridos e se eles precisam de atualização e tem a flag de auto-atualização eles são compilados primeiro. Então a IDE cria o pacote dos fontes principais. Se o arquivo .lpk era package1.lpk, o arquivo de fontes principal será package1.pas. O arquivo contém todas as unidades da cláusula uses mais o procedimento Register, que é chamado na seção de inicialização.

Por exemplo:

This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install
the package GTKOpenGL 1.0.
unit GTKOpenGL; interface uses GTKGLArea, GTKGLArea_Int, NVGL, NVGLX, LazarusPackageIntf; implementation procedure Register; begin RegisterUnit('GTKGLArea', @GTKGLArea.Register); end; initialization RegisterPackage('GTKOpenGL', @Register) end.
  • Então o compilador é chamado e o pacote é compilado para o diretório de saída.
  • Depois de uma compilação bem-sucedida o arquivo de estado é criado. O arquivo de estado é posto no diretório de saída. Ele tem o nome <packagename>.compiled e contém a informação de como o pacote foi compilado. Este arquivo de estado é usado pela IDE para verificar se atualizações são necessárias.

Por exemplo: gtkopengl.compiled:

<?xml version="1.0"?>
<CONFIG>
  <Compiler Value="/usr/bin/ppc386" Date="781388725"/>
  <Params Value=" -Rintel -S2cgi -CD -Ch8000000 -OG1p1
    -Tlinux -gl -vewnhi -l -Fu../../../lcl/units
    -Fu../../../lcl/units/gtk -Fu../../../packager/units
    -Fu. -FElib/ gtkopengl.pas"/>
</CONFIG>
  • A IDE abre todos os pacotes necessários automaticamente. Isto quer dizer que ela abre todos os pacotes instalados, todos os pacotes marcados para instalação (auto-instalados), todos os pacotes abertos no Editor, todos os pacotes requeridos pelo projeto e todos os pacotes requeridos por um dos outros pacotes. Pacotes desnecessários são automaticamente descarregados quando a IDE se torna ociosa.
  • A IDE nunca abre dois pacotes com o mesmo nome ao mesmo tempo. Quando o usuário abre outro arquivo de pacote com o mesmo nome de um pacote já aberto, a IDE vai perguntar por substituir o antigo.
  • A IDE mantém dois grupos extra de pacotes: os pacotes 'instalados' e os 'auto-instalados'. Os pacotes auto-instlados vão ser vinculados à IDE na próxima compilação. Ela cria dois novos arquivos no diretório de config: staticpackages.inc e idemake.cfg. Então ela chama 'make ide OPT=@/path/to/your/config/idemake.cfg' para se auto-compilar.

Dicas

  • Para renomear um pacote, use Salvar Como.

Exemplo:

Eu vou usar tiOPF framework como exemplo. The tiOPF tem o seguinte
layout de diretório, devido ao fato de que ele compila para FPC, 
Delphi 5-7, D2005 e 2006.
Fontes                <= caminho completo \Programming\3rdParty\tiOPF\Source
 \Compiladores
    \Delphi7          <= Pacote do Delphi 7 ficam aqui 
    \D2005
    \FPC              <= o tiOPF.lpk fica aqui 
 \Core                <= arquivos de unidade core
 \Options             <= arquivo opcional de unidade para funcionalidades extra
 \GUI

Usando este exemplo, eu incluí na caixa de edição "Opções - Uso - Unidades" o seguintes caminhos:
"$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI" que vão ser adicionados
a qualquer projeto que use este pacote.

Contribuidores e Comentários

Esta página foi convertida da versão epikwiki.