Zeos tutorial/pt: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | ## Descrição | |
| 2 | 2 | ||
| 3 | 3 | [Link do tutorial Instalação do ZeosLib no Lazarus (for Windows) pelo Professor Paulo do Amaral Costa, datado de Abril/2006](http://www.pauloamaral.com.br/cefetse.pa/zeos_lazarus.htm).\ | |
| 4 | 4 | [Link com breve explicação sobre os componentes da biblioteca ZeosLib pelo Professor Paulo do Amaral Costa](http://www.pauloamaral.com.br/cefetse.pa/zeoslib_tutorial.htm).\ | |
| 5 | 5 | Versão da ZeosLib: zeosdbo-6.5.1-alpha_cvs_13-10-2005\ | |
| 6 | 6 | Versão do Lazarus: Lazarus-0.9.14.1-20060402-win32 (Freepascal 2.0)\ | |
| 7 | 7 | Sistema Operacional: Windows XP\ | |
| 8 | 8 | Obrigado por sua contribuição, Professor. | |
| 9 | 9 | ||
| 10 | 10 | Este tutorial trata de como começar, instalar e usar [Zeoslib](http://zeos.firmos.at/portal.php) com [[Glossary|Lazarus]] e [[Glossary|FPC]]. | |
| 11 | 11 | ||
| 12 | 12 | **A equipe do Zeos recentemente fez um novo fórum. Por favor, viste-o para maiores informações a respeito do Zeoslib e perguntar/responder a respeito de como usar o Zeos e reportar seus bugs. O novo fórum se encontra em [Forum for ZeosLib](http://zeos.firmos.at).** | |
| 13 | 13 | ||
| 14 | 14 | ## Começando com o Zeos | |
| 15 | 15 | ||
| 16 | 16 | Zeos foi recentemente portado para o Lazarus já com sua liberação oficial zeosdbo-6.6.0-beta liberado em 25-10-2006 [Zeosdbo-6.6.0](http://sourceforge.net/project/showfiles.php?group_id=35994). | |
| 17 | 17 | ||
| 18 | 18 | ## Instalando os componentes | |
| 19 | 19 | ||
| 20 | 20 | Esta é uma parte um pouco complicada, assim você deve ter um pouco de paciência e ler esta parte com cuidado. | |
| 21 | 21 | ||
| 22 | 22 | - Certifique-se de ter a última versão do [Lazarus](http://sourceforge.net/project/showfiles.php?group_id=92177) e do último [Free Pascal](http://sourceforge.net/project/showfiles.php?group_id=2174) . | |
| 23 | 23 | ||
| 24 | 24 | - Inicie o Lazarus. | |
| 25 | 25 | ||
| 26 | 26 | 1. Opção **Componentes/Open Package File(.lpk)** no menu principal. | |
| 27 | 27 | 2. Abra o diretório **zeosdbo-6.6.0-beta\packages\lazarus\** selecione os arquivos **zcomponent.lpk** **zcore.lpk** **zdbc.lpk** **zparsesql.lpk** **zplain.lpk** e clique em abrir, quando abrirá cada pacote em uma janela | |
| 28 | 28 | 3. Pressione **\[Compilar\]** em cada pacote ( janela aberta ) | |
| 29 | 29 | 4. Pressione **\[Instalar\]** na janela zcomponent.lpk | |
| 30 | 30 | 5. Você será perguntado se deseja recompilar o lazarus. | |
| 31 | 31 | ||
| 32 | 32 | - Responda **\[Sim\]** . | |
| 33 | 33 | - Espere até a compilação concluir, Lazarus reiniciará em seguida. | |
| 34 | 34 | - Se tudo ocorrer bem você deverá ver agora a aba de \[acesso da lib Zeos\] na Paleta de componentes. | |
| 35 | 35 | ||
| 36 | 36 | Se você receber o erro "Cannot find unit ZClasses" (não pude encontrar a unit ZClasses) ou algo similar, você necessitará verificar com cuidado os nomes dos arquivos na sua fonte do Zeos. | |
| 37 | 37 | ||
| 38 | 38 | - Mesmo se maiúsculas e minúsculas coincidirem exatamente, o arquivo dos fontes do pacote auto-gerado pode gerar coincidências maiúscula/minúscula erradas na cláusula uses (Lazarus 0.9.18). Exemplo: | |
| 39 | 39 | ||
| 40 | - | ||
| 41 | - | ||
| 42 | - | ||
| 43 | - | ||
| 44 | - | ||
| 45 | - | ||
| 46 | - | ||
| 47 | - | ||
| 48 | - | ||
| 49 | - | ||
| 50 | - | ||
| 40 | + | ``` pascal | |
| 41 | + | { This file was automatically created by Lazarus. Do not edit! | |
| 42 | + | This source is only used to compile and install the package. | |
| 43 | + | } | |
| 44 | + | unit Zcore; | |
| 45 | + | interface | |
| 46 | + | uses | |
| 47 | + | Zclasses, Zcollections, Zcompatibility, Zexprparser, Zexprtoken, Zexpression, | |
| 48 | + | Zfunctions, Zmatchpattern, Zmessages, Zsysutils, Ztokenizer, Zvariables, | |
| 49 | + | Zvariant; | |
| 50 | + | implementation | |
| 51 | + | end. | |
| 52 | + | ``` | |
| 51 | 53 | ||
| 52 | 54 | - Note que o Lazarus nomeou a unidade ZClasses como Zclasses, resultando em um conflito de nomes. Presumivelmente esse é um bug do Lazarus, não do pacote Zeos. Uma maneira de contornar isso é nomear todos os arquivos de fontes do Zeos para minúsculas. Vasculhe os subdiretórios em src/ e execute este comando numa janela bash: | |
| 53 | 55 | ||
| 54 | - | ||
| 56 | + | ```text | |
| 57 | + | rename -v 'y/A-Z/a-z/' * | |
| 58 | + | ``` | |
| 55 | 59 | ||
| 56 | 60 | - Depois, no Lazarus, reabra o pacote (.lpk) e conserte o nome do arquivo clicando em "More..."/"Fix Files Case". | |
| 57 | 61 | - O pacote deverá compilar. | |
| 58 | 62 | ||
| 59 | 63 | ## Comentários | |
| 60 | 64 | ||
| 61 | 65 | Atualmente o CVS do Zeos para Lazarus tem pacotes quebrados. Alguns comentários do IgD: | |
| 62 | 66 | ||
| 63 | 67 | Usando uma instalação recente do Lazarus 0.9.12 (latest stable version) eu pude instalar a ZeosLib datada de 13 de Out de 05. Primeiro conserte os seguintes bugs na ZeossLib: | |
| 64 | 68 | ||
| 65 | 69 | - 1\. Mude ZplainPostgreSql81.pas para ZPlainPostgresSql8x.pas em zplain.lpk | |
| 66 | 70 | ||
| 67 | - | ||
| 68 | - | ||
| 69 | - | ||
| 70 | - | ||
| 71 | + | ```text | |
| 72 | + | <Item22> | |
| 73 | + | <Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/> | |
| 74 | + | <UnitName Value="ZPlainPostgreSql8x"/> | |
| 75 | + | </Item22> | |
| 76 | + | ``` | |
| 71 | 77 | ||
| 72 | 78 | - 2\. Conserte os seguintes erros em zdbc.lpk: | |
| 73 | 79 | ||
| 74 | 80 | a\. Remova os "/" extra de "build/" (remova o que está entre as aspas) | |
| 75 | 81 | ||
| 76 | - | ||
| 77 | - | ||
| 78 | - | ||
| 79 | - | ||
| 82 | + | ```text | |
| 83 | + | <SearchPaths> | |
| 84 | + | <OtherUnitFiles Value="../../src/dbc/"/> | |
| 85 | + | <UnitOutputDirectory Value="build/"/> | |
| 86 | + | </SearchPaths> | |
| 87 | + | ``` | |
| 80 | 88 | ||
| 81 | 89 | b\. Coloque as aspas que faltam em unitname value | |
| 82 | 90 | ||
| 83 | - | ||
| 84 | - | ||
| 85 | - | ||
| 86 | - | ||
| 91 | + | ```text | |
| 92 | + | <Item43> | |
| 93 | + | <Filename Value="../../src/dbc/ZDbcASA.pas"/> | |
| 94 | + | <UnitName Value="ZDbcASA/> | |
| 95 | + | </Item43> | |
| 96 | + | ``` | |
| 87 | 97 | ||
| 88 | 98 | Aqui estão as instruções de instalação: | |
| 89 | 99 | ||
| 90 | 100 | Antes do Lazarus 0.9.13 você precisa abrir cada um dos pacotes por Components/Open Package File na seguinte ordem: | |
| 91 | 101 | ||
| 92 | 102 | 1. zcore.lpk | |
| 93 | 103 | 2. zparsesql.lpk | |
| 94 | 104 | 3. zplain.lpk | |
| 95 | 105 | 4. zdbc.lpk | |
| 96 | 106 | ||
| 97 | 107 | Finalmente abra zcomponent.lpk, compile e instale este pacote. 0.9.13 pode simplesmente abrir zcomponent.lpk. A IDE vai abrir o resto automaticamente. | |
| 98 | 108 | ||
| 99 | 109 | Nota: os primeiros quatro pacotes só precisam ser compilados e não podem ser instalados. | |
| 100 | 110 | ||
| 101 | 111 | --Forest 17:41, 2 Nov 2005 (CET) | |
| 102 | 112 | ||
| 103 | 113 | - 3\. Se você compilar e instalar o Zeos com sucesso, mas não o Lazarus, depois de reconstruir comece com: | |
| 104 | 114 | ||
| 105 | 115 |  | |
| 106 | 116 | ||
| 107 | 117 | Então você pode fazer: | |
| 108 | 118 | ||
| 109 | 119 | No arquivo Zeos.Inc substitua, na seção "// Settings for Debug mode": {\$R-} por {\$R+} | |
| 110 | 120 | ||
| 111 | 121 | --Junior 19:48, 15 Apr 2006 (GMT) | |
| 112 | 122 | ||
| 113 | 123 | ## Fazendo sua primeira aplicação Zeos | |
| 114 | 124 | ||
| 115 | 125 | - Insira no formulário o componente **ZConnection** para estabelecer a conexão com o banco de dados. | |
| 116 | 126 | - Configure no Object Inspector selecionando seu Banco de Dados "Database", seu Usuário "User", sua senha "Password", o Host, a porta "Port" e o protocolo "Protocol" (e outros parâmetros se necessário) para a conexão com o banco de dados. | |
| 117 | 127 | - Configure Conectado "Connected" como Verdadeiro "True". | |
| 118 | 128 | ||
| 119 | 129 | - Drop a **ZQuery** (do not mistake with ZReadOnlyQuery). | |
| 120 | 130 | - Set the Connection to your active ZConnection. | |
| 121 | 131 | - Set the Sql property to something like **SELECT * FROM MyTable** | |
| 122 | 132 | - Set Active to True. | |
| 123 | 133 | ||
| 124 | 134 | - Drop a **DataSource** from the **\[Data Access\]** tab. | |
| 125 | 135 | - Set the DataSet to your active ZQuery. | |
| 126 | 136 | ||
| 127 | 137 | - Drop a **DBGrid** from the **\[Data Controls\]** tab. | |
| 128 | 138 | - Set the Datasource to your DataSource. | |
| 129 | 139 | - If all is ok you should now be able to see the records from your table. | |
| 130 | 140 | ||
| 131 | 141 | ## Maiores informações sobre como trabalhar com Zeos | |
| 132 | 142 | ||
| 133 | 143 | Aqui você encontra alguns artigos explicando o uso do Zeos, alguns deles falam especificamente no uso com a linguagem Delphi, mas na maioria das vezes as mesmas técnicas podem ser usadas também no Lazarus.\ | |
| 134 | 144 | ||
| 135 | 145 | - [Tutorial ZeosLib DBOs 6.1.5 - com Delphi 7 e Firebird 1.5](http://zeos.firmos.at/kb.php?mode=article&k=6) | |
| 136 | 146 | - [Tradução e adaptação do Tutorial ZeosLib DBOs 6.1.5 - With Delphi 7 and Firebird 1.5](http://www.pauloamaral.com.br/cefetse.pa/zeoslib_tutorial.htm) | |
| 137 | 147 | - [Overview of the Zeos Database Objects Architecture](http://zeos.firmos.at/kb.php?mode=article&k=4) | |
| 138 | 148 | - [Uma introdução a API ZDBC](http://zeos.firmos.at/kb.php?mode=article&k=5) | |
| 139 | 149 | - Verifique na seção [Downloads](http://zeos.firmos.at/downloads.php) exemplos reais que podem ser facilmente portados para o Lazarus. | |
| 140 | 150 | ||
| 141 | 151 | **Por favor complete-me :)** | |
| 142 | 152 | ||
| 143 | 153 | ## Possible Bugs and Issues | |
| 144 | 154 | ||
| 145 | 155 | 1. Eu notei que às vezes, ao construir o Lazarus, ele não consegue achar alguns arquivos do Zeos. Para contornar, tente isso: | |
| 146 | 156 | - Vá a **Components/Package Graph** no menu principal . | |
| 147 | 157 | - Abra o pacote **ZComponent** . | |
| 148 | 158 | - Clique com o botão direito em **Files**. | |
| 149 | 159 | - Escolha **\[Recompile all required\]**. | |
| 150 | 160 | - Quando perguntado "Re-Compile this and all required packages?" responda **\[Yes\]**. | |
| 151 | 161 | - Recompile o Lazarus normalmente (com os pacotes).\ | |
| 152 | 162 | \ | |
| 153 | 163 | 2. Existe um bug em [[Glossary|FPC's]] [AnsiStrComp](http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/ansistrcomp.html) que causa unreliable PChar comparison, isso é óbvio ao usar um DBGrid para editar dados, **AnsiStrComp('abc', 'abcd')** can't detect them as being different but it detects **AnsiStrComp('abd', 'abcd')** ignoring multiple chars from the second string. Este bug foi encontrado porJesusrmx. Provavelmente vai ser corrigido logo, veja [Bug Report](http://www.freepascal.org/bugs/showrec.php3?ID=4325). | |
| 154 | 164 | ||
| 155 | 165 | --- | |
| 156 | 166 | *From the Free Pascal wiki, page "Zeos tutorial/pt", as it stood on 2008-06-23 after a change by Pamaral, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
