diff options
Diffstat (limited to 'koffice-i18n-pt/docs/koffice/kexi')
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/Makefile.am | 4 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/basics.docbook | 540 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/building.docbook | 312 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/comparing.docbook | 120 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/configuration.docbook | 182 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/credits.docbook | 101 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/database.docbook | 780 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/designingforms.docbook | 1701 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/enteringdataintotables.docbook | 157 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/enteringdatausingforms.docbook | 31 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/index.docbook | 152 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/intro.docbook | 61 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/menus.docbook | 1289 | ||||
-rw-r--r-- | koffice-i18n-pt/docs/koffice/kexi/querydesigning.docbook | 153 |
14 files changed, 5583 insertions, 0 deletions
diff --git a/koffice-i18n-pt/docs/koffice/kexi/Makefile.am b/koffice-i18n-pt/docs/koffice/kexi/Makefile.am new file mode 100644 index 00000000..6869837a --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = pt +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/koffice-i18n-pt/docs/koffice/kexi/basics.docbook b/koffice-i18n-pt/docs/koffice/kexi/basics.docbook new file mode 100644 index 00000000..b807c26f --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/basics.docbook @@ -0,0 +1,540 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> + + --> + +<chapter id="basics"> + <title +>Bases do &kexi; </title> + + <sect1 id="doc-vs-project"> + <title +>Bases de Dados do &kexi; </title> + <para +>Muitas aplicações, como o OpenOffice.org ou o Microsoft Excel criam ficheiros chamados <firstterm +>documentos</firstterm +>. O &kexi; também cria ficheiros, só que normalmente refere-se a eles como sendo <firstterm +>ficheiros de bases de dados do &kexi;</firstterm +> ou simplesmente <firstterm +>ficheiros de bases de dados</firstterm +> aqui. Os ficheiros de bases de dados do &kexi; têm normalmente a extensão <filename +>.kexi</filename +>. </para> + +<!-- TODO: Picture of Kexi database icon? --> + + <para +>Para além de gravar as suas bases de dados nos ficheiros respectivos, o &kexi; pode também usar as bases de dados em <firstterm +>servidores dedicados</firstterm +>, razão pela qual se referiu anteriormente aos <emphasis +>ficheiros de bases de dados</emphasis +> e não somente <emphasis +>bases de dados</emphasis +>. </para> + + <para +>O termo <firstterm +>projecto do &kexi;</firstterm +>, ou simplesmente <firstterm +>projecto</firstterm +>, também é usado para se referir a uma base de dados do &kexi;, independentemente se é gravado num ficheiro ou num servidor de bases de dados. </para> + </sect1> + + <sect1 id="new-database"> + <title +>Criar um Novo Ficheiro de Base de Dados </title> + + <procedure> + <step> + <para +>Execute o &kexi; ou, se já estiver a correr, use a opção <menuchoice +> <shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>N</keycap +></keycombo +> </shortcut +> <guimenu +>Ficheiro</guimenu +><guimenuitem +>Novo</guimenuitem +> </menuchoice +>. </para> + </step> + <step> + <para +>Carregue no botão <guibutton +>OK</guibutton +> para confirmar a criação do projecto. </para> + </step> + <step> + <para +>Indique um nome para o seu projecto e carregue em <guibutton +>Próximo</guibutton +>. </para> + </step> + <step> + <para +>Use o navegador de ficheiros para escolher a pasta onde deseja gravar o seu ficheiro de base de dados. Poderá alterar o nome do ficheiro no campo de <guilabel +>Localização:</guilabel +>, se não gostar do que é sugerido. </para> + </step> + <step> + <para +>Carregue em <guibutton +>Criar</guibutton +>. </para> + </step> + </procedure> + </sect1> + + <sect1 id="main-window"> + <title +>A Janela Principal do &kexi; </title> + <para +>O <guilabel +>Navegador do Projecto</guilabel +> e o <guilabel +>Editor de Propriedades</guilabel +> são mostrados em áreas bem definidas de cada lado da janela-filha. Estes podem ser dimensionados ou escondidos de acordo com a necessidade. Uma área poderá ser escondida se carregar na pequena cruz no cimo da área (logo por baixo da barra de ferramentas). </para> + <para +>Os objectos da base de dados (tabelas, pesquisas, etc.) listados no <guilabel +>Navegador do Projecto</guilabel +> podem ser abertos se carregar (ou fizer duplo-click, dependendo da configuração global do &kde;) nos seus nomes. </para> + +<sect2 id="main-application-elements"> +<title +>Elementos principais da aplicação </title> +<!-- +<br +><img src="img/04_06_00_main_window.png"> +<br +>Kexi's main window<br +><br> +--> +<itemizedlist> +<title +>Os elementos principais da janela da aplicação &kexi; são: </title> +<listitem> +<para +><emphasis +>Barra de Menu</emphasis +></para> +<para +>contém os comandos disponíveis para a aplicação. Irá encontrar uma descrição detalhada dos vários comandos no apêndice. </para> +</listitem> +<listitem> +<para +><emphasis +>Barra de ferramentas</emphasis +></para> +<para +>contém os comandos usados com maior frequência. </para> +</listitem> + +<listitem> +<!-- @todo: link to the various chapters from the listitems --> +<para +><emphasis +>Área do <guilabel +>Navegador do Projecto</guilabel +></emphasis +></para> +<para +>contém uma lista com os vários objectos (tabelas, pesquisas, formulários, ...) criado dentro do projecto actualmente aberto. O navegador também contém uma pequena barra de ferramentas com os comandos mais usados, relacionados com os objectos da base de dados. </para> +</listitem> + +<listitem> +<para +><emphasis +>Área dos <guilabel +>Objectos da base de dados aberta</guilabel +></emphasis +></para> +<para +>uma área central da aplicação que ocupa a maior parte do espaço no ecrã. No caso do modo de interface IDEAl, contém páginas seleccionáveis que estão sempre maximizadas. No modo de janelas-filhas, contém janelas flutuantes. </para> +</listitem> + +<listitem> +<para +><emphasis +>Área de <guilabel +>Propriedades</guilabel +></emphasis +></para> +<para +>contém uma lista das propriedades do objecto activo de momento na base de dados. Para alguns objectos (⪚, itens gráficos do formulário), poderá consistir em várias páginas. </para> +</listitem> + +<listitem> +<para +><emphasis +>Barra de tarefas</emphasis +></para> +<para +>contém uma lista das janelas abertas de momento com objectos da base de dados. Para o modo de interface IDEAl, está disponível como um conjunto de páginas. Para o modo de interface com janelas-filhas, está disponível como um conjunto de botões que se comportam como a barra de tarefas do seu sistema operativo. </para> +</listitem> + +</itemizedlist> + +<sect3 id="project-navigator-pane"> +<title +>Área do <guilabel +>Navegador do Projecto</guilabel +></title> +<para +>A área do <guilabel +>Navegador do Projecto</guilabel +> é um dos elementos usados com maior frequência na janela principal do &kexi;. A área contém uma lista com todos os objectos criados dentro do projecto de base de dados do &kexi; aberto actualmente. Os objectos estão divididos em grupos: tabelas, pesquisas, formulários. </para> +<para id="project-navigator-pane-toolbar" +>A área do <guilabel +>Navegador do Projecto</guilabel +> contém uma <emphasis +>pequena barra de ferramentas para os comandos mais frequentes</emphasis +> (da esquerda para a direita): <guilabel +>Abrir o objecto seleccionado</guilabel +>, <guilabel +>Desenhar o objecto seleccionado</guilabel +>, <guilabel +>Criar um novo objecto</guilabel +> e <guilabel +>Apagar o objecto seleccionado</guilabel +>. </para> +<para +>Para cada objecto da lista, existe um menu de contexto que está disponível através do &RMB;. Por exemplo, este é o menu de contexto da tabela <emphasis +>pessoas</emphasis +>. </para> + +<para +>Se fizer duplo-click com o &LMB; no nome do objecto na lista, permitirá abrir o objecto na Vista de Dados. Se a janela do objecto já estiver aberta, a acção simplesmente activa a janela sem mudar o modo da sua janela. </para> +<para +>Lembre-se que o seu sistema operativo poderá estar configurado para lidar com 'clicks' simples em vez de duplos. Neste caso, é suficiente carregar uma vez no nome do objecto para abrir a sua janela. </para> + +</sect3> + +<sect3 id="database-object-windows"> +<title +>Janelas dos objectos da base de dados</title> + +<orderedlist> +<title +>Abrir a janela de um objecto</title> +<listitem> +<para +>Seleccione o objecto na <link linkend="project-navigator-pane" +>área do Navegador do Projecto</link +>. </para> +</listitem> +<listitem> +<para +>Carregue no botão <guibutton +>Abrir</guibutton +> na <link linkend="project-navigator-pane-toolbar" +>barra de ferramentas da área do Navegador do Projecto</link +>. </para> +</listitem> +</orderedlist> + +<itemizedlist> +<title +>Comandos relacionados com janelas de objectos</title> +<listitem +><para +><emphasis +>Fechar uma janela de um objecto</emphasis +></para> +<para +>Quando for usado o modo de interface IDEAl (por omissão), cada janela terá a sua própria página. Passe o cursor do rato sobre o ícone no separador da página. Irá ver então o botão para <guibutton +>Fechar</guibutton +>. Se carregar nele, irá fechar a página. </para> +<para +>No modo de janelas-filhas, do lado direito de cada janela aberta, existem botões que poderá usar para controlar a janela. Carregue na primeira do lado direito para fechar a janela. </para> +<para +>Em alternativa, de forma independente do modo de interface que usar, poderá seleccionar a opção <menuchoice +><guimenu +>Janela</guimenu +><guimenuitem +>Fechar</guimenuitem +></menuchoice +> do menu. </para> +</listitem> +<listitem +><para +><emphasis +>Botões da janela para o modo de interface de janelas-filhas</emphasis +></para> +<!-- +<para> +<br +><img src="img/04_06_02_window_buttons.png"> +<br +>Window's buttons<br +><br> +</para> +--> +<para +>Poderá usar os outros botões (da direita para a esquerda) para: maximizar, minimizar e desacoplar a janela. </para> +<para +>Existe um ícone pequeno à esquerda da barra de título, que poderá ser carregado para mostrar um menu de contexto com comandos relacionados com a janela. </para> +<!-- +<para +>See also Docking and undocking of the windows.</para> +--> +</listitem> +</itemizedlist> + +</sect3> + +<sect3 id="property-editor-pane"> +<title +>Área do <guilabel +>Editor de Propriedades</guilabel +></title> +<para +>A área do <guilabel +>Editor de Propriedades</guilabel +> permite alterar as propriedades do objecto mostrado na janela activa. Dependendo do contexto, a área consiste em uma ou mais páginas. A primeira das Propriedades, que está sempre visível, contém a lista de propriedades disponíveis. </para> +<!-- +<para> +<img src="img/04_06_03_prop_panel.png"> +<br +>Property Editor<br +><br> +</para> +--> +<itemizedlist> +<title +>Regras para usar o Editor de Propriedades:</title> +<listitem> +<para +>Cada linha corresponde a uma única propriedade.</para> +</listitem> +<listitem> +<para +>Poderá usar o rato ou o teclado para mudar os valores das propriedades em particular.</para> +</listitem> +<listitem> +<itemizedlist> +<title +>Os tipos de valores de propriedades usados com maior frequência são:</title> +<listitem> +<para +><emphasis +>um número;</emphasis +> poderá indicar o valor directamente, ou aumentá-lo ou diminuí-lo com o &LMB; nas setas. </para> +</listitem> +<listitem +><para +>texto</para +></listitem> +<listitem +><para +>uma lista de valores</para +></listitem> +<listitem +><para +><emphasis +>valor Sim/Não;</emphasis +> no formato de um botão que poderá comutar; o botão ligado significa um valor <guibutton +>Sim</guibutton +> (<emphasis +>verdadeiro</emphasis +>), enquanto o botão desligado significa um valor <guibutton +>Não</guibutton +> (<emphasis +>falso</emphasis +>). </para> +</listitem> +</itemizedlist> +</listitem> +<listitem +><para +>Não há necessidade de confirmar o valor alterado: as alterações são imediatamente visíveis após mudar para uma linha diferente da lista do Editor de Propriedades ou se carregar na tecla <keycombo +><keycap +>Enter</keycap +></keycombo +>. </para +></listitem> +<listitem> +<para +>Os nomes das propriedades alteradas recentemente e que ainda não tenham sido gravadas na base de dados estão marcadas a negrito. </para> +</listitem> +<listitem> +<para +>Após alterar o valor de uma propriedade, aparece um botão especial para <guibutton +>Desfazer as alterações</guibutton +> do lado direito da lista do Editor de Propriedades. Se carregar nele, poderá reverter o valor da propriedade ao seu original carregado da base de dados, quando abriu o objecto da base de dados. O botão só fica visível quando a propriedade ficar seleccionada de facto. </para> +</listitem> +</itemizedlist> + +<itemizedlist> +<title +>A área do Editor de Propriedades fica vazia se:</title> +<listitem +><para +>não estiver aberto qualquer objecto da base de dados ou</para> +</listitem> +<listitem +><para +>a janela do objecto activo da base de dados não oferecer propriedades; é normalmente o caso quando for aberto na Vista de Dados em vez da Vista do Desenho </para> +</listitem> +</itemizedlist> + +<!-- +<para> +See also the list of keyboard shortcuts available for the Property Editor +pane in appendix Property Editor pane. +</para> +--> + +</sect3> + +</sect2> + + </sect1> + + <sect1 id="project-opening"> + <title +>Abrir um ficheiro de base de dados do &kexi; existente </title> + <itemizedlist> + <title +>Para abrir um ficheiro de base de dados existente do &kexi;: </title> + <listitem +><para +>seleccione-o na janela <guilabel +>Abrir um Projecto Existente</guilabel +>; ou </para +></listitem> + <listitem +><para +>abra-o, carregando no ícone do ficheiro '.kexi'. </para +></listitem> + </itemizedlist> + + <sect2 id="window-open-existing"> + <title +>Abra um ficheiro de base de dados na janela para <guilabel +>Abrir um Projecto Existente</guilabel +> </title> + <itemizedlist> + <listitem +><para +>Execute o &kexi;. Deverá ver a janela inicial <guilabel +>Escolher o Projecto</guilabel +>. Escolha a página <guilabel +>Abrir um Projecto Existente</guilabel +>. Irá ver a seguinte janela: </para +></listitem> + <listitem +><para +>Na lista <guilabel +>Localização actual</guilabel +>, escolha uma pasta que contenha um ficheiro que você procure. </para +></listitem> + <listitem +><para +>Poderá tanto escolher um ficheiro como indicar o seu nome no campo da <guilabel +>Localização:</guilabel +>. </para +></listitem> + <listitem +><para +>Carregue em <guibutton +>OK</guibutton +>. </para +></listitem> + </itemizedlist> + + <sect3 id="open-existing-notes"> + <title +>Notas </title> + <itemizedlist> + <listitem +><para +>Por omissão, a lista <guilabel +>Filtro:</guilabel +> contém a opção <guilabel +>Projecto de Base de Dados em Ficheiro do Kexi</guilabel +> seleccionada. No caso de o ficheiro que anda à procura tiver outra extensão, pode mudar a selecção do <guilabel +>Filtro:</guilabel +> para <guilabel +>Todos os Ficheiros</guilabel +> para mostrar todos os ficheiros disponíveis (independentemente da extensão). </para +></listitem> + <listitem +><para +>Se tiver seleccionado um ficheiro de um tipo externo, como um ficheiro MDB do MS Access, o &kexi; irá mostrar-lhe uma opção para importar o ficheiro. </para +></listitem> + <listitem +><para +>Se tiver seleccionado um ficheiro de <emphasis +>dados da ligação</emphasis +> (com a extensão .kexic) ou um <emphasis +>atalho para um projecto no servidor de base de dados</emphasis +> (com a extensão .kexis), o &kexi; irá mostrar as janelas apropriadas. </para +></listitem> + </itemizedlist> + </sect3> + </sect2> + + <sect2 id="open-icon"> + <title +>Abrir um ficheiro de base de dados do &kexi; existente, carregando no ícone do ficheiro .kexi </title> + <para +>Carregue no ícone do ficheiro com o seu gestor de ficheiros ou no ecrã. O &kexi; irá abrir este projecto de base de dados automaticamente. </para> +<!-- <img src="icons/mime-kexiproject_sqlite.png" class="icon" +></img +> --> + <sect3 id="open-icon-notes"> + <title +>Notas </title> + <para +><emphasis +>Nota sobre os ficheiros de bases de dados acedidos remotamente.</emphasis +> Poderá querer abrir um ficheiro de base de dados que esteja localizado numa fonte remota (⪚, um servidor Web ou FTP ou uma partilha de MS Windows). O Ambiente de Trabalho K permite-lhe abrir ficheiros de fontes remotas directamente nas aplicações e gravar as alterações de volta na origem, mas este não é o caso dos ficheiros das base de dados. Se carregar num ficheiro de base de dados localizado numa origem remota, fará com que o ficheiro seja transferido para uma pasta temporária no seu computador e, eventualmente, todas as suas modificações serão feitas neste ficheiro local. O original remoto do ficheiro irá permanecer sem alterações após fechar o Kexi, por isso recomenda-se que copie (transfira) o ficheiro primeiro para o seu computador, abra o ficheiro local e copie-o de novo para a origem, se quiser actualizá-lo. </para> + </sect3> + </sect2> + </sect1> + + <sect1 id="using-help"> + <title +>Usar a ajuda incorporada </title> + <itemizedlist> + <title +>Estão disponíveis as seguintes formas de obter a ajuda incorporada no &kexi;: </title> + <listitem> + <para +><emphasis +>O Manual, no formato de documento electrónico.</emphasis +></para> + <para +>O Manual está disponível se carregar na tecla <keycombo +><keycap +>F1</keycap +></keycombo +> ou se seleccionar a opção <menuchoice +><guimenu +>Ajuda</guimenu +><guimenuitem +>Manual do &kexi;</guimenuitem +></menuchoice +> do menu. </para> + </listitem> + <listitem> + <para +><emphasis +>Sugestões O Que É Isto?.</emphasis +></para> + <para +>Seleccione a opção <menuchoice +><guimenu +>Ajuda</guimenu +><guimenuitem +>O Que É Isto?</guimenuitem +></menuchoice +> do menu e carregue numa área da aplicação para obter dicas sobre ela. </para> + </listitem> + </itemizedlist> + </sect1> + +</chapter> diff --git a/koffice-i18n-pt/docs/koffice/kexi/building.docbook b/koffice-i18n-pt/docs/koffice/kexi/building.docbook new file mode 100644 index 00000000..85e78e78 --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/building.docbook @@ -0,0 +1,312 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +--> + +<chapter id="building-databases"> +<title +>Criar Bases de Dados Simples</title> +<sect1 id="building-intro"> +<title +>Introdução</title> +<para +>Para aprender as bases do &kexi;, poderá criar uma base de dados simples, usando as funcionalidades mais elementares do &kexi;. Para tornar as coisas mais simples, os tópicos avançados de desenho de bases de dados não serão aqui cobertos. </para> +<para +>Comece por criar uma <emphasis +>Agenda Telefónica</emphasis +> nova e vazia. </para> + +<para +>Em tendo um projecto de base de dados novo e vazio, efectue os seguintes passos:</para> +<procedure> +<step +><para +>Desenhe as tabelas da base de dados. Leia a secção <xref linkend="designing-tables"/>.</para +></step> +<step +><para +>Introduza os dados nas tabelas. Leia a secção <xref linkend="entering-data-into-tables"/>.</para +></step> +<step +><para +>Desenhe as pesquisas da base de dados. Leia a secção <xref linkend="designing-queries"/>.</para +></step> +<step +><para +>Desenhe os formulários. Leia a secção <xref linkend="designing-forms"/>.</para +></step> +<step +><para +>Use os formulários para introduzir dados. Leia a secção <xref linkend="entering-data-using-forms"/>.</para +></step> +</procedure> +</sect1> + +<sect1 id="designing-tables"> +<title +>Desenhar as Tabelas de Base de Dados</title> +<para +>Primeiro, irão existir duas tabelas que serão adicionadas à sua base de dados: a <emphasis +>pessoas</emphasis +> e a <emphasis +>telefones</emphasis +>. Estas são exactamente as mesmas tabelas que estão descritas no capítulo <link linkend="database-and-spreadsheet" +>Bases de dados e folhas de cálculo</link +>. Poderá ser encontrado um formato para a <emphasis +>Pessoas</emphasis +> na secção de <link linkend="data-integrity-and-validity" +>Integridade e validade dos dados</link +> nesse capítulo. </para> + +<procedure> +<step> +<para +>Seleccione a opção do menu <menuchoice +><guimenu +>Inserir</guimenu +><guimenuitem +>Tabela</guimenuitem +> </menuchoice +>. Poderá também usar o botão <guilabel +>Criar um objecto: tabela</guilabel +> da <link linkend="project-navigator-pane" +>barra do Navegador do Projecto</link +>. </para> +</step> +<step> +<para +>A janela do Desenhador de Tabelas irá aparecer. Se olhar para o topo da janela de desenho, você irá reparar que o &kexi; propôs-lhe um nome genérico do tipo <emphasis +>modelo</emphasis +> para a tabela nova. O desenho da tabela ainda não está gravado, como tal poderá atribuir um nome mais apropriado mais tarde. Para além disso, devido à mesma razão, o nome da tabela ainda não está visível no <link linkend="project-navigator-pane" +>Navegador do Projecto</link +>. </para> +</step> +</procedure> + + +<sect2 id="design-window"> +<title +>A Janela do Desenhador de Tabelas</title> +<itemizedlist> +<title +>A janela do Desenhador de Tabelas consiste nas seguintes colunas:</title> +<listitem +><para +><guilabel +>PK</guilabel +> - Chave Primária. </para +></listitem> +<listitem +><para +><guilabel +>Nome do Campo</guilabel +> - o nome do campo (por outras palavras: o nome da coluna) que será visível durante a introdução de dados. </para +></listitem> +<listitem +><para +><guilabel +>Tipo de Dados</guilabel +> - uma lista com os tipos de dados que permite atribuir uma regra principal para os dados introduzidos num determinado campo. Por exemplo, quando um campo for do tipo de números inteiros, o utilizador da base de dados não poderá introduzir letras neste campo. </para +></listitem> +<listitem +><para +><guilabel +>Comentários</guilabel +> - poderá introduzir aqui quaisquer informações úteis para compreender para que serve o campo indicado. Este texto adicional poderá ser gravado dentro do desenho das tabelas e só ficará visível quando for desenhado. </para +></listitem> +</itemizedlist> +<para +>Na janela do <guilabel +>Desenhador de tabelas</guilabel +>, todas as linhas correspondem a um campo de uma única tabela. Poderá reconhecer que está no <emphasis +>modo de desenho</emphasis +>, porque o botão do <guibutton +>modo para Mudar para a Vista de Desenho</guibutton +> está activo na barra de ferramentas principal do &kexi;. </para> + + +<procedure> +<title +>Desenhar a tabela de <emphasis +>Pessoas</emphasis +>:</title> +<step +><para +>Na primeira linha, carregue na célula da coluna do <guilabel +>Nome do campo</guilabel +> e escreva <emphasis +>nome</emphasis +> como nome para o campo. </para> +<itemizedlist> +<title +>Notas sobre os nomes e títulos dos campos</title> +<listitem +><para +>Cada campo da tabela deverá ter um nome e um título, que não poderão estar vazios. </para +></listitem> +<listitem +><para +>O nomes do campo é uma palavra usada pela base de dados, que não está normalmente visível para os utilizadores da aplicação de bases de dados. O nome não pode conter caracteres nacionais (como o ±, ¶, Ü), caracteres especiais ou espaços. Os nomes só poderão conter letras alfabéticas, números e o sinal de sublinhado "_". Use a última opção em vez dos espaços ou hífenes. </para +></listitem> +<listitem +><para +>Os nomes dos campos deverão começar por uma letra ou sublinhado "_", nunca por um número. </para +></listitem> +<listitem +><para +>Não interessa se está a usar letras maiúsculas ou minúsculas. Para as bases de dados do &kexi;, a "Pessoas" é a mesma coisa que "pessoas". </para +></listitem> +<listitem +><para +>O título do campo, por outro lado, permite-lhe introduzir quaisquer letras ou caracteres especiais. Será apresentado para os utilizadores da aplicação de base de dados. </para +></listitem> +</itemizedlist> +</step> + +<step> +<itemizedlist> +<title +>De forma semelhante, indique os seguintes campos no desenho da tabela:</title> +<listitem +><para +><guilabel +>apelido</guilabel +></para +></listitem> +<listitem +><para +>rua</para +></listitem> +<listitem +><para +>numero_porta</para +></listitem> +<listitem +><para +>cidade</para +></listitem> +</itemizedlist> +</step> + +<step +><para +>Todos os campos acima, excepto o <emphasis +>numero_porta</emphasis +> são do tipo texto. Mude o tipo de campo do <emphasis +>numero_porta</emphasis +> para <emphasis +>número inteiro</emphasis +>. Para o fazer, carregue numa célula da coluna do <guilabel +>Tipo de Dados</guilabel +>, na linha <emphasis +>numero_porta</emphasis +> e carregue então no botão da lista (poderá também carregar em <keycombo +><keycap +>F4</keycap +></keycombo +> ou em <keycombo action="simul" +>&Alt;<keycap +>Baixo</keycap +></keycombo +>. A lista de tipos de dados irá então aparecer. Seleccione o tipo <emphasis +>Número inteiro</emphasis +>. </para +><para +>Por agora, o campo <emphasis +>numero_porta</emphasis +> só aceita números. </para +></step> + +<!-- TODO setting additional properties: e.g. caption --> +<step +><para +>O desenho da tabela <emphasis +>Pessoas</emphasis +> está pronto. Carregue no botão <guibutton +>Mudar para a Vista de Dados</guibutton +> da barra de ferramentas para terminar o desenho e mudar para Vista de Dados da tabela. Isto permite-lhe introduzir dados na tabela. </para +></step> + +<step +><para +>Como o desenho ainda não está gravado na base de dados, a janela para <guibutton +>Gravar o Objecto Como</guibutton +> irá aparecer. Terá de indicar o nome da tabela nova. </para> +<para +>O &kexi; oferece um nome genérico <emphasis +>Tabela1</emphasis +>. Para mudar o nome, indique <emphasis +>Pessoas</emphasis +> no campo do <emphasis +>Título</emphasis +> e carregue na tecla <keycombo +><keycap +>Enter</keycap +></keycombo +> ou no botão <guibutton +>OK</guibutton +>. O campo do <guilabel +>Título</guilabel +> será usado para mostrar a tabela para os utilizadores finais da base de dados, ⪚, como um formulário. Ao contrário do nome, o título poderá conter quaisquer caracteres, incluindo espaços e caracteres especiais. </para> +<para +>Lembre-se que o preenchimento do campo <guilabel +>Título</guilabel +> preenche automaticamente o campo <guilabel +>Nome</guilabel +>. Por razões de conveniência, a regra de utilização de apenas caracteres latinos, números e sublinhados "_" mantém-se. Poderá alterar o conteúdo do campo <guilabel +>Nome</guilabel +>, se o desejar. </para +></step> + +<step +><para +>É-lhe perguntado se concorda com a adição automática de uma chave primária à tabela. Carregue no botão <guibutton +>Adicionar uma chave primária</guibutton +> para continuar. </para +></step> + +<step +><para +>A tabela <emphasis +>Pessoas</emphasis +> foi criada e aberta na Vista de Dados. O seu nome aparecerá na área do <guilabel +>Navegador do Projecto</guilabel +>. </para +></step> + +<step +><para +>Crie a tabela de <emphasis +>telefones</emphasis +>, de forma semelhante à da tabela <emphasis +>pessoas</emphasis +>. </para +></step> + +<step +><para +>Crie o campo <emphasis +>pessoa</emphasis +> do tipo <emphasis +>Número inteiro</emphasis +> e o <emphasis +>telefone</emphasis +> do tipo <emphasis +>Texto</emphasis +>. Não use um número aqui, porque os números de telefone poderão conter vários formatos e prefixos. </para +></step> + +<step +><para +>Carregue no botão <guibutton +>Mudar para a Vista de Dados</guibutton +> na barra de ferramentas e indique <emphasis +>Telefones</emphasis +> como título da tabela. Como na sua tabela anterior, permita ao &kexi; criar uma chave primária automaticamente. </para +></step> +</procedure> + +</sect2> + +</sect1> +&enteringdataintotables; &querydesigning; &designingforms; &enteringdatausingforms; </chapter> + diff --git a/koffice-i18n-pt/docs/koffice/kexi/comparing.docbook b/koffice-i18n-pt/docs/koffice/kexi/comparing.docbook new file mode 100644 index 00000000..da430ca2 --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/comparing.docbook @@ -0,0 +1,120 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +--> + +<appendix id="comparing"> + <title +>Comparar o &kexi; com outras aplicações de bases de dados </title> + <para +>Ainda que as diferentes aplicações de bases de dados tendam a oferecer funcionalidades semelhantes, usam normalmente terminologias diferentes. Por razões de conveniência, este apêndice mostrar como a terminologia usada no &kexi; corresponde à usada pelas outras aplicações de bases de dados. Como tal, este capítulo poderá ser útil ao migrar as bases de dados de uma aplicação para outra. </para> + <sect1 id="comparing-data-types"> + <title +>Tipos de dados </title> + <para +>A tabela abaixo mostrar como os tipos de dados no &kexi; correspondem aos tipos de dados das outras aplicações de bases de dados. </para> + <para +>Alguns dos tipos de dados aqui indicados são <firstterm +>sub-tipos</firstterm +> de outros tipos. Por exemplo, o <emphasis +>Texto comprido</emphasis +> é um sub-tipo de <emphasis +>Texto</emphasis +>. Para usar um sub-tipo no &kexi;, deverá seleccionar o tipo básico correspondente (neste caso, o Texto) no desenhador de tabelas e, depois, seleccionar o sub-tipo, com a opção <guilabel +>Sub-tipo</guilabel +> do <guilabel +>Editor de Propriedades</guilabel +>. </para> + <table> + <title +>Comparação dos tipos de dados usados no &kexi; e noutras aplicações de bases de dados </title> + <tgroup cols="4"> + <thead> + <row> + <entry +>&kexi;</entry> + <entry +>MS Access</entry> + <entry +>dBase/FoxPro</entry> + <entry +>Paradox</entry> + </row> + </thead> + <tbody> + <row> + <entry +>Texto</entry> + <entry +>Texto</entry> + <entry +>Carácter</entry> + <entry +>Alfanumérico</entry> + </row> + <row> + <entry +>Texto comprido</entry> + <entry +>Memorando</entry> + <entry +>Memorando</entry> + <entry +>Memorando</entry> + </row> + <row> + <entry +>Data/Hora</entry> + <entry +>Data, Hora</entry> + <entry +>Data</entry> + <entry +>DataHora</entry> + </row> +<!-- Not visible in Kexi GUI yet. + <row> + <entry +>Object (Object)</entry> + <entry +>OLE Object</entry> + <entry +>General</entry> + <entry +>OLE, Graphical Binary</entry> + </row> +--> + <row> + <entry +>Número Inteiro</entry> + <entry +>Número (Inteiro)</entry> + <entry +>Numérico</entry> + <entry +>Inteiro</entry> + </row> + <row> + <entry +>Número Inteiro Grande</entry> + <entry +>Inteiro Longo</entry> + <entry +>Numérico</entry> + <entry +>Inteiro Longo</entry> + </row> + <row> + <entry +>Número de Vírgula Flutuante</entry> + <entry +>Número de Precisão Simples/Dupla</entry> + <entry +>Real</entry> + <entry +>Número</entry> + </row> + </tbody> + </tgroup> + </table> + </sect1> +</appendix> diff --git a/koffice-i18n-pt/docs/koffice/kexi/configuration.docbook b/koffice-i18n-pt/docs/koffice/kexi/configuration.docbook new file mode 100644 index 00000000..017d262d --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/configuration.docbook @@ -0,0 +1,182 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +--> + +<chapter id="configuration"> + <title +>Configurar o &kexi; </title> + + <para +>Este capítulo descreve a forma como poderá configurar o &kexi; para se adequar às suas próprias necessidades e preferências. </para> + + <sect1 id="configuring-window-layout"> + <title +>Disposição da Janela </title> + <para +>O &kexi; oferece uma <firstterm +>Interface de Documentos Múltiplos</firstterm +> (MDI). Isto significa que poderá ter vários objectos da base de dados (como as tabelas, pesquisas e 'scripts') abertos ao mesmo tempo e na mesma janela principal do &kexi;. Cada objecto da base de dados é mostrado numa <firstterm +>janela-filha</firstterm +> dentro da janela principal. </para> + <para +>Existe uma escolha de dois modos MDI disponíveis, permitindo escolher a forma como as janelas são geridas e apresentadas. Os dois modos são: <itemizedlist +> <listitem +><para +>modo IDEAl; e</para +></listitem +> <listitem +><para +>modo de janelas-filhas.</para +></listitem +> </itemizedlist +> Estes modos são descritos nas duas secções seguintes. Poderá alterar o modo MDI no sub-menu <guisubmenu +>Modo MDI</guisubmenu +> no menu <guimenu +>Janela</guimenu +>. Lembre-se que a alteração do modo MDI necessita que o &kexi; seja reiniciado antes de o modo novo fazer efeito. </para> + <sect2 id="window-layout-ideal"> + <title +>Modo IDEAl </title> +<!-- TODO: Screenshot of IDEAl mode --> + <para +>O modo IDEAl é o modo MDI por omissão, o que poderá ser familiar noutras aplicações do &kde;. Neste modo, existe apenas uma janela-filha maximizada dentro da janela principal do &kexi; de cada vez. Uma barra de páginas, que contém uma página por cada janela-filha, permite às outras janelas-filhas serem vistas, bastando para tal carregar na página relevante. </para> + </sect2> + <sect2 id="window-layout-childframe"> + <title +>Modo de janela-filha </title> +<!-- TODO: Screenshot of Childframe mode --> + <para +>No modo de janelas-filhas, estas são mostradas na janela principal do &kexi;, se bem que não necessitam de estar maximizadas dentro dela. Para usar o modo de janelas-filhas, terá de seleccionar a opção do menu <action +> <guimenu +>Janela</guimenu +>, <guisubmenu +>Modo MDI</guisubmenu +>, <guimenuitem +>Modo de Janelas-Filhas</guimenuitem +> </action +>. </para> + <para +>Cada janela-filha tem uma barra de título com botões para a maximizar, minimizar e fechar. Estes podem ser movidos e dimensionados dentro da janela principal, da forma normal (por exemplo, poderão ser movidos ao carregar e arrastar a barra de título). </para> + <para +>Os botões comportam-se da seguinte forma: o botão mais à direita fecha a janela-filha. O botão à esquerda maximiza a janela-filha - lembre-se que isto faz com que os botões passem para o canto superior direito da janela principal, acima do <guilabel +>Editor de propriedades</guilabel +>, se estiver aberta. O botão seguinte à esquerda activa ou desactiva o modo maximizado/restaurado da janela filha. </para> + <para +>O botão mais à esquerda separa ou <firstterm +>desacopla</firstterm +> a janela-filha, permitindo mudá-la de posição para fora da janela principal. Para mais informações sobre como acoplar e desacoplar as janelas, veja a secção seguinte. </para> + </sect2> + </sect1> + + <sect1 id="docking-windows"> + <title +>Acoplar e Desacoplar Janelas </title> + <para +>Por omissão, o <guilabel +>Navegador do Projecto</guilabel +> e o <guilabel +>Editor de Propriedades</guilabel +> são apresentados como parte da janela principal do &kexi;. É possível <firstterm +>desacoplar</firstterm +> cada um dos painéis, de modo a que seja apresentado numa janela separada. Uma vez desacoplado, é possível <firstterm +>acoplar</firstterm +> o painel, de modo a que apareça de novo na janela principal. </para> + <para +>No <link linkend="window-layout-childframe" +>modo de janelas-filhas</link +>, também é possível desacoplar janelas-filhas. Por exemplo, uma janela-filha que mostre uma tabela de base de dados poderá ser desacoplado, permitindo à janela filha que mostra a tabela ser maximizada no ecrã. </para> + <para +>Pode ser útil desacoplar uma janela ao usar: <itemizedlist> + <listitem> + <para +>um ecrã pequeno; </para> + </listitem> + <listitem> + <para +>tabelas, pesquisas ou formulários grandes; e/ou </para> + </listitem> + <listitem> + <para +>mais que um monitor. </para> + </listitem> + </itemizedlist> + </para> + <sect2> + <title +>Acoplar e desacoplar painéis laterais </title> + <para +>Os painéis laterais do <guilabel +>Navegador do Projecto</guilabel +> e o <guilabel +>Editor de Propriedades</guilabel +> podem ser desacoplados se: <itemizedlist> + <listitem> + <para +>fizer duplo-click na pega no cimo do painel; ou </para> + </listitem> + <listitem> + <para +>se carregar uma vez na seta do topo do painel, perto da cruz. </para> + </listitem> + </itemizedlist> +<!-- TODO: Screenshot --> + </para> + <para +>Uma vez desacopladas, as janelas do painel podem ser acopladas na janela principal de novo, de forma semelhante à com que elas foram desacopladas: <itemizedlist> + <listitem> + <para +>fazendo duplo-click na pega do topo da janela; ou </para> + </listitem> + <listitem> + <para +>se carregar uma vez na seta do topo do painel, perto da cruz. </para> + </listitem> +<!-- TODO: Screenshot --> + </itemizedlist> + </para> + </sect2> + <sect2> + <title +>Desacoplar e acoplar as janelas-filhas </title> + <para +>As janelas-filhas podem ser acopladas e desacopladas apenas no <link linkend="window-layout-childframe" +>modo de janelas-filhas</link +>. </para> + <para +>No modo de janelas-filhas, estas podem ser desacopladas se: <itemizedlist> + <listitem> + <para +>carregar com o botão direito na barra de páginas ou na página correspondente á janela a ser desacoplada e seleccionar <guilabel +>Desacoplar</guilabel +>; ou </para> +<!-- TODO: Screenshot --> + </listitem> + <listitem> + <para +>se carregar com o botão direito na barra de título da janela-filha e seleccionar <guilabel +>Desacoplar</guilabel +>; ou </para> +<!-- TODO: Screenshot --> + </listitem> + <listitem> + <para +>se a janela-filha <emphasis +>não</emphasis +> estiver maximizada, se carregar na seta do canto superior direito da janela-filha (ao lado dos botões para minimizar, maximizar e fechar essa janela-filha); </para> +<!-- TODO: Screenshot --> + </listitem> + <listitem> + <para +>se a janela-filha estiver maximizada, ao carregar na seta à direita do menu (a seguir aos botões para minimizar, restaurar e fechar dessa janela-filha). </para> +<!-- TODO: Screenshot --> + </listitem> + </itemizedlist> + </para> + <para +>Para acoplar uma janela-filha, carregue com o botão direito na barra de páginas ou na página que corresponda à janela a acoplar e seleccione a opção <guilabel +>Acoplar</guilabel +>. </para> +<!-- TODO: Screenshot --> + </sect2> + </sect1> +</chapter> diff --git a/koffice-i18n-pt/docs/koffice/kexi/credits.docbook b/koffice-i18n-pt/docs/koffice/kexi/credits.docbook new file mode 100644 index 00000000..8b61e929 --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/credits.docbook @@ -0,0 +1,101 @@ +<chapter id="credits"> +<!-- Include credits for the programmers, documentation writers, and + contributors here. The license for your software should then be + included below the credits with a reference to the appropriate + license file included in the KDE distribution. --> + +<title +>Créditos e Licença</title> + +<para +>&kexi; com 'copyright' 2002-2006 da Equipa do &kexi; <itemizedlist> + <title +>Programadores do &kexi;:</title> + <listitem> + <para +>Jaroslaw Staniek / OpenOffice Polska <email +>js@iidea.pl</email +></para> + </listitem> + <listitem> + <para +>Lucijan Busch <email +>lucijan@kde.org</email +></para> + </listitem> + <listitem> + <para +>Cedric Pasteur <email +>cedric.pasteur@free.fr</email +></para> + </listitem> + <listitem> + <para +>Adam Pigg <email +>adam@piggz.fsnet.co.uk</email +></para> + </listitem> + <listitem> + <para +>Martin Ellis <email +>martin.ellis@kdemail.net</email +></para> + </listitem> + <listitem> + <para +>Sebastian Sauer <email +>mail@dipe.org</email +></para> + </listitem> + <listitem> + <para +>Christian Nitschkowski <email +>segfault_ii@web.de</email +></para> + </listitem> + <listitem> + <para +>Peter Simonsson <email +>psn@linux.se</email +></para> + </listitem> + <listitem> + <para +>&Joseph.Wenninger; <email +>jowenn@kde.org</email +></para> + </listitem> + <listitem> + <para +>Seth Kurzenberg <email +>seth@cql.com</email +></para> + </listitem> + <listitem> + <para +>Laurent Montel <email +>montel@kde.org</email +></para> + </listitem> + <listitem> + <para +>Till Busch <email +>till@bux.at</email +></para> + </listitem> + </itemizedlist> +</para> + +<para +>Documentação de Martin A. Ellis <email +>martin.ellis@kdemail.net</email +>, Jaroslaw Staniek <email +>js@iidea.pl</email +> e com contribuições de Anne-Marie Mahfouf e Raphael Langerhorst. </para> + +<para +>Tradução de José Nuno Pires <email +>jncp@netcabo.pt</email +></para +> +&underFDL; &underLGPL; </chapter> diff --git a/koffice-i18n-pt/docs/koffice/kexi/database.docbook b/koffice-i18n-pt/docs/koffice/kexi/database.docbook new file mode 100644 index 00000000..1bd49510 --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/database.docbook @@ -0,0 +1,780 @@ +<!-- + <!DOCTYPE appendix PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +--> + +<appendix id="database"> +<title +>Introdução às Bases de Dados</title> + +<sect1 id="what-is-a-database"> +<title +>O Que é uma Base de Dados?</title> +<para +>Poderá definir uma base de dados com uma colecção de dados sobre um tópico. Está organizada de forma a permitir escolher facilmente a informação, fazer alterações ou adicionar itens novos. </para> +<para +>Veja este diagrama para um dos exemplos acima: uma agenda simples. </para> +<screenshot> + <screeninfo +>Um diagrama de uma base de dados de uma agenda</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="contact-example.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Um diagrama de uma base de dados de uma agenda</phrase> + </textobject> + </mediaobject> +</screenshot> +<para +>A imagem acima mostra um conjunto de dois contactos, sendo cada um deles apresentado num cartão em separado. Parece que cada um dos cartões poderá constituir uma linha única numa tabela: </para> + +<para +><emphasis +>Tabela de <guilabel +>Contactos</guilabel +></emphasis +></para> +<informaltable> +<tgroup cols="2"> +<tbody> +<row> +<entry +><guilabel +>Nome</guilabel +></entry> +<entry +><guilabel +>Núm. Tel.</guilabel +></entry> +</row> +<row> +<entry +>Zé</entry> +<entry +>699 23 43 12</entry> +</row> +<row> +<entry +>Pedro</entry> +<entry +>711 19 77 21</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para +><emphasis +>Termos e definições</emphasis +>: Um dado simples que constitui uma parte de uma colecção maior poderá ser chamado de <firstterm +>linha</firstterm +> ou, de forma mais profissional, um <firstterm +>registo</firstterm +>. A colecção chama-se normalmente <firstterm +>tabela</firstterm +>. Para além disso, o nome mais natural para a tabela é um que descreve os dados que oferece/guarda, que é o <guilabel +>Contactos</guilabel +>. Depois disso, cada linha da tabela consiste em <firstterm +>colunas</firstterm +>, também chamadas de <firstterm +>campos</firstterm +>. Na tabela <guilabel +>Contactos</guilabel +>, existem duas colunas (campos): o <guilabel +>Nome</guilabel +> e o <guilabel +>Num. Tel.</guilabel +>. </para> +<para +>Para utilizações simples, uma única tabela poderá constituir uma <firstterm +>base de dados</firstterm +>. Muitas pessoas consideram estas duas equivalentes. Como poderá ver, para as base de dados reais, é necessário normalmente mais que uma tabela. </para> +<para +>Para resumir, já tem uma base de dados simples com uma tabela <guilabel +>Contactos</guilabel +>. </para> +</sect1> + + +<sect1 id="database-and-spreadsheet"> +<title +>Base de Dados e Folha de Cálculo</title> +<para +>É bastante provável que já tenha usado folhas de cálculo, como o KSpread, o OpenOffice.org Calc ou o Microsoft Excel. Se for o caso, irá pensar provavelmente: dado que tanto as folhas de cálculo como as bases de dados têm tabelas, porque é que deverei usar a última? </para> +<para +>Enquanto estiver a comparar as folhas de cálculo e as bases de dados, poderá encontrar as seguintes questões que irá ver mais tarde em maior detalhe: </para> +<itemizedlist> +<listitem +><para +><link linkend="referential-data-integrity" +>Integridade de referência dos dados</link +></para +></listitem> +<listitem +><para +><link linkend="data-redundyncy" +>Redundância dos dados</link> +</para +></listitem> +<listitem +><para +><link linkend="data-integrity-and-validity" +>Integridade e validade dos dados</link +></para +></listitem> +<listitem +><para +><link linkend="data-limiting" +>Limitar a visualização dos dados</link +></para +></listitem> +<listitem +><para +><link linkend="performance-and-capacity" +>Performance e capacidade</link +></para +></listitem> +<listitem +><para +><link linkend="convenient-data-entry" +>Introdução de dados convenientes</link +></para +></listitem> +<listitem +><para +><link linkend="reports" +>Relatórios</link +></para +></listitem> +<listitem +><para +><link linkend="programming" +>Programação</link +></para +></listitem> +<listitem +><para +><link linkend="multiuse" +>Multi-usos</link +></para +></listitem> +<listitem +><para +><link linkend="security" +>Segurança</link +></para +></listitem> +</itemizedlist> + +<sect2 id="difference-database-and-spreadsheet"> +<title +>No que Difere uma Base de Dados de uma Folha de Cálculo?</title> + +<para +>Excedendo gradualmente a capacidade de um telemóvel, expanda a sua tabela <guilabel +>Contactos</guilabel +> ao adicionar uma coluna (campo) <guilabel +>Endereço</guilabel +>. Adicione mais números de telefone (escritório, casa) para cada pessoa e adicione apelidos aos nomes. Para simplificar, assumir-se-á o seguinte: </para> +<itemizedlist> +<listitem +><para +>a tabela está limitada a duas pessoas (obviamente, poderão existir centenas e milhares delas numa base de dados real)</para +></listitem> +<listitem +><para +>não existem duas pessoas com o mesmo nome e apelido</para> +</listitem> +</itemizedlist> +<para +><emphasis +>Tabela de contactos</emphasis +></para> +<informaltable> +<tgroup cols="3"> +<tbody> +<row> +<entry +><emphasis +>Nome e apelido</emphasis +></entry> +<entry +><emphasis +>Tel</emphasis +></entry> +<entry +><emphasis +>Endereço</emphasis +></entry> +</row> +<row> +<entry +>José Pires</entry> +<entry +>699 23 43 12</entry> +<entry +>Rua do Zé 1, Lisboa</entry> +</row> +<row> +<entry +>Pedro Morais</entry> +<entry +>711 19 77 21</entry> +<entry +>Rua do Pedro 2, Porto</entry> +</row> +<row> +<entry +>José Pires</entry> +<entry +>110 98 98 00</entry> +<entry +>Rua do Zé 1</entry> +</row> +<row> +<entry +>Pires José</entry> +<entry +>312 43 42 22</entry> +<entry +>Lisboa, Rua do Zé 1</entry> +</row> +<row> +<entry +>PEDRO Morais</entry> +<entry +>231 83 02 04</entry> +<entry +>Rua do Pedro 2, Porto</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para +>Uma tabela como esta tanto pode ser feita numa folha de cálculo como numa base de dados. Usar uma folha de cálculo é muito simples, claro. Quais são os problemas que encontra nesta altura? </para> + +<sect3 id="referential-data-integrity"> +<title +>Integridade de referência de dados</title> +<para +>Suponha que está a usar uma folha de cálculo e necessita de alterar o endereço de, pelo menos, uma pessoa. Tem aí um pequeno problema: terá frequentemente de alterar o endereço em várias linhas. Por exemplo, o José ocupa três linhas. Um problema real levantar-se-á se se esquecer de alterar uma das linhas - o endereço atribuído a essa pessoa será <emphasis +>ambíguo</emphasis +>, logo <emphasis +>os seus dados perdem integridade</emphasis +>. </para> +<para +>Para além disso, não existe uma forma simples de remover uma pessoa escolhida da tabela, dado que terá de se lembrar de apagar todas as linhas relacionadas com ela. </para> +</sect3> + + +<sect3 id="data-redundyncy"> +<title +>Redundância de dados</title> +<para +>Isto está ligado directamente ao problema anterior. Nos campos <guilabel +>Nome e apelido</guilabel +> e <guilabel +>Endereço</guilabel +>, são indicados os mesmos dados várias vezes. Isto é típico das folhas de cálculo, uma forma ineficiente de guardar dados, dado que a base de dados cresce desnecessariamente, consumindo mais recursos do computador (maior tamanho dos dados e um acesso mais lento). </para> +<para +>Como é que poderá resolver estes problemas com uma base de dados? Poderá dividir a informação em blocos mais pequenos se criar uma tabela adicional <emphasis +>Pessoas</emphasis +> com apenas duas colunas: <guilabel +>Nome e apelido</guilabel +> e <guilabel +>Endereço</guilabel +>: </para> + +<para +><emphasis +>Tabela de <guilabel +>Pessoas</guilabel +></emphasis +></para> +<informaltable> +<tgroup cols="2"> +<tbody> +<row> +<entry +><emphasis +>Nome e apelido</emphasis +></entry> +<entry +><emphasis +>Endereço</emphasis +></entry> +</row> +<row> +<entry +>José Pires</entry> +<entry +>Rua do Zé 1, Lisboa</entry> +</row> +<row> +<entry +>Pedro Morais</entry> +<entry +>Rua do Pedro 2, Porto</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para +>Cada linha da tabela <guilabel +>Pessoas</guilabel +> corresponde a uma <emphasis +>única pessoa</emphasis +>. A tabela <guilabel +>Contactos</guilabel +> é, a partir de agora, uma relação com a tabela <guilabel +>Pessoas</guilabel +>. </para> + +</sect3> + +<sect3 id="data-integrity-and-validity"> +<title +>Integridade e validade dos dados</title> +<para +>Repare na forma como os dados são introduzidos nos campos <guilabel +>Nome e apelido</guilabel +> e <guilabel +>Endereço</guilabel +>. As pessoas que introduzem os dados poderão ser falíveis ou mesmo negligentes. Nos nossos dados de exemplo, existem sequências diferentes de introdução do mesmo nome e apelido (José Pires e Pires José; Pedro e PEDRO), entre outras formas de introdução do mesmo endereço. Obviamente, poderá pensar ainda mais outras formas. </para> +<para +>O problema acima mostra que, ⪚, ao procurar o número de telefone de uma pessoa que tenha o endereço "Rua do Zé 1, Lisboa", não irá obter um resultado completo. Irá obter uma linha apenas, em vez de três. Para além disso, não irá encontrar todos os números de telefone que procurem pelo valor "José Pires" no campo <guilabel +>Nome e apelido</guilabel +>, dado que o "Pires José" não é igual ao "José Pires". </para> +<para +>Como é que poderá resolver estes problemas com uma base de dados? Podê-lo-á fazer se alterar o desenho da tabela <guilabel +>Pessoas</guilabel +> da seguinte forma: </para> +<orderedlist> +<listitem +><para +><emphasis +>Dividindo os dados</emphasis +> no campo <guilabel +>Nome e apelido</guilabel +> em dois campos separados: <guilabel +>Nome</guilabel +> e <guilabel +>Apelido</guilabel +>. </para +></listitem> +<listitem +><para +><emphasis +>Dividindo os dados</emphasis +> no campo <guilabel +>Endereço</guilabel +> em três campos separados <guilabel +>Rua</guilabel +>, <guilabel +>Número de Porta</guilabel +> e <guilabel +>Localidade</guilabel +>. </para +></listitem> +<listitem +><para +><emphasis +>Garanta a correcção dos dados:</emphasis +> assegurando que os campos não estão vazios, ⪚, tem sempre de indicar o número da porta. </para +></listitem> +</orderedlist> + +<para +>Uma tabela modificada fica parecida com algo do género: </para> + +<para +><emphasis +>Tabela de pessoas</emphasis +></para> +<informaltable> +<tgroup cols="5"> +<colspec colnum="1" colname="c1" +></colspec> +<colspec colnum="2" colname="c2" +></colspec> +<colspec colnum="3" colname="c3" +></colspec> +<colspec colnum="4" colname="c4" +></colspec> +<colspec colnum="5" colname="c5" +></colspec> +<tbody> +<row> +<entry +><emphasis +>Nome</emphasis +></entry> +<entry +><emphasis +>Apelido</emphasis +></entry> +<entry +><emphasis +>Rua</emphasis +></entry> +<entry +><emphasis +>Número da porta</emphasis +></entry> +<entry +><emphasis +>Cidade</emphasis +></entry> +</row> +<row> +<entry +>Zé</entry> +<entry +>Pires</entry> +<entry +>Rua do Zé</entry> +<entry +>1</entry> +<entry +>Lisboa</entry> +</row> +<row> +<entry +>Pedro</entry> +<entry +>Morais</entry> +<entry +>Rua do Pedro</entry> +<entry +>5</entry> +<entry +>Porto</entry> +</row> +<row> +<entry namest="c1" nameend="c5" +><emphasis +>Condições</emphasis +></entry> +</row> +<row> +<entry +>campo obrigatório</entry> +<entry +>campo obrigatório</entry> +<entry +>campo obrigatório</entry> +<entry +>campo obrigatório</entry> +<entry +>campo obrigatório</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para +>Graças à introdução das condições para <guilabel +>campo obrigatório</guilabel +>, poder-se-á garantir que os dados introduzidos estão completos. No caso das outras tabelas, poderá obviamente permitir a omissão de certos campos ao introduzir dados. </para> + +</sect3> + +<sect3 id="data-limiting"> +<title +>Limitar a visualização dos dados</title> +<para +>Uma folha de cálculo mostra todas as linhas e colunas da tabela, o que poderá ser incómodo no caso de folhas de dados muito grandes. Poderá, obviamente, filtrar e ordenar as linhas nas folhas de cálculo, contudo deverá ter bastante cuidado ao fazê-lo. Os utilizadores da folha de cálculo estão em risco de se esquecer que os dados foram filtrados, o que poderá conduzir a erros. Por exemplo, ao calcular somas, poderá pensar que tem 100 linhas de dados visíveis, quando de facto estão mais 20 escondidas. </para> +<para +>Se quiser lidar com um pequeno sub-conjunto de dados, ⪚, para o enviar para outras pessoas editarem, poderá copiá-lo e colá-lo noutra folha de cálculo e, após a edição, colar os dados alterados de novo na folha de cálculo principal. Esta edição "manual" poderá provocar a perda de dados ou cálculos incorrectos. </para> +<para +>Para limitar a <emphasis +>visualização dos dados</emphasis +>, as aplicações de bases de dados oferecem <emphasis +>pesquisas</emphasis +>, <emphasis +>formulários</emphasis +> e <emphasis +>relatórios</emphasis +>. </para> +<para +>Uma forma muito prática de limitar a seguinte versão extendida da tabela <guilabel +>Pessoas</guilabel +>, descrita anteriormente: </para> + +<para +><emphasis +>Tabela de pessoas</emphasis +></para> +<informaltable> +<tgroup cols="6"> +<tbody> +<row> +<entry +><emphasis +>Nome</emphasis +></entry> +<entry +><emphasis +>Apelido</emphasis +></entry> +<entry +><emphasis +>Rua</emphasis +></entry> +<entry +><emphasis +>Número da porta</emphasis +></entry> +<entry +><emphasis +>Cidade</emphasis +></entry> +<entry +><emphasis +>Vencimento</emphasis +></entry> +</row> +<row> +<entry +>Zé</entry> +<entry +>Pires</entry> +<entry +>Rua do Zé</entry> +<entry +>1</entry> +<entry +>Lisboa</entry> +<entry +>2300</entry> +</row> +<row> +<entry +>Pedro</entry> +<entry +>Morais</entry> +<entry +>Rua do Pedro</entry> +<entry +>5</entry> +<entry +>Porto</entry> +<entry +>1900</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para +>Vamos assumir que a coluna acabada de introduzir, <guilabel +>Vencimento</guilabel +>, contém dados confidenciais. Como é que poderá partilhar, ⪚, detalhes de contacto das pessoas com os seus colaboradores, mas sem <emphasis +>revelar os seus vencimentos</emphasis +>? É possível se <emphasis +>partilhar apenas uma pesquisa e não a tabela inteira</emphasis +>. A pesquisa poderia seleccionar todas as colunas, excepto a coluna <guilabel +>Vencimento</guilabel +>. No mundo das bases de dados, esse tipo de pesquisa é normalmente chamado de <guilabel +>vista</guilabel +>. </para> + +</sect3> + +<sect3 id="performance-and-capacity"> +<title +>Performance e capacidade</title> +<para +>O seu computador poderá ser muito rápido, contudo irá ver que não o ajudará com folhas de cálculo lentas e grandes. A sua eficiência baixa é, primeiro que tudo, devida à falta de índices que acelerem o processo de procura de dados (as bases de dados oferecem-nas). Para além disso, se usar coisas como a área de transferência do sistema, até a cópia de dados poderá ser problemática com o tempo. </para> +<para +>As folhas de cálculo que contenham grandes conjuntos de dados poderá levar uma eternidade a abrir. A folha de cálculo carrega um monte de dados para a memória do computador ao abrir. A maioria dos dados carregados será provavelmente inútil/desnecessária para si, de momento. As bases de dados, ao contrário das folhas de cálculo, carregam dados do disco do computador apenas se necessário. </para> +<para +>Na maioria dos casos, não terá de se preocupar como é que a base de dados guarda os seus dados. Isto significa que, ao contrário das folhas de cálculo, as bases de dados não se preocupam com: </para> +<itemizedlist> +<listitem +><para +>A sequência das linhas, dado que poderá ordená-las de acordo com as suas necessidades. Para além disso, poderá ver os mesmos dados em várias vistas com ordenações diferentes. </para +></listitem> +<listitem +><para +>O mesmo acontece com as colunas (campos) da tabela. </para +></listitem> +</itemizedlist> + +<para +>Em conjunto com o <link linkend="data-limiting" +>Limitar a visualização dos dados</link +>, descrito no parágrafo anterior, estas qualidades constituem a vantagem das bases de dados. </para> + +</sect3> + +<sect3 id="convenient-data-entry"> +<title +>Introdução de dados</title> +<para +>As últimas edições das aplicações para criar folhas de cálculo permitem-lhe desenhar formulários de introdução de dados. Esses formulários são extremamente úteis se os seus dados não puderem ser apresentados convenientemente numa tabela, ⪚, se o texto conter várias linhas ou se todas as colunas não couberem no ecrã. </para> +<para +>Nesse caso, a forma correcta como a folha de cálculo funciona é problemática. Os campos para a introdução de dados são colocados à vontade na folha de cálculo e, na maior parte dos casos, não são seguros no que respeita à intervenção do utilizador (intencional ou acidental). </para> +</sect3> + +<sect3 id="reports"> +<title +>Relatórios</title> +<para +>As bases de dados permitem agrupar, limitar e somar os dados numa espécie de <emphasis +>relatório</emphasis +>. As folhas de cálculo são normalmente impressas na forma de pequenas tabelas, sem um controlo automático completo sobre as divisões das páginas e a disposição dos campos. </para> +</sect3> + +<sect3 id="programming"> +<title +>Programação</title> +<para +>As aplicações para criar bases de dados contêm normalmente linguagens de programação completas. As bases de dados mas recentes também têm essa capacidade, contudo os cálculos servem para modificar os campos da folha de cálculo e para cópias simples dos dados, independentemente da relevância das regras de integridade mencionadas nos parágrafos anteriores. </para> +<para +>O processamento dos dados numa folha de cálculo é normalmente feito com uma interface do utilizador gráfica, que poderá atrasar a velocidade de processamento dos dados. As bases de dados são capazes de funcionar em segundo plano, fora das interfaces gráficas. </para> +</sect3> + +<sect3 id="multiuse"> +<title +>Multi-usos</title> +<para +>É difícil imaginar um multi-usos de uma folha de cálculo. Mesmo que seja tecnicamente possível, no caso das últimas aplicações, necessita de bastante disciplina, atenção e conhecimento por parte dos utilizadores, o que não pode ser garantido. </para> +<para +>Uma forma clássica de partilhar dados gravados numa folha de cálculo com outra pessoa é enviar um ficheiro como um todo (usando normalmente o e-mail) ou fornecer uma folha de cálculo pela rede. Esta forma de trabalho é pouco eficiente para os grupos maiores de pessoas - os dados que poderiam ser necessários numa dada altura em particular, poderão estar bloqueados de momento por outra pessoa. </para> +<para +>Por outro lado, as bases de dados foram desenhadas principalmente com acesso multi-usos e multi-utilizadores em mente. Mesmo o bloqueio mais simples, ao nível de uma linha de uma tabela em particular, é possível, o que permite uma partilha simples dos dados da tabela. </para> +</sect3> + +<sect3 id="security"> +<title +>Segurança</title> +<para +>A segurança de uma folha de cálculo ou de secções em particular com uma senha é meramente uma actividade simbólica. Após oferecer um ficheiro de folha de cálculo na rede do computador, todas as pessoas que sejam capazes de copiar o ficheiro, poderão tentar descobrir a senha. Normalmente, não será muito difícil, dado que a senha é guardada no mesmo ficheiro que a folha de cálculo. </para> +<para +>As funcionalidades para bloquear a edição ou a cópia de uma folha de cálculo (ou parte dela), são normalmente fáceis de quebrar. </para> +<para +>As bases de dados (excepto as gravadas num ficheiro em vez de um servidor) não necessitam de estar disponíveis num único ficheiro. Irá aceder a estas com a rede do computador, normalmente indicando um utilizador e uma senha. Irá ganhar acesso apenas àquelas áreas (tabelas, formulários ou mesmo colunas e linhas seleccionadas) que lhe tenham sido atribuídas, através dos direitos de acesso apropriados. </para> +<para +>Os direitos de acesso poderão afectar a capacidade de edição dos dados ou apenas da leitura de dados. Se não estiverem quaisquer dados disponíveis para si, poderá até nem ser enviado para o seu computador, como tal não há possibilidade de fazer uma cópia dos dados de forma simples, como acontece nas folhas de cálculo. </para> + +</sect3> +</sect2> +</sect1> + +<sect1 id="database-design"> +<title +>Desenho da Base de Dados</title> +<para +>O desenho de uma base de dados necessita de um planeamento cuidadoso. Lembre-se que a nova organização da tabela de contactos, proposta na secção 1.2, poderá gerar problemas quando a tabela for preenchida com dados. Por exemplo, se mudar o nome de um campo será uma tarefa simples, mas a divisão do campo <guilabel +>Endereço</guilabel +> em dois campos separados necessita de trabalho cuidadoso e aborrecido. </para> +<para +>Para evitar estas situações, <emphasis +>volte a pensar no seu projecto de base de dados</emphasis +> antes de a criar no seu computador e antes de você e os outros começarem a usá-la. Como tal, se investir algum tempo inicial, irá provavelmente poupá-lo no dia-a-dia. </para> +</sect1> + +<sect1 id="who-needs-a-database"> +<title +>Quem Precisa de uma Base de Dados?</title> +<itemizedlist> +<title +>Mantenha-se com as folhas de cálculo se:</title> +<listitem +><para +>As suas necessidades são limitadas e os seus dados nunca irão crescer para grandes volumes (será que consegue prever isso para agora?) </para +></listitem> +<listitem +><para +>Não for capaz de adquirir a metodologia de construção de bases de dados. Poderá, contudo, considerar requisitar essa tarefa a alguém que saiba ou usar ferramentas mais simples. </para +></listitem> +<listitem +><para +>Se você usar folhas de cálculo complicadas e não tem tempo ou dinheiro para mudar para bases de dados. Pense ou pergunte a alguém se isso não o levará a um beco-sem-saída. Não conte com ferramentas mágicas que iriam transformar a sua folha de cálculo (por melhor que estejam concebidas) numa base de dados. </para +></listitem> +</itemizedlist> + +<itemizedlist> +<title +>Pense em usar bases de dados se:</title> +<listitem +><para +>A sua colecção de dados se expande todas as semanas.</para +></listitem> +<listitem +><para +>Se cria com frequência folhas de cálculo novas, as copia para dentro destas e se sente que o seu trabalho está cada vez mais aborrecido. Nesse caso, o esforço de mudança para bases de dados vale sempre a pena. </para +></listitem> +<listitem +><para +>Poderá criar relatórios e instruções para os quais a vista da folha de cálculo não é adequada. Poderá então pensar em mudar para uma base de dados com janelas de formulários. </para +></listitem> +</itemizedlist> +</sect1> + +<sect1 id="database-software"> +<title +>'Software' de Criação da Base de Dados</title> +<para +>Até agora, ainda não aprendeu as características das bases de dados sem entrar em grandes pormenores sobre as aplicações específicas que os desenharam. </para> +<para +>As primeiras bases de dados que foram criadas em conjunto com os grandes servidores nos anos 60, ⪚, o IBM System/360. Esta não era a altura dos PCs, como tal, essas bases de dados necessitavam de pessoal altamente especializado. Ainda que o 'hardware' dos computadores antigos fosse pouco fiável, fosse extremamente mais lento e tivesse menos capacidade de armazenamento, uma das funcionalidades de bases de dados ainda continua atraente: o acesso aos dados por vários utilizadores na rede. </para> +<para +>Nos anos 70, os cientistas formaram a teoria das bases de dados relacionais (termos como: <firstterm +>tabela</firstterm +>, <firstterm +>registo</firstterm +>, <firstterm +>coluna (campo)</firstterm +> e <firstterm +>relação</firstterm +>, entre outros). Na base desta teoria, as bases de dados IBM DB2 e Oracle foram criadas, sendo desenvolvidas e usadas até hoje. Na última parte dos anos 70, foram construídos o primeiros PCs. Os seus utilizadores poderiam (gradualmente) usar vários tipos de aplicações, incluindo as usadas para a construção da base de dados. </para> +<para +>No que respeita a bases de dados empresariais grandes, a situação não mudou: continuam a pedir computadores poderosos ou complexos de computadores chamados <firstterm +>clusters</firstterm +>. Isto vai, porém, além do tópico deste manual. </para> +<para +>Na área de bases de dados acessíveis, com interfaces gráficas para PCs, poderá escolher o seguinte: </para> + +<itemizedlist> +<listitem +><para +><ulink url="http://www.dbase.com/" +>DBase</ulink +> - uma ferramenta para operar em bases de dados para DOS, popular nos anos 80. Os ficheiros no formato do DBase ainda hoje são usados em alguns casos específicos, devido à sua simplicidade. </para +></listitem> +<listitem +><para +><ulink url="http://msdn.microsoft.com/vfoxpro/productinfo/overview/" +>FoxPro</ulink +> - uma aplicação semelhante ao DBase (início dos anos 90). Após terem sido adquiridas pela Microsoft, as interfaces gráficas foram introduzidas e, como tal, é usada para criar bases de dados nos PCs. Este produto ainda é oferecido, ainda que esteja um pouco obsoleto. </para +></listitem> +<listitem +><para +><ulink url="http://office.microsoft.com/access/" +>Microsoft Access</ulink +> - uma aplicação para bases de dados (dados e desenho gráfico da interface) com muitas simplificações, o que o torna adequado para principiantes; foi desenhada no fim dos anos 80, baseada na arquitectura de 16 bits. Os produtos oferecidos ainda são usados nos dias de hoje, especialmente nas empresas pequenas, onde a eficiência e os requisitos multi-utilizador não são muito importantes. </para +></listitem> +<listitem +><para +><ulink url="http://www.filemaker.com/" +>FileMaker</ulink +> - uma aplicação conhecida e semelhante ao MS Access no que respeita à simplicidade, a operação em plataformas Windows e Macintosh, que é oferecida desde 1985. </para +></listitem> +<listitem +><para +><ulink url="http://www.kexi.pl/" +>&kexi;</ulink +> - uma aplicação multi-plataforma (Unix/Linux, Windows, Mac OS X), desenhada em 2003, desenvolvida de acordo com os princípios OpenSource, parte do projecto global que é o <ulink url="http://www.kde.org/" +>Ambiente de Trabalho K</ulink +>, &ie; um ambiente gráfico para os sistemas Unix/Linux. Uma contribuição significativa para o desenvolvimento do &kexi; é a companhia OpenOffice Polónia. </para +></listitem> +</itemizedlist> + +</sect1> + +</appendix> diff --git a/koffice-i18n-pt/docs/koffice/kexi/designingforms.docbook b/koffice-i18n-pt/docs/koffice/kexi/designingforms.docbook new file mode 100644 index 00000000..d1d5a3fa --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/designingforms.docbook @@ -0,0 +1,1701 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> + + --> + + <sect1 id="designing-forms"> + <title +>Desenhar Formulários</title> + + <sect2 id="most-important-terms"> + <title +>Termos mais importantes</title> + <glosslist> + <glossentry id="gloss-form"> + <glossterm +>Formulário</glossterm> + <glossdef> + <para +>Uma janela disponível para a introdução e apresentação de dados no ecrã do computador. </para> + </glossdef> + </glossentry> + <glossentry id="gloss-form-data-source"> + <glossterm +>Fonte de dados do formulário</glossterm> + <glossdef> + <para +>Uma tabela ou pesquisa da base de dados que oferece dados para serem apresentados no formulário. A fonte de dados é necessária, porque os formulários em si apenas são <emphasis +>ferramentas</emphasis +> para mostrar e introduzir dados, enquanto as tabelas e pesquisas são a fonte dos dados em si. Os formulários novos e em branco não têm nenhuma fonte de dados associada; como tal, não mostram nenhuns dados da sua base de dados, a menos que atribua uma fonte de dados a eles. </para> + </glossdef> + </glossentry> + <glossentry id="gloss-form-field"> + <glossterm +>Campo do formulário</glossterm> + <glossdef> + <para +>O equivalente directo de uma coluna de uma tabela ou pesquisa. Os campos usados com maior frequência são os campos para mostrar o texto e os números. A introdução de um valor novo ou a alteração de um campo existente, faz com que esse campo provoque uma alteração na tabela ou coluna da pesquisa associada (depois de aceitar a alteração). </para> + </glossdef> + </glossentry> + <glossentry id="gloss-form-design"> + <glossterm +>Desenho do formulário</glossterm> + <glossdef> + <para +>As tarefas que você efectua, para definir a aparência e as funções do formulário. Para o fazer, terá de indicar a <glossterm linkend="gloss-form-data-source" +>fonte de dados</glossterm +>, inserir os <glossterm linkend="gloss-form-field" +>campos do formulário</glossterm +> de vários tipos e colocá-los no local apropriado. </para> + </glossdef> + </glossentry> + <glossentry id="gloss-form-widget"> + <glossterm +>Elemento do formulário</glossterm> + <glossdef> + <para +>Um elemento gráfico pertencente ao formulários. Os tipos de elementos gráficos principais são:</para> + <itemizedlist> + <listitem> + <para +>Os elementos que mostram informações, ⪚, campos de texto ou de imagens. Cada elemento deste tipo poderá ser <emphasis +>associado</emphasis +> a um campo da fonte de dados (uma tabela ou uma coluna de uma pesquisa). Como tal, estes elementos têm o nome resumido de <glossterm linkend="gloss-form-field" +>campos do formulário</glossterm +>. </para> + </listitem> + <listitem> + <para +>Os elementos são capazes de efectuar uma dada acção, ⪚ um botão que poderá fechar o formulário actual. Dentro das outras aplicações, este tipo de elemento tem o nome de <firstterm +>controlo do formulário</firstterm +>, porque poderá efectuar a acção previamente definida de <emphasis +>controlar</emphasis +> o comportamento da sua aplicação de bases de dados. </para> + </listitem> + <listitem> + <para +>Outros elementos permitem melhorar a aparência do formulário; ⪚, o <quote +>elemento da linha</quote +> poderá separar visualmente duas áreas do formulário. </para> + </listitem> + </itemizedlist> + </glossdef> + </glossentry> + <glossentry id="gloss-container-widget"> + <glossterm +>Elemento contentor</glossterm> + <glossdef> + <para +>Um elemento que poderá <emphasis +>conter</emphasis +> outros elementos na sua área. Por exemplo, as molduras ou as páginas são contentores. A superfície de um formulário é ela própria um contentor. Os botões de comandos não podem ser considerados contentores, porque não é possível inserir um elemento dentro dele. Nos casos mais complexos, o elemento contentor poderá ser inserido dentro de um contentor; como tal, é possível encadeá-los. </para> + <!-- + <screenshot> + <screeninfo +>Example container widgets</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_01_widget_containers.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Example container widgets</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </glossdef> + </glossentry> + </glosslist> + </sect2> + + <sect2 id="forms-versus-tables"> + <title +>Formulários versus tabelas</title> + <para +>No capítulo 5.2, você aprendeu como introduzir os dados directamente nas tabelas, usando a sua vista de dados. Contudo, em muitos casos, os formulários são mais adequados para a introdução de dados: </para> + <itemizedlist> + <listitem> + <para +>A tabela poderá conter demasiadas colunas para as apresentar no seu ecrã. O formulário poderá mostrar alguns desses dados, usando várias linhas. </para> + </listitem> + <listitem> + <para +>O formulário permite dividir visualmente os <glossterm linkend="gloss-form-field" +>campos</glossterm +> de dados em grupos lógicos, aumentando desta forma a legibilidade. As legendas com informações adicionais poderão ser inseridas para dar mais sugestões aos utilizadores sobre a utilização do formulário ou sobre o que significam os <glossterm linkend="gloss-form-field" +>campos</glossterm +> de dados. </para> + </listitem> + <listitem> + <para +>Os botões de comandos poderão ser usados, dentro dos formulários, para os comandos normalmente usados, para que os utilizadores possam usar os formulários de forma semelhante às das aplicações autónomas conhecidas por eles. </para> + </listitem> + <listitem> + <para +>Na vista de dados, a apresentação do texto em várias linhas, pertencente aos <glossterm linkend="gloss-form-field" +>campos</glossterm +> ou imagens, é tão simples como dentro dos formulários. </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title +>Trabalhar com o desenho do formulário</title> + <para +>Como no desenho das tabelas ou das pesquisas, você tem a possibilidade de usar a <interface +>Vista de Dados</interface +> e a <interface +>Vista de Desenho</interface +>. O desenho de formulários é efectuado na <interface +>Vista do Desenho</interface +>. Serão feitas referências frequentes à janela de desenho dos formulários como o <interface +>Desenhador de Formulários</interface +>. </para> + <procedure> + <step> + <para +>Para criar um novo formulário vazio, seleccione a opção <menuchoice +><guimenu +>Inserir</guimenu +><guimenuitem +>Formulário</guimenuitem +></menuchoice +> do menu. Opcionalmente, poderá usar o comando <menuchoice +><guimenuitem +>Criar um Objecto: Formulário</guimenuitem +></menuchoice +> do botão da barra de ferramentas do <interface +>Navegador do Projecto</interface +> ou na opção do menu de contexto <menuchoice +><guimenuitem +>Criar um Objecto: Formulário</guimenuitem +></menuchoice +>. </para> + </step> + <step> + <para +>Irá aparecer uma área nova, pelo que poderá dimensionar o formulário, movendo para isso os seus contornos. O formulário está coberto com uma grelha, para simplificar o posicionamento preciso dos elementos. </para> + <!--<screenshot> + <screeninfo +>A window with design of a new form</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_03_new_empty_form.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>A window with design of a new form</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </step> + </procedure> + <para +>Como no desenho da tabela, o <interface +>Desenhador de Formulários</interface +> oferece uma <interface +>área de Propriedades</interface +>. Para poupar algum espaço no ecrã, a área foi dividida em três páginas, relacionadas com o formulário seleccionado de momento: </para> + <variablelist> + <varlistentry> + <term +>A página de <guilabel +>Propriedades</guilabel +></term> + <listitem> + <para +>Contém uma lista das propriedades do elementos gráfico seleccionado de momento.</para> + </listitem> + </varlistentry> + <varlistentry> + <term +>A página da <guilabel +>Fonte de dados</guilabel +> </term> + <listitem> + <para +>Contém as propriedades relacionadas especificamente com a <glossterm linkend="gloss-form-data-source" +>fonte de dados</glossterm +> do elemento gráfico seleccionado de momento ou com o formulário em si. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +>A página de <guilabel +>Elementos</guilabel +> </term> + <listitem> + <para +>Contém uma hierarquia com todos os elementos do formulário. A lista simplifica a pesquisa dos elementos por nome e a navegação pelos mesmos. </para> + </listitem> + </varlistentry> + </variablelist> + <para +>Existe alguma informação, acerca do nome e o tipo do elemento seleccionado de momento, na primeira e segunda páginas. </para> + <para +>Estão também disponíveis algumas barras de ferramentas adicionais:</para> + <itemizedlist> + <listitem> + <para +>A barra de ferramentas de <guilabel +>Elementos</guilabel +>, usada para inserir os novos elementos no formulário </para> + </listitem> + <listitem> + <para +>A barra do <guilabel +>Formato</guilabel +>, usada para formatar os elementos do formulário (⪚, ajustar o tamanho do elemento gráfico, o agrupamento, etc). Os comandos de formatação estão também disponíveis no menu <guimenu +>Formato</guimenu +>. Poderá descobrir mais alguma coisa sobre estes comandos em <xref linkend="formatmenu"/>. </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2 id="using-the-widgets-tab"> + <title +>Usar a página de <guilabel +>Elementos</guilabel +></title> + <para +>A página de <guilabel +>Elementos</guilabel +>, na <interface +>área de Propriedades</interface +>, oferece uma lista de elementos do formulário, bem como a sua hierarquia. Cada elemento aparece, dentro da hierarquia, ao lado dos outros elementos ao mesmo nível (com o mesmo elemento contentor-pai). Os elementos-filhos (dentro dos contentores) são apresentados com os nomes indentados. </para> + <!--<para +>In the picture below, the form (a container) contains two widgets: + <guilabel +>groupBox2</guilabel +> and <guibutton +>options</guibutton +> command button. In + turn, <guilabel +>groupBox2</guilabel +> (being a container itself) contains two check box + widgets. + </para> + <screenshot> + <screeninfo +>Using the <quote +>Widgets</quote +> tab</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_04_widgets_tab.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Using the <quote +>Widgets</quote +> tab</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>Cada elemento apresenta o seu nome e tipo. O tipo também tem um ícone visível - o mesmo que aparece na barra de ferramentas que é usada ao desenhar o formulário. </para> + <note> + <itemizedlist> + <listitem +> + <para +>A alteração da selecção actual da lista faz com que seja feita a selecção apropriada no formulário desenhado. Isto permite-lhe uma pesquisa mais simples de elementos pelo nome, bem como uma navegação também mais simples. Por exemplo, é possível seleccionar um elemento pelo nome e depois mudar para a área de <guilabel +>Propriedades</guilabel +>, para mudar as propriedades do elemento.</para> + </listitem> + <listitem> + <para +>Se mantiver a tecla <keycap +>Ctrl</keycap +> carregada, enquanto está seleccionado um item na lista de elementos, permite seleccionar vários elementos de cada vez. Se mantiver a tecla <keycap +>Shift</keycap +> carregada, permite seleccionar listas de elementos inteiras.</para> + </listitem> + <!--<listitem> + <para> + When widget is inserted, it is recommended to give it a reasonable name. + For example, <guilabel +>green</guilabel +> check box widget has been named specifically + for its meaning, using the <guilabel +>Properties</guilabel +> tab + (<guilabel +>Name</guilabel +> property has been used to do that). Such change + can make it easier to find a widget within the list. + </para> + <screenshot> + <screeninfo +>Naming the widget as <guilabel +>green</guilabel +></screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_04_renaming_widgets.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Naming the widget as <guilabel +>green</guilabel +></phrase> + </textobject> + </mediaobject> + </screenshot> + </listitem +>--> + </itemizedlist> + </note> + <para +>A atribuição de nomes razoáveis poderá ser útil, mas não é obrigatória. Repare que o nome do elemento é uma propriedade invisível para o utilizador do seu formulário. Os utilizadores só irão ver um texto do elemento, dado pela propriedade <varname +>Text</varname +> ou outra semelhante. </para> + </sect2> + + <sect2 id="inserting-widgets-text-fields"> + <title +>Inserir elementos - campos de texto</title> + <para +>Será agora criado um formulário que fornece informações sobre as pessoas, i.e., um formulário ligado à tabela <literal +>Pessoas</literal +>. </para> + <para +>Se o formulário em desenho deverá apresentar os dados obtidos da base de dados, terá de colocar os <glossterm linkend="gloss-form-field" +>campos</glossterm +> apropriados nele. Para o fazer, use a barra de <guilabel +>Elementos</guilabel +>, que contém um conjunto de botões de comutação. Cada botão corresponde a um único tipo de elemento gráfico. </para> + <procedure> + <step> + <para +>Carregue no botão de <guibutton +>Campo de Texto</guibutton +> da barra de <guilabel +>Elementos</guilabel +>. </para> + </step> + <step> + <para +>Carregue na superfície do formulário com o botão <mousebutton +>esquerdo</mousebutton +> do rato. Será colocado um novo elemento de campo do texto, no ponto em que você carregou. Antes de o largar, poderá arrastar o seu rato, para definir um tamanho desejado para o elemento. </para> + </step> + <step> + <para +>Se necessário, mova o elemento inserido com 'drag & drop' para uma posição desejada. Poderá dimensionar depois o elemento, arrastando uma das pequenas opções que aparecem perto dos seus cantos. Repare que as opções só ficam visíveis quando o elemento estiver seleccionado. Se seleccionar outro elemento ou a superfície do formulário, desaparecem as opções. </para> + </step> + <step> + <para +>Carregue no botão do <guibutton +>Campo de Texto</guibutton +>, de novo, e carregue outra vez na superfície do formulário para inserir outro elemento. Repita esta acção até ter três campos de texto inseridos no seu formulário. Por razões de simplicidade, o limite será, por agora, de três <glossterm linkend="gloss-form-field" +>campos</glossterm +> de dados. </para> + </step> + </procedure> + <note> + <itemizedlist> + <listitem> + <para +>Existe um menu de contexto disponível no modo de desenho do formulário, que é activado, com o botão <mousebutton +>direito</mousebutton +> do rato, quando carregar num elemento seleccionado ou na superfície de um formulário. O menu oferece comandos como o <guimenuitem +>Cortar</guimenuitem +>, o <guimenuitem +>Copiar</guimenuitem +>, o <guimenuitem +>Colar</guimenuitem +>, o <guimenuitem +>Apagar</guimenuitem +> e ainda outros comandos mais complexos. Muitos dos comandos também estão disponíveis no <guilabel +>Menu</guilabel +>, normalmente em <guimenuitem +>Editar</guimenuitem +>. Estão também disponíveis atalhos de teclado para estes comandos. Alguns destes comandos só estarão disponíveis para certos tipos de elementos. </para> + </listitem> + <listitem> + <para +>Os comandos <guimenuitem +>Cortar</guimenuitem +>, <guimenuitem +>Copiar</guimenuitem +> e <guimenuitem +>Colar</guimenuitem +> possibilitam a mudança ou cópia dos elementos entre formulários, até mesmo entre projectos de bases de dados separados. </para> + </listitem> + <listitem> + <para +>Se mantiver carregada a tecla <keycap +>Ctrl</keycap +>, enquanto carrega num elemento, poderá seleccionar vários elementos gráficos. </para> + </listitem> + <listitem> + <para +>Em vez de usar os comandos <guimenuitem +>Copiar</guimenuitem +> e <guimenuitem +>Colar</guimenuitem +>, para duplicar um elemento no mesmo formulário, poderá manter carregada a tecla <keycap +>Ctrl</keycap +>, enquanto se move o elemento gráfico. Depois de largar a tecla <keycap +>Ctrl</keycap +>, o elemento arrastado não será movido mas sim copiado para o novo local. </para> + </listitem> + </itemizedlist> + </note> + </sect2> + + <sect2 id="assigning-data-sources"> + <title +>Atribuir fontes de dados</title> + <para +>Os <glossterm linkend="gloss-form-field" +>campos</glossterm +> que inseriu não têm ainda qualquer <emphasis +>fonte de dados</emphasis +> atribuída; como tal, estes não irão conseguir mostrar informações da base de dados. Para atribuir uma fonte de dados, use a página da <guilabel +>Fonte de Dados</guilabel +> da <interface +>área de Propriedades</interface +>. </para> + <para +>O primeiro passo de todos é indicar a <glossterm linkend="gloss-form-data-source" +>fonte de dados do formulário</glossterm +>, i.e. um local de onde os dados apresentados serão obtidos. Como foi dito acima, irá usar a tabela <literal +>Pessoas</literal +> como <glossterm linkend="gloss-form-data-source" +>fonte de dados</glossterm +> do seu formulário novo. </para> + <procedure> + <step> + <para +>Carregue na superfície do formulário, dado que vai alterar as suas propriedades.</para> + </step> + <step> + <para +>Mude para a página da <guilabel +>Fonte de Dados</guilabel +> e indique o nome da tabela <literal +>Pessoas</literal +> na lista <guilabel +>Fonte de dados do formulário</guilabel +>. Em alternativa, poderá seleccionar este nome na lista. </para> + <!--<screenshot> + <screeninfo +>Entering <glossterm linkend="gloss-form-data-source" +>form's data source</glossterm +> name</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_05_entering_form_data_source.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Entering <glossterm linkend="gloss-form-data-source" +>form's data source</glossterm +> name</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </step> + </procedure> + <para +>Você acabou de atribuir a <glossterm linkend="gloss-form-data-source" +>fonte de dados ao formulário</glossterm +>. Agora, o que precisa de fazer é indicar a fonte de dados do elemento gráfico do campo. </para> + <procedure> + <step> + <para +>Carregue no primeiro campo de texto, no topo do formulário.</para> + </step> + <step> + <para +>Na página da <guilabel +>Fonte de Dados</guilabel +> da área de propriedades, indique o nome <varname +>nome</varname +> na lista da <emphasis +>fonte de dados</emphasis +>. Em alternativa, poderá seleccionar este nome na lista. </para> + <!--<screenshot> + <screeninfo +>Entering widget's data source name</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_05_entering_text_field_data_source.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Entering widget's data source name</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </step> + <step> + <para +>Carregue no elemento seguinte de texto e indique <varname +>apelido</varname +> como fonte de dados.</para> + </step> + <step> + <para +>Indique as fontes de dados para os <glossterm linkend="gloss-form-field" +>campos</glossterm +> de <varname +>morada</varname +>, <varname +>numero_porta</varname +> e <varname +>cidade</varname +> da mesma forma. </para> + </step> + </procedure> + <para +>Poderá agora gravar o desenho do formulário (isto não é obrigatório para testar o formulário). Para gravar, carregue no botão da barra de ferramentas para <guilabel +>Gravar as alterações do objecto</guilabel +> ou use a tecla de atalho <menuchoice +><shortcut +><keycombo action="simul" +><keycap +>Ctrl</keycap +><keycap +>S</keycap +></keycombo +></shortcut +> <guimenu +>Ficheiro</guimenu +><guimenuitem +>Gravar</guimenuitem +></menuchoice +>. Depois da gravação, ser-lhe-á pedido para introduzir o nome do formulário. Indique <literal +>Pessoas</literal +> como título e carregue no botão <guibutton +>OK</guibutton +>. O nome do formulário será preenchido automaticamente. </para> + <para +>Este é o momento correcto para testar o seu formulário. Carregue no botão <guibutton +>Mudar para a vista de dados</guibutton +>. A menos que cometa algum erro durante a introdução das fontes de dados, deverá ver os <glossterm linkend="gloss-form-field" +>campos do formulário</glossterm +> preenchidos com dados da tabela <literal +>Pessoas</literal +>. </para> + <!--<screenshot> + <screeninfo +>The <literal +>Persons</literal +> form in data view after inserting text fields and assigning data sources</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_06_form_with_text_fields.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>The <literal +>Persons</literal +> form in data view after inserting text fields and assigning data sources</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <note> + <itemizedlist> + <listitem> + <para +>Se quiser remover a atribuição da <glossterm linkend="gloss-form-data-source" +>fonte de dados</glossterm +> de um elemento do formulário, poderá usar o botão <guibutton +>Limpar a fonte de dados do elemento</guibutton +>, perto da lista <guilabel +>Campo de origem</guilabel +>. Da mesma forma, poderá usar o botão <guibutton +>Limpar a fonte de dados</guibutton +>, perto da lista <guilabel +>Fonte de dados do formulário</guilabel +>. </para> + </listitem> + <listitem> + <para +>Use o botão <guibutton +>Ir para a fonte de dados seleccionada</guibutton +> para seleccionar a tabela ou pesquisa apropriadas no <interface +>Navegador do Projecto</interface +>, para que possa abrir rapidamente uma tabela ou pesquisa como sendo a <glossterm linkend="gloss-form-data-source" +>fonte de dados</glossterm +> do formulário. </para> + </listitem> + </itemizedlist> + <!-- TODO: mention about creating Auto Fields by using drag & drop --> + </note> + </sect2> + + <sect2 id="inserting-text-labels"> + <title +>Inserir legendas de texto</title> + <para +>Para facilitar ao utilizador do formulário a identificação do significado de cada elemento de campo, estes deverão ter associadas legendas de texto, com títulos apropriados. Para criar as legendas de texto, é usado o elemento <literal +>Legenda</literal +>. </para> + <para +>Introduza três legendas de texto no formulário, colocando-as à esquerda dos campos de texto (ou à direita, se o seu sistema operativo usar o formato da direita-para-a-esquerda). Ao inserir cada uma das legendas novas, aparece um cursor de texto dentro das mesmas, onde poderá introduzir o título desejado. Indique, de forma consecutiva, <literal +>Nome</literal +>, <literal +>Apelido</literal +> e <literal +>Rua</literal +>. Para além disso, no topo do formulário, introduza outra legenda que mostra o nome do formulário, i.e., <literal +>Pessoas</literal +>. Alargue o tamanho desta legenda e configure um tipo de letra maior, usando o comando do menu <menuchoice +><guimenu +>Formato</guimenu +><guimenuitem +>Tipo de Letra...</guimenuitem +></menuchoice +>. </para> + <!--<screenshot> + <screeninfo +>Ready to use form after adding text labels</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_06_form_with_labels.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Ready to use form after adding text labels</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </sect2> + + <sect2 id="actions"> + <title +>Acções</title> + <para +>Uma <literal +>Acção</literal +> é uma actividade simples, isolada na aplicação, e que está disponível para o utilizador a executar. Poderá também ser executada automaticamente, como reacção a um dado evento (⪚, depois de abrir um formulário). </para> + + <sect3 id="assigning-actions-to-form-buttons"> + <title +>Atribuir acções aos botões dos formulários</title> + <para +>A maioria das acções poderão ser atribuídas aos botões dos formulários. A acção atribuída é executada, depois de carregar no botão. </para> + <para +>Para atribuir uma acção:</para> + <procedure> + <step> + <para +>Mude para a <interface +>Vista de desenho</interface +> do formulário, se não o tiver já feito.</para> + </step> + <step> + <para +>Seleccione o elemento do botão existente, carregando nele, ou coloque um novo botão no formulário. Se inseriu um novo botão, indique o seu título e carregue na tecla <keycombo action="press" +><keycap +>Enter</keycap +></keycombo +>. </para> + </step> + <step> + <para +>Carregue no elemento do botão com o botão <mousebutton +>direito</mousebutton +> do rato, para mostrar um menu de contexto. </para> + </step> + <step> + <para +>No menu de contexto, seleccione o comando <guimenuitem +>Atribuir uma acção...</guimenuitem +>. </para> + </step> + <step> + <para +>Irá aparecer uma janela de <guilabel +>Atribuição de uma Acção a um Botão de Comando</guilabel +>, apresentando uma lista de acções disponíveis. Uma das acções fica seleccionada, se o elemento já tiver uma acção atribuída. Caso contrário, a lista do <guilabel +>Tipo de acção</guilabel +> terá o item <guilabel +>Sem tipo</guilabel +> seleccionado. </para> + </step> + <step> + <para +>Na lista do <guilabel +>Tipo de acção</guilabel +>, seleccione o item <guilabel +>Aplicação</guilabel +>. Serão apresentadas as acções ao nível da aplicação. </para> + </step> + <step> + <para +>Seleccione uma das acções da lista (⪚, <guilabel +>Apagar a Linha</guilabel +>).</para> + </step> + <step> + <para +>Carregue no botão <guibutton +>OK</guibutton +> ou na tecla <keycombo action="press" +><keycap +>Enter</keycap +></keycombo +>, para aceitar a sua selecção. </para> + </step> + </procedure> + <!--<screenshot> + <screeninfo +>Assigning <guilabel +>Delete Row</guilabel +> action to a form's button</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_07_assigning_action_to_button.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Assigning <guilabel +>Delete Row</guilabel +> action to a form's button</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>Depois de mudar para a <emphasis +>vista de dados</emphasis +> do formulário, poderá tentar ver se a acção funciona. Por exemplo, se tiver atribuído a acção <guilabel +>Apagar a Linha</guilabel +>, ao carregar no botão, irá remover a linha actual da base de dados, de mesma forma que aconteceria com a execução de <menuchoice +><shortcut +><keycombo action="simul" +><keycap +>Ctrl</keycap +><keycap +>Delete</keycap +></keycombo +></shortcut +><guimenu +>Editar</guimenu +><guimenuitem +>Apagar a Linha</guimenuitem +></menuchoice +> (dependendo da sua configuração, poderá ser pedida a confirmação da remoção). </para> + + <note> + <itemizedlist> + <listitem> + <para +>Para remover a atribuição da acção, seleccione o item <guilabel +>Sem tipo</guilabel +> da lista <guilabel +>Tipo de acção</guilabel +> da janela <guilabel +>Atribuir uma Acção a um Botão de Comando</guilabel +>. </para> + </listitem> + <listitem> + <para +>As acções só funcionam na <emphasis +>vista de dados</emphasis +> do formulário. Nem todas as atribuições de acções são aceitáveis. Por exemplo, as acções do <guimenuitem +>Tipo de Letra...</guimenuitem +> não estão disponíveis na vista de dados do formulário; por isso, a atribuição desta acção ao botão não fará efeito. </para> + </listitem> + </itemizedlist> + </note> + </sect3> + </sect2> + + <sect2 id="widget-layouts"> + <title +>Disposições dos elementos</title> + <para +>Na maioria dos casos, os elementos gráficos do formulário deverão estar devidamente colocados e alinhados. O posicionamento, o alinhamento e o dimensionamento dos elementos à mão não é simples e estes parâmetros não são ajustados quando o utilizador dimensiona o formulário. De facto, a situação é ainda pior, porque não consegue assumir que um dado formulário necessitada de um dado espaço, porque os utilizadores têm diferentes tamanhos de letra e resoluções do ecrã. </para> + <!-- + <para> + The following example presents a form where text fields and labels were + placed by hand. Some of them cannot fit in the form's window. + </para> + <screenshot> + <screeninfo +>An example form with widgets that cannot not fit in the window</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_no_fit.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>An example form with widgets that cannot not fit in the window</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>Se usar uma ferramenta especial, chamada de 'disposições de elementos', poderá colocar automaticamente os elementos do formulário. A disposição do elemento é uma acção que consiste em agrupar dois ou mais elementos, de modo que fiquem bem posicionados e tenham tamanhos adequados. </para> + <para +>A utilização de disposições neste formulário melhora o alinhamento. Para além disso, o seu espaço é melhor desenvolvido. Os campos de texto ficam mais próximos uns dos outros, mantendo-se o espaço de intervalo constante. </para> + <!--<screenshot> + <screeninfo +>Example form with layout used</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_well_fit.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Example form with layout used</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>Existem dois métodos para criar disposições de elementos.</para> + <itemizedlist> + <listitem> + <para +>Seleccione dois ou mais elementos que devam ser colocados numa disposição comum, seleccionando de seguida um dos tipos de disposições do item menu de contexto <guilabel +>Dispor os Elementos</guilabel +>. </para> + </listitem> + <listitem> + <para +>Carregue num elemento contentor (ou na superfície do formulário), onde os elementos estão inseridos, e seleccione um dos tipos de disposição do item do menu de contexto Dispor os Elementos. Todos os itens que existam dentro do contentor ou do formulário, e que estejam ao mesmo nível, serão colocados numa única disposição comum. </para> + </listitem> + </itemizedlist> + <para +>Em cada um destes casos, poderá também usar o menu <menuchoice +><guimenu +>Formato</guimenu +><guimenuitem +>Dispor os Elementos</guimenuitem +></menuchoice +>. </para> + <!--<screenshot> + <screeninfo +>Selecting widgets that will be put into a layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_selecting.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Selecting widgets that will be put into a layout</phrase> + </textobject> + </mediaobject> + </screenshot> + <screenshot> + <screeninfo +>Four widgets are selected</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_selected.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Four widgets are selected</phrase> + </textobject> + </mediaobject> + </screenshot> + <screenshot> + <screeninfo +>Using the context menu for putting the widgets into a grid layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_popup.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Using the context menu for putting the widgets into a grid layout</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>A disposição de elementos é apresentada na área de desenho, usando uma caixa vermelha, verde ou azul com uma linha interrompida. Esta linha só aparece na vista de desenho do formulário. </para> + <!--<screenshot> + <screeninfo +>Widgets within a grid layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_grid.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Widgets within a grid layout</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>Para além do tipo 'grelha', existem outros tipos de disposições de elementos.</para> + <variablelist> + <varlistentry> + <term +>vertical</term> + <listitem> + <para +>Uma disposição vertical dos elementos</para> + <!--<screenshot> + <screeninfo +>Vertical widget layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_vertical.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Vertical widget layout</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </listitem> + </varlistentry> + <varlistentry> + <term +>horizontal</term> + <listitem> + <para +>Uma disposição vertical dos elementos</para> + <!--<screenshot> + <screeninfo +>Horizontal widget layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_horizontal.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Horizontal widget layout</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </listitem> + </varlistentry> + <!-- TODO podzia poziomy / pionowy + <br +><img src="img/05_04_08_form_layout_vertical_splitter.png"> + <br +><br> + <br +><img src="img/05_04_08_form_layout_horizontal_splitter.png"> + <br +><br> + </li +> --> + </variablelist> + + <sect3 id="springs-in-widget-layouts"> + <title +>Molas nas disposições dos elementos</title> + <para +>Uma <emphasis +>mola</emphasis +>, nas disposições de elementos, é um elemento invisível que permite ajustar a posição e o tamanho do elemento, dentro das disposições. Essas molas esticam ou apertam um elemento do lado esquerdo, direito, superior ou inferior, para que possa ter o tamanho e posição desejados. </para> + <para +>Para usar uma mola:</para> + <procedure> + <step> + <para +>Seleccione o ícone da mola na barra de <guilabel +>Elementos</guilabel +>. </para> + </step> + <step> + <para +>Carregue num ponto seleccionado do formulário, para inserir a mola.</para> + </step> + </procedure> + <!--<para> + For the following example, the spring has been inserted on the left + hand of the text label "Persons". The label is thus displayed on the + right hand of the form. To make the spring work, it has been put into + a common horizontal layout with the label. + </para> + <screenshot> + <screeninfo +>Horizontal layout containing a spring and a text label</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_spring.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Horizontal layout containing a spring and a text label</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>Para fazer as molas funcionar, terá de criar uma disposição de elementos global, i.e., para o formulário em si. Depois, as molas poderão usar os extremos do formulário como limites para a expansão. </para> + </sect3> + <!-- + + TODO: The entire text in this section is built around a screenshot + example, so it's commented out for now. + + <sect3 id="advanced-widget-layouts"> + <title +>Advanced widget layouts</title> + <para> + Widget layouts can be combined (or nested). On the following example + you can identify two nested layouts: + </para> + <orderedlist> + <listitem> + <para> + Horizontal layout with a spring, aligning the <literal +>Persons</literal> + text label to the right. + </para> + </listitem> + <listitem> + <para +>Grid layout grouping widgets on the whole form.</para> + </listitem> + </orderedlist> + <screenshot> + <screeninfo +>Two widget layouts combined: horizontal layout inside of a grid layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_advanced_layout.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Two widget layouts combined: horizontal layout inside of a grid layout</phrase> + </textobject> + </mediaobject> + </screenshot> + <para> + The horizontal layout is treated in the example as a single widget by + the grid layout - it takes exactly one <quote +>cell</quote +> of the grid. + After opening a form designed this way in the data view, you can notice + (by resizing the form) that: + </para> + <itemizedlist> + <listitem> + <para> + <literal +>Persons</literal +> text label thanks to the spring used is constantly + aligned to the to the right side of the form. + </para> + </listitem> + <listitem> + <para> + Text fields take all of the available width thanks to putting them + into the grid layout. + </para> + </listitem> + <listitem> + <para> + All the form's widgets are pushed to the top thanks to the spring + used at the bottom of the form. + </para> + </listitem> + </itemizedlist> + <screenshot> + <screeninfo +>The form using the two layouts displayed in data view</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_advanced_layout_view.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>The form using the two layouts displayed in data view</phrase> + </textobject> + </mediaobject> + </screenshot> + </sect3 +>--> + + <sect3 id="removing-widget-layouts"> + <title +>Remover as disposições de elementos</title> + <para +>Para remover a disposição dos elementos, sem remover os próprios, efectue uma das seguintes acções: </para> + <itemizedlist> + <listitem> + <para +>Carregue com o botão <mousebutton +>direito</mousebutton +> no contorno da disposição e seleccione o comando <guimenuitem +>Quebrar a Disposição</guimenuitem +>, no menu de contexto. </para> + </listitem> + <listitem> + <para +>Carregue com o botão <mousebutton +>esquerdo</mousebutton +> do rato no contorno da disposição e seleccione a opção do menu <menuchoice +><guimenu +>Formato</guimenu +><guimenuitem +>Quebrar a Disposição</guimenuitem +></menuchoice +>. </para> + </listitem> + </itemizedlist> + <note> + <para +>A remoção da disposição de elementos, usando o comando <guimenuitem +>Quebrar a Disposição</guimenuitem +>, não irá remover os elementos contidos na disposição. Se quiser remover também os elementos, basta seleccionar a disposição, carregando no seu contorno e carregando na tecla <keycap +>Delete</keycap +> ou usando o comando do menu <menuchoice +><guimenu +>Editar</guimenu +><guimenuitem +>Apagar</guimenuitem +></menuchoice +> ou a opção do menu de contexto respectiva. </para> + </note> + </sect3> + + <sect3 id="size-policies-for-widgets-within-a-layout"> + <title +>Políticas de tamanho dos elementos numa disposição</title> + <para +>Em vez de definir um tamanho fixo para os seus elementos, no &kexi; poderá definir diversas políticas de tamanho dos elementos. Uma <emphasis +>política de tamanho</emphasis +> é uma estratégia flexível para controlar a forma como um elemento é esticado (ou encolhido), dependendo dos outros elementos adjacentes e do espaço disponível no formulário. </para> + <para +>Depois de colocar os elementos numa <emphasis +>disposição</emphasis +>, cada elemento tipicamente obtém uma política de tamanho proporcional (<guilabel +>Preferida</guilabel +>). Estes elementos serão automaticamente dimensionados com a configuração preferida, dependendo do seu tipo e tamanho da disposição inteira. Por exemplo, três botões, colocados na disposição horizontal, serão dimensionados para caber o seu texto visível. </para> + <para +>Para cada um dos elementos inseridos no formulário, existem opções disponíveis para a política de tamanho no <interface +>Editor de Propriedades</interface +>. A configuração aparece como um grupo de propriedades, chamado <guilabel +>Política de Tamanho</guilabel +>. </para> + <!--<screenshot> + <screeninfo +>A group of properties for defining a widget's size policy</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_09_size_policy_properties.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>A group of properties for defining a widget's size policy</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>Este grupo de propriedades contém:</para> + <variablelist> + <varlistentry> + <term +><guilabel +>Política de Tamanho Horizontal</guilabel +></term> + <listitem> + <para +>define o tamanho horizontal do elemento,</para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Política de Tamanho Vertical</guilabel +></term> + <listitem> + <para +>define o tamanho vertical do elemento,</para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Esticamento Horizontal</guilabel +></term> + <listitem> + <para +>define a potência de actividade da <guilabel +>Política de Tamanho Horizontal</guilabel +>, </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Esticamento Vertical</guilabel +></term> + <listitem> + <para +>define a potência de actividade da <guilabel +>Política de Tamanho Vertical</guilabel +>, </para> + </listitem> + </varlistentry> + </variablelist> + + <sect4> + <title +>Valores das políticas de tamanho</title> + <para +>Existem os seguintes valores disponíveis na lista da <guilabel +>Política de Tamanho Horizontal</guilabel +> e <guilabel +>Política de Tamanho Vertical</guilabel +>, no <interface +>Editor de Propriedades</interface +>: </para> + <variablelist> + <varlistentry> + <term +><guilabel +>Fixo</guilabel +></term> + <listitem> + <para +>este valor significa que o elemento não poderá ser dimensionado automaticamente; deverá manter o tamanho constante, que foi definido na altura do desenho (altura ou largura), </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Mínimo</guilabel +></term> + <listitem> + <para +>este valor significa que o tamanho original do elemento é definido como o mínimo permitido, sendo suficiente e não existindo a necessidade expandir o elemento, se bem que este possa ser expandido, se for necessário. Este tipo de política poderá ser usado para obrigar o elemento a ser expandido para a largura ou altura completas, especialmente se definir um valor de esticamento maior que 0. </para> + <!--<screenshot> + <screeninfo +>Text field and two buttons within a grid layout (Minimum horizontal size policy is set for both buttons, so these are slightly wider than needed)</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_09_size_policy_minimum.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Text field and two buttons within a grid layout (Minimum horizontal size policy is set for both buttons, so these are slightly wider than needed)</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Máximo</guilabel +></term> + <listitem> + <para +>este valor significa que o tamanho original do elemento é definido como o máximo permitido, podendo ser diminuído sem quebrar a usabilidade e legibilidade do elemento, se os outros elementos precisarem de mais espaço, </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Preferido</guilabel +></term> + <listitem> + <para +>este valor significa que o tamanho original do elemento é o melhor e o pretendido; o elemento poderá ser encolhido ou expandido, todavia, mantendo-se à mesma legível, </para> + <!--<screenshot> + <screeninfo +>Text field and two buttons within a grid layout (Preferred horizontal size policy is set for both buttons)</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_09_size_policy_preferred.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Text field and two buttons within a grid layout (Preferred horizontal size policy is set for both buttons)</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Expansível</guilabel +></term> + <listitem> + <para +>este valor significa que o tamanho original do elemento é razoável, mas o elemento poderá também ser encolhido; poderá também ser expandido, para ocupar o espaço máximo que for possível, </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Expansão Mínima</guilabel +></term> + <listitem> + <para +>este valor significa que o tamanho original do elemento é permitido; poderá ser expandido, para ocupar o espaço máximo que for possível, </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Ignorado</guilabel +></term> + <listitem> + <para +>este valor significa que o tamanho original do elemento é ignorado; o elemento poderá ser expandido, para ocupar o máximo de espaço possível, só que os outros elementos não permitem isso, normalmente </para> + </listitem> + </varlistentry> + </variablelist> + <para +>Os diferentes tipos de elementos têm diversas políticas de tamanho predefinidas; por exemplo, os elementos dos botões têm uma política de tamanho predefinida igual a <guilabel +>Mínimo</guilabel +> (em todas as direcções), enquanto os elementos de texto tem a política de tamanho vertical igual a <guilabel +>Fixo</guilabel +>. </para> + <para +>As políticas de tamanho usadas com maior frequência são o <guilabel +>Preferido</guilabel +>, o <guilabel +>Mínimo</guilabel +> e o <guilabel +>Máximo</guilabel +>. </para> + </sect4> + + <sect4> + <title +>Esticamento horizontal e vertical</title> + <para +>As propriedades <guilabel +>Esticamento Vertical</guilabel +> e <guilabel +>Esticamento Horizontal</guilabel +> aceitam números inteiros maiores ou iguais a 0. Estas propriedades permitem afinar o comportamento das políticas de tamanho. O valor predefinido das propriedades é 0 (zero). Um valor maior significa que o elemento será mais expandido que os outros elementos que tiverem um valor de esticamento menor. </para> + <!--<screenshot> + <screeninfo +>Size of button widgets affected by setting Vertical Stretch property of the second button to 1</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_09_size_policy_vertical_stretch.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Size of button widgets affected by setting Vertical Stretch property of the second button to 1</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </sect4> + </sect3> + </sect2> + + <sect2 id="setting-widgets-size-and-position-by-hand"> + <title +>Definir o tamanho e a posição dos elementos à mão</title> + <para +>No caso de o seu formulário não ter uma disposição principal definida para posicionar e dimensionar automaticamente os seus elementos, poderá querer alinhar a posição e o tamanho dos elementos, para que o formulário possa parecer mais limpo e fácil de usar. O desenhador de formulários do &kexi; simplifica esta tarefa, oferecendo os seguintes grupos de comandos: </para> + <itemizedlist> + <listitem> + <para +>Ajustar os tamanhos dos elementos seleccionados. Os comandos estão disponíveis no submenu <menuchoice +><guimenu +>Formato</guimenu +><guisubmenu +>Ajustar o Tamanho dos Elementos</guisubmenu +></menuchoice +> do <guilabel +>Menu</guilabel +> e o submenu <menuchoice +><guisubmenu +>Ajustar o Tamanho dos Elementos</guisubmenu +></menuchoice +> do menu de contexto. Também está disponível o botão da barra de ferramentas <guibutton +>Ajustar o Tamanho dos Elementos</guibutton +>. </para> + <variablelist> + <varlistentry> + <term +><!--<img src="img/aofit.png" class="icon" +>--><guilabel +>Para Caber</guilabel +></term> + <listitem> + <para +>Os tamanhos dos elementos seleccionados serão alterados, de modo que cada elemento fique com o seu tamanho e conteúdo preferidos; por exemplo, o tamanho da legenda de texto será alterado, de modo a caber o seu texto. A posição dos elementos não será alterada. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aogrid.png" class="icon" +>--><guilabel +>À Grelha</guilabel +></term> + <listitem> + <para +>Os tamanhos dos elementos seleccionados serão alterados, para que o canto de cada elemento seja colocado no ponto da grelha do formulário (ou de outro contentor). A posição do elemento poderá ser ligeiramente alterada. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aoshortest.png" class="icon" +>--><guilabel +>Ao Menor</guilabel +></term> + <listitem> + <para +>A altura dos elementos seleccionados será alterada, para que cada um deles fique com a mesma altura do menor de todos. A posição dos elementos não será alterada. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aotallest.png" class="icon" +>--><guilabel +>Ao Mais Alto</guilabel +></term> + <listitem> + <para +>A altura dos elementos seleccionados será alterada, para que cada um deles fique com a mesma altura do maior de todos. A posição dos elementos não será alterada. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aonarrowest.png" class="icon" +>--><guilabel +>Ao Mais Estreito</guilabel +></term> + <listitem> + <para +>A largura dos elementos seleccionados será alterada, para que cada um deles fique com a mesma largura que o elemento mais estreito. A posição dos elementos não será alterada. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aowidest.png" class="icon" +>--><guilabel +>Ao Mais Largo</guilabel +></term> + <listitem> + <para +>A largura dos elementos seleccionados será alterada, para que cada um deles fique com a mesma largura que o elemento mais largo. A posição dos elementos não será alterada. </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + <listitem> + <para +>Alinhar as posições dos elementos seleccionados. Os comandos estão disponíveis no submenu <menuchoice +><guimenu +>Formato</guimenu +><guisubmenu +>Alinhar a Posição dos Elementos</guisubmenu +></menuchoice +> do <guilabel +>Menu</guilabel +> e no submenu <menuchoice +><guisubmenu +>Alinhar a Posição dos Elementos</guisubmenu +></menuchoice +> do menu de contexto. Também está disponível o botão <guibutton +>Alinhar a Posição dos Elementos</guibutton +>. </para> + <variablelist> + <varlistentry> + <term +><!--<img src="img/aoleft.png" class="icon" +>--><guilabel +>À Esquerda</guilabel +></term> + <listitem> + <para +>Todas as posições esquerdas dos elementos seleccionados serão movidas para a posição do elemento mais à esquerda. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aoright.png" class="icon" +>--><guilabel +>À Direita</guilabel +></term> + <listitem> + <para +>Todas as posições direitas dos elementos seleccionados serão movidas para a posição do elemento mais à direita. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aotop.png" class="icon" +>--><guilabel +>Ao Topo</guilabel +></term> + <listitem> + <para +>Todas as posições de topo dos elementos seleccionados serão movidas para a posição do elemento mais acima. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aobottom.png" class="icon" +>--><guilabel +>Ao Fundo</guilabel +></term> + <listitem> + <para +>Todas as posições do fundo dos elementos seleccionados serão movidas para a posição do elemento mais abaixo. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><!--<img src="img/aopos2grid.png" class="icon" +>--><guilabel +>À Grelha</guilabel +></term> + <listitem> + <para +>Todas as posições dos cantos superiores esquerdos dos elementos seleccionados serão movidas para o ponto da grelha mais próximo. </para> + </listitem> + </varlistentry> + </variablelist> + <para +>Nenhum dos comandos acima dimensiona os elementos gráficos.</para> + </listitem> + </itemizedlist> + <para +>Estão também disponíveis outros comandos adicionais: <guimenuitem +>Trazer Elementos para a Frente</guimenuitem +> (i.e., acima de todos os outros elementos gráficos) e <guimenuitem +>Enviar Elementos para Trás</guimenuitem +> (i.e. por baixo de todos os outros elementos). Estes dois comandos são raramente usados, dado que não é normal colocar um elemento por cima de outros (com a excepção de um contentor que contém outro elemento dentro dele). Repare também que, se carregar num elemento gráfico com o rato, é o suficiente para passar o elemento para a frente. </para> + </sect2> + + <sect2 id="setting-the-tab-order"> + <title +>Configurar a ordem de tabulações</title> + <para +>O foco do elemento determina a actividade do elemento que fica disponível, usando o teclado. O foco ou estado em primeiro plano está relacionado com os elementos que aparecem na vista de dados do formulário. Só poderá estar um elemento em primeiro plano ao mesmo tempo. A utilização mais frequente do foco é a introdução de texto (quando fica activo um dado campo de texto, i.e., fica em primeiro plano). Outro exemplo é um botão - quando está em primeiro plano, é possível <quote +>carregar</quote +> nele com as teclas <keycombo action="press" +><keycap +>Enter</keycap +></keycombo +> ou <keycombo action="press" +><keycap +>Espaço</keycap +></keycombo +>, em vez de usar o rato. </para> + <para +>Existem alguns métodos para tornar os elementos activos (mover o foco para o elemento): se carregar com um botão do rato, mover a roda do rato pelo elemento ou se usar a tecla <keycombo action="press" +><keycap +>Tab</keycap +></keycombo +>. O último método é usado com frequência, devido à sua velocidade e conveniência para os utilizadores. A disponibilidade dos métodos de focagem é controlada pela propriedade de <guilabel +>Política de Foco</guilabel +> de um dado elemento. </para> + <para +>Existe uma relação entre a focagem (activação em primeiro plano) dos elementos, usando a tecla <keycombo action="press" +><keycap +>Tab</keycap +></keycombo +>, e a configuração da ordem de tabulação de um formulário. Depois de carregar na tecla <keycombo action="press" +><keycap +>Tab</keycap +></keycombo +>, o elemento seguinte deverá ficar em primeiro plano, para que o formulário saiba qual a ordem de tabulação. </para> + <para +>Para alterar a ordem de tabulação de um elemento do formulário:</para> + <procedure> + <step> + <para +>Mude para a vista de desenho do formulário.</para> + </step> + <step> + <para +>Execute o comando do menu <menuchoice +><guimenu +>Editar</guimenu +><guimenuitem +>Editar a Ordem de Tabulação...</guimenuitem +></menuchoice +>. A opção <guilabel +>Editar a Ordem de Tabulação</guilabel +> irá aparecer com a configuração deste formulário. </para> + <!--<screenshot> + <screeninfo +>A window for editing tab order for a form</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_11_tab_stop_dialog.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>A window for editing tab order for a form</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + <para +>A janela contém uma lista com duas colunas: a primeira mostra os nomes dos elementos, enquanto a segunda mostra os tipos dos elementos. Para facilitar o reconhecimento dos significados dos nomes e tipos para o utilizador, são também apresentados os ícones relacionados com os tipos. A lista contém apenas os elementos que tenham uma política de foco que lhes permita usar a tecla <keycap +>Tab</keycap +>. A janela permite-lhe mudar a ordem de tabulação ou atribuir a ordem automática. </para> + </step> + <step> + <para +>Para mudar a ordem de tabulação, tanto poderá:</para> + <itemizedlist> + <listitem> + <para +>Carregar no nome de um elemento seleccionado, na lista de elementos, e arrastá-lo para uma posição desejada (acima ou abaixo) com o rato. </para> + </listitem> + <listitem> + <para +>Carregar no nome de um elemento seleccionado, na lista de elementos, e usar os botões <guibutton +>Subir</guibutton +> ou <guibutton +>Descer</guibutton +>, para mover os elementos para uma dada posição. </para> + </listitem> + <listitem> + <para +>Carregar na opção <guilabel +>Lidar com as tabulações automaticamente</guilabel +> para definir a ordem automática de tabulação para o formulário. Se esta opção tiver sido assinalada, todas as alterações feitas à lista de elementos à mão não serão tidas em conta - o &kexi; irá lidar ele mesmo com as ordens de tabulação. A ordenação automática significa que o elemento do canto superior esquerdo será o primeiro em primeiro plano (ou o superior direito, se o sistema operativo funcionar da direita para a esquerda), e a ordem vai da esquerda para a direita (ou ordem inversa, para a escrita da direita-para-a-esquerda), e de cima para baixo. </para> + <!--<screenshot> + <screeninfo +>Automatic tab order for a form</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_11_auto_tab_stop.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Automatic tab order for a form</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </listitem> + </itemizedlist> + </step> + <step> + <para +>Carregue no botão <guibutton +>OK</guibutton +>, para aceitar as alterações, ou no botão <guibutton +>Cancelar</guibutton +> para esquecer as modificações. </para> + </step> + </procedure> + </sect2> + </sect1> diff --git a/koffice-i18n-pt/docs/koffice/kexi/enteringdataintotables.docbook b/koffice-i18n-pt/docs/koffice/kexi/enteringdataintotables.docbook new file mode 100644 index 00000000..d90838f8 --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/enteringdataintotables.docbook @@ -0,0 +1,157 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> + + --> + + <sect1 id="entering-data-into-tables"> + <title +>Introduzir Dados nas Tabelas</title> + <para +>Você desenhou as duas tabelas <literal +>Pessoas</literal +> e <literal +>numeros_telefone</literal +>. Nenhuma delas contém ainda dados. Poderá introduzir alguns, e será neste capítulo que irá aprender como fazê-lo, de forma rápida e eficiente. </para> + <procedure> + <step> + <para +>Comece pela tabela <literal +>pessoas</literal +>. Abra-a na <interface +>Vista de Dados</interface +>, usando o <interface +>Navegador do Projecto</interface +>. A célula actual é marcada com um rectângulo (normalmente preto), um <firstterm +>cursor da célula</firstterm +>. O conteúdo da célula, se existir, fica realçado com outra cor. A linha actual, i.e., a linha onde colocou o seu cursor rectangular, está marcada do lado esquerdo com um símbolo de uma seta. </para> + <para +>Poderá navegar pelas células da tabela, usando o rato ou as teclas de cursores, o <keycap +>Page Down</keycap +>, o <keycap +>Page Down</keycap +>, o <keycap +>Home</keycap +> e o <keycap +>End</keycap +>; poderá também carregar com o rato numa célula para a seleccionar. </para> + <para +>Inicialmente, após abrir a tabela <literal +>Pessoas</literal +>, o cursor fica colocado na coluna <literal +>id</literal +>. A coluna tem a propriedade de numeração automática definida, marcada com o texto <literal +>(autonumber)</literal +> a azul, na última linha. Isto significa que não terá de introduzir valores aqui à mão, ao introduzir os dados de uma nova linha, porque a célula será preenchida automaticamente com números sucessivos. </para> + <!--<screenshot> + <screeninfo +>Data entry</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_02_00_data_editing.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Data entry</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </step> + <step> + <para +>A inserção de linhas novas e a introdução de dados nelas no &kexi; é diferente da forma como o faz nas folhas de cálculo. Para introduzir dados numa linha nova, terá de usar as teclas de cursores ou o rato, para colocar o seu cursor na última linha especial, marcada com um sinal de mais (+). Coloque o seu cursor na (segunda) coluna <literal +>nome</literal +> e indique o nome de uma pessoa. Preencha também o apelido, a rua, o número da porta e a cidade. Quando terminar, desça com o cursor ou com o botão do rato para a última linha em branco, para aceitar a introdução de uma nova linha. Poderá inserir linhas da forma que aparece na figura, assim como adicionar mais linhas ao seu gosto. </para> + <note> + <title +>Detalhes Sobre as Acções Disponíveis ao Introduzir Dados nas Tabelas</title> + <itemizedlist> + <listitem> + <para +>A partir do momento em que começou a introduzir dados, escrevendo para tal o primeiro carácter, dá-se início à edição da linha actual. Do lado esquerdo da tabela de dados, aparece o símbolo do lápis. </para> + </listitem> + <listitem> + <para +>Se fizer duplo-click numa célula, com o &LMB; ou se carregar nas teclas <keycap +>Enter</keycap +> ou <keycap +>F2</keycap +>, também dá início à edição da linha actual. </para> + </listitem> + <listitem> + <para +>Se carregar na tecla <keycap +>Esc</keycap +>, quando o conteúdo de uma célula estiver a ser editado, irá <emphasis +>cancelar as alterações feitas a esta célula</emphasis +>. Contudo, o símbolo do lápis não irá desaparecer, dado que poderá à mesma mudar para outra célula diferente da linha alterada, de modo a modificar o seu conteúdo. Para <emphasis +>cancelar as alterações feitas à linha inteira</emphasis +>, carregue em <keycap +>Esc</keycap +> de novo. </para> + </listitem> + <listitem> + <para +>Em vez de carregar na tecla <keycap +>Esc</keycap +>, poderá carregar no botão <guibutton +>Cancelar</guibutton +> da barra de ferramentas ou seleccionar a opção <menuchoice +><guimenu +>Dados</guimenu +><guimenuitem +>Cancelar as Alterações da Linha</guimenuitem +></menuchoice +> do menu. </para> + </listitem> + <listitem> + <para +>Carregue nas teclas <keycombo action="simul" +><keycap +>Shift</keycap +><keycap +>Enter</keycap +></keycombo +> para aceitar as alterações feitas a todas as células da linha actualmente em edição. Poderá também carregar no botão <guibutton +>OK</guibutton +> da barra de ferramentas ou seleccionar a opção <menuchoice +><guimenu +>Dados</guimenu +><guimenuitem +>Gravar a Linha</guimenuitem +></menuchoice +> do menu. </para> + </listitem> + </itemizedlist> + </note> + </step> + <step> + <para +>Preencha a tabela <literal +>numeros_telefone</literal +> com dados. Na coluna <literal +>pessoas</literal +>, terá de indicar o número da pessoa que existe na tabela <literal +>pessoas</literal +>. </para> + <!--<screenshot> + <screeninfo +>Example contents of the <literal +>phone_numbers</literal +> table</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_01_01_table2_contents.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Example contents of the <literal +>phone_numbers</literal +> table</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </step> + </procedure> + </sect1> diff --git a/koffice-i18n-pt/docs/koffice/kexi/enteringdatausingforms.docbook b/koffice-i18n-pt/docs/koffice/kexi/enteringdatausingforms.docbook new file mode 100644 index 00000000..84dcc2a6 --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/enteringdatausingforms.docbook @@ -0,0 +1,31 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> + + --> + + <sect1 id="entering-data-using-forms"> + <title +>Introduzir Dados com os Formulários</title> + <para +>A introdução e edição de dados é, normalmente, uma tarefa do utilizador da aplicação de base de dados, não do programador. Na prática, deseja-se verificar o formulário, em termos de introdução válida de dados, assim como ver se o formulário funciona como se pretende. </para> + <para +>Para testar o seu formulário, mude para a sua vista de dados. Irá aparecer uma única linha da base de dados (registo), assim como aparecerá um cursor de texto no primeiro campo de dados. Poderá mudar de campos, com o &LMB; ou com as teclas <keycap +>Tab</keycap +> e <keycombo action="simul" +><keycap +>Shift</keycap +><keycap +>Tab</keycap +></keycombo +>. Enquanto está a editar, existirá um ícone de um lápis, perto do navegador de registos. Depois de introduzir os dados da linha (registo), poderá carregar nas teclas <keycombo action="simul" +><keycap +>Shift</keycap +><keycap +>Enter</keycap +></keycombo +> ou no botão <guibutton +>OK</guibutton +> da barra de ferramentas, para aceitar as alterações feitas à linha actual. Se carregar no botão <guibutton +>Cancelar</guibutton +> da barra de ferramentas, irá eliminar as alterações feitas à linha actual, assim como repõe o conteúdo dos campos de dados. Poderá usar o botão de navegação dos registos para passar para uma nova linha. Todas as funções do navegador estão também disponíveis de forma semelhante à usada na vista da tabela de dados. </para> + </sect1> diff --git a/koffice-i18n-pt/docs/koffice/kexi/index.docbook b/koffice-i18n-pt/docs/koffice/kexi/index.docbook new file mode 100644 index 00000000..10e10fda --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/index.docbook @@ -0,0 +1,152 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY package "koffice"> + <!ENTITY kappname "&kexi;"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % Portuguese "INCLUDE"> + + <!-- Chapters --> + <!ENTITY intro SYSTEM "intro.docbook"> + <!ENTITY basics SYSTEM "basics.docbook"> + <!ENTITY building SYSTEM "building.docbook"> + <!ENTITY querydesigning SYSTEM "querydesigning.docbook"> + <!ENTITY enteringdataintotables SYSTEM "enteringdataintotables.docbook"> + <!ENTITY designingforms SYSTEM "designingforms.docbook"> + <!ENTITY enteringdatausingforms SYSTEM "enteringdatausingforms.docbook"> + <!ENTITY configuration SYSTEM "configuration.docbook"> + <!ENTITY menus SYSTEM "menus.docbook"> + <!ENTITY credits SYSTEM "credits.docbook"> + <!ENTITY database SYSTEM "database.docbook"> + <!ENTITY comparing SYSTEM "comparing.docbook"> + <!-- Do not define any other entities; instead, use the entities + from entities/general.entities and $LANG/user.entities. --> +]> + +<book lang="&language;"> + +<bookinfo> +<title +>O Manual do &kexi; </title> + +<authorgroup> + <author +><personname +> <firstname +>Martin</firstname +> <othername +>A.</othername +> <surname +>Ellis</surname +> </personname +> <email +>martin.ellis@kdemail.net</email +> </author> + <author +><personname +> <firstname +>Jaroslaw</firstname +> <surname +>Staniek</surname +> </personname +> <email +>js@iidea.pl</email +> </author> + <othercredit role="translator" +><firstname +>José</firstname +><surname +>Pires</surname +><affiliation +><address +><email +>jncp@netcabo.pt</email +></address +></affiliation +><contrib +>Tradução</contrib +></othercredit +> +</authorgroup> + +<copyright> + <year +>2004</year> + <year +>2005</year> + <year +>2006</year> + <holder +>Jaroslaw Staniek</holder> + <holder +>Martin Ellis</holder> +</copyright> + +<!-- Translators: put here the copyright notice of the translation --> +<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook + and in the FDL itself on how to use it. --> +<legalnotice +>&FDLNotice;</legalnotice> + +<!-- Date and version information of the documentation +Don't forget to include this last date and this last revision number, we +need them for translation coordination ! +Please respect the format of the date (YYYY-MM-DD) and of the version +(V.MM.LL), it could be used by automation scripts. +Do NOT change these in the translation. --> + +<date +>2006-09-07</date> +<releaseinfo +>1.6</releaseinfo> + +<!-- Abstract about this handbook --> +<abstract> + <para +>O &kexi; é uma aplicação para criar bases de dados e para a gestão de dados no pacote de produtividade do &koffice;. </para> +</abstract> + +<!-- Keywords --> +<keywordset> + <keyword +>KDE</keyword> + <keyword +>KOffice</keyword> + <keyword +>Kexi</keyword> + <keyword +>base de dados</keyword> +</keywordset> + +</bookinfo> + +<!-- The contents of the documentation begin here. Label +each chapter so with the id attribute. This is necessary for two reasons: it +allows you to easily reference the chapter from other chapters of your +document, and if there is no ID, the name of the generated HTML files will vary +from time to time making it hard to manage for maintainers and for the CVS +system. Any chapter labelled (OPTIONAL) may be left out at the author's +discretion. Other chapters should not be left out in order to maintain a +consistent documentation style across all KDE apps. --> + +&intro; +&basics; +&building; +&configuration; +&menus; +&credits; +&database; +&comparing; + +&documentation.index; +</book> + +<!-- +Local Variables: +mode: sgml +sgml-minimize-attributes: nil +sgml-general-insert-case: lower +End: + +vim:tabstop=2:shiftwidth=2:expandtab +kate: space-indent on; indent-width 2; tab-width 2; indent-mode none; +--> diff --git a/koffice-i18n-pt/docs/koffice/kexi/intro.docbook b/koffice-i18n-pt/docs/koffice/kexi/intro.docbook new file mode 100644 index 00000000..1d2d00a6 --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/intro.docbook @@ -0,0 +1,61 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +--> + +<chapter id="introduction"> +<title +>Introdução</title> + +<!-- The introduction chapter contains a brief introduction for the +application that explains what it does and where to report +problems. Basically a long version of the abstract. Don't include a +revision history. (see installation appendix comment) --> + +<para +>O &kexi; é uma aplicação de gestão de dados integrada. Poderá ser usada para criar esquemas de bases de dados, inserir dados, efectuar pesquisas e processar dados. Os formulários poderão ser criados para oferece uma interface comum aos seus dados. Todos os objectos da base de dados - tabelas, pesquisas e formulários - são gravados na base de dados, tornando simples a partilha dos dados e do desenho. </para> + +<para +>O &kexi; faz parte do pacote de produtividade &koffice; para o Ambiente de Trabalho K. </para> + +<para +>Para além de o &kexi; armazenar as suas bases de dados em ficheiros, ele também poderá guardar os seus dados num <firstterm +>servidor de bases de dados</firstterm +>. Se usar um servidor de bases de dados, poderá partilhar a sua base de dados com outras aplicações, permitindo também a mais que uma pessoa usar a base de dados de cada vez. São suportados os seguintes servidores de bases de dados pelo &kexi;: <itemizedlist> + <listitem> + <para +>MySQL (Veja em <ulink url="http://www.mysql.com/" +>http://www.mysql.com/</ulink +>) </para> + </listitem> + <listitem> + <para +>PostgreSQL (Veja em <ulink url="http://www.postgresql.org/" +>http://www.postgresql.org/</ulink +>) </para> + </listitem> + </itemizedlist> +</para> + +<para +>Poderá encontrar mais informações sobre o &kexi; na página do &kexi;, dentro da página Web do &koffice; em <ulink url="http://www.koffice.org/kexi/" +>http://www.koffice.org/kexi/</ulink +> e na página do próprio &kexi; em <ulink url="http://www.kexi-project.org/about.html" +>http://www.kexi-project.org/about.html</ulink +>. </para> + +<para +>Se tiver algumas dúvidas acerca do &kexi;, existem duas listas de correio que poderá usar. A <ulink url="mailto:kexi@kde.org" +>lista de correio dos utilizadores do Kexi</ulink +> poderá ser usada para fazer perguntas sobre a utilização do &kexi; ou acerca do projecto do &kexi;. A <ulink url="mailto:kexi-devel@kde.org" +>lista de correio de desenvolvimento do Kexi</ulink +> poderá ser usada para fazer perguntas sobre o desenvolvimento do &kexi;. Para mais informações sobre a subscrição nessas listas, em conjunto com algumas formas de entrar em contacto com os programadores do &kexi;, poderá ver em: <itemizedlist +> <listitem +> <para +> <ulink url="http://www.kexi-project.org/support.html" +>http://www.kexi-project.org/support.html</ulink> + </para> + </listitem> + </itemizedlist> +</para> +</chapter> + diff --git a/koffice-i18n-pt/docs/koffice/kexi/menus.docbook b/koffice-i18n-pt/docs/koffice/kexi/menus.docbook new file mode 100644 index 00000000..bd324d69 --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/menus.docbook @@ -0,0 +1,1289 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +--> + +<chapter id="menus"> + <chapterinfo> + <authorgroup> + <author +><firstname +>Anne-Marie</firstname +> <surname +>Mahfouf</surname +> <affiliation +> <address +><email +>annemarie.mahfouf@free.fr</email +></address> + </affiliation> + </author> + <author +><personname +> <firstname +>Jarosław</firstname +> <surname +>Staniek</surname +> </personname +> <email +>js@iidea.pl</email +> </author> + <othercredit role="translator" +><firstname +>José</firstname +><surname +>Pires</surname +><affiliation +><address +><email +>jncp@netcabo.pt</email +></address +></affiliation +><contrib +>Tradução</contrib +></othercredit +> + </authorgroup> + </chapterinfo +> + <title +>Referência de Comandos</title> + + <sect1 id="filemenu"> + <title +>O Menu <guimenu +>Ficheiro</guimenu +></title> + <para> + <variablelist> + <varlistentry> + <term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>N</keycap +></keycombo +> </shortcut +> <guimenu +>Ficheiro</guimenu +> <guimenuitem +>Novo...</guimenuitem +> </menuchoice +></term> + <listitem +><para +><action +>Cria um projecto novo.</action +> O projecto aberto de momento não é afectado.</para +></listitem> + </varlistentry> + + <varlistentry> + <term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>O</keycap +></keycombo +> </shortcut +> <guimenu +>Ficheiro</guimenu +> <guimenuitem +>Abrir...</guimenuitem +> </menuchoice +></term> + <listitem +><para +><action +>Abre um projecto existente.</action +> O projecto aberto de momento não é afectado.</para +></listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice +><guimenu +>Ficheiro</guimenu +> <guimenuitem +>Obter Bases de Dados de Exemplo...</guimenuitem +> </menuchoice> + </term> + <listitem> + <para +><action +>Abre a janela do KNewStuff</action +> que lhe permite transferir bases de dados de exemplo da Internet. Esta opção não está disponível de momento para o MS Windows.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>S</keycap +></keycombo +> </shortcut +> <guimenu +>Ficheiro</guimenu +> <guimenuitem +>Gravar</guimenuitem +> </menuchoice> + </term> + <listitem> + <para +><action +>Grava as mudanças do objecto da janela activa.</action +></para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice +><guimenu +>Ficheiro</guimenu +> <guisubmenu +>Importar...</guisubmenu +><guimenuitem +>Tabela de Dados...</guimenuitem +> </menuchoice> + </term> + <listitem> + <para +><action +>Importa os dados da tabela de um ficheiro no formato CSV (Comma Separated Value - Valores Separados por Vírgulas).</action +></para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice +><guimenu +>Ficheiro</guimenu +> <guisubmenu +>Exportar</guisubmenu +><guimenuitem +>Tabela ou Pesquisa como Tabela de Dados...</guimenuitem +> </menuchoice> + </term> + <listitem> + <para +><action +>Exporta os dados da tabela ou pesquisa activa para um ficheiro no formato CSV (Comma Separated Value).</action +></para> + </listitem> + </varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>P</keycap +></keycombo +> </shortcut +> <guimenu +>Ficheiro</guimenu +> <guimenuitem +>Imprimir...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Imprime os dados da tabela ou pesquisa activa (aberta).</action +></para> +<important +><para +>Nota para o KDE: Garanta que o sistema de impressão correcto está seleccionado na secção <quote +>Sistema de impressão em uso:</quote +>. Esta opção poderá ser vista depois de carregar no botão de <guimenu +>Opções>></guimenu +>.</para +></important +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Ficheiro</guimenu +> <guimenuitem +>Antevisão da Impressão...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Mostra a antevisão da impressão para a tabela ou pesquisa activa (aberta).</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Ficheiro</guimenu +> <guimenuitem +>Configuração da Página...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><guibutton +>Configurar o Tipo de Letra...</guibutton +> para o <guilabel +>Título da página:</guilabel +>, <guibutton +>Mudar...</guibutton +> o <guilabel +>Tamanho da Página & Margens</guilabel +> e <guilabel +>Adicionar os contornos da tabela</guilabel +>.</para +></listitem> +</varlistentry> + + <varlistentry> + <term> + <menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>W</keycap +></keycombo +> </shortcut +> <guimenu +>Ficheiro</guimenu +> <guimenuitem +>Fechar o Projecto</guimenuitem +> </menuchoice> + </term> + <listitem> + <para +><action +>Fecha o documento aberto de momento mas deixa o &kexi; a correr. </action +></para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Q</keycap +></keycombo +> </shortcut +> <guimenu +>Ficheiro</guimenu +> <guimenuitem +>Sair</guimenuitem +> </menuchoice> + </term> + <listitem> + <para +><action +>Sai</action +> do &kexi;.</para> + </listitem> + </varlistentry> + </variablelist> + </para> + </sect1> + +<sect1 id="editmenu"> +<title +>O Menu <guimenu +>Editar</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Z</keycap +></keycombo +> </shortcut +> <guimenu +>Editar</guimenu +> <guimenuitem +>Desfazer</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Anula uma acção.</action +> Poderá voltar ao estado que existia antes da sua última alteração.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl; &Shift; <keycap +>Z</keycap +></keycombo +> </shortcut +> <guimenu +>Editar</guimenu +> <guimenuitem +>Refazer</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Anula um acto desfeito.</action +> Volta atrás na acção do Desfazer. Irá repor a alteração que tinha feito anteriormente.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>X</keycap +></keycombo +> </shortcut +> <guimenu +>Editar</guimenu +> <guimenuitem +>Cortar</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Remove o texto seleccionado de momento e coloca-o na área de transferência.</action +> Este comando está indisponível se não estiver texto seleccionado de momento. Se esta acção for usada no Desenhador de Formulários, o elemento ou grupo de elementos seleccionado de momento é removido e colocado na área de transferência. </para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>C</keycap +></keycombo +> </shortcut +> <guimenu +>Editar</guimenu +> <guimenuitem +>Copiar</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Copia o texto seleccionado de momento e coloca-o na área de transferência.</action +> Este comando está indisponível se não estiver texto seleccionado de momento. Se esta acção for usada no Desenhador de Formulários, o elemento ou grupo de elementos seleccionado de momento é copiado para a área de transferência.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>V</keycap +></keycombo +> </shortcut +> <guimenu +>Editar</guimenu +> <guimenuitem +>Colar</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Copia o conteúdo da área de transferência para o ponto de inserção.</action +> Este comando está indisponível se a área de transferência estiver vazia. Se esta acção for usada no Desenhador de Formulários e a área de transferência conter elementos copiados, eles serão inseridos no formulário.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Editar</guimenu +> <guisubmenu +>Cópia Especial</guisubmenu +> <guimenuitem +>Tabela ou Pesquisa como Tabela de Dados...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Copia a tabela ou os dados da pesquisa seleccionados para a área de transferência.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Editar</guimenu +> <guisubmenu +>Colar Especial</guisubmenu +> <guimenuitem +>Como Tabela de Dados...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Cola os dados da área de transferência numa tabela nova do projecto actual. </action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>A</keycap +></keycombo +> </shortcut +> <guimenu +>Editar</guimenu +> <guimenuitem +>Seleccionar Tudo</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Selecciona todos os caracteres do campo de texto editado ou todos os elementos gráficos do Desenhador de Formulários. </action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Editar</guimenu +> <guimenuitem +>Apagar</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Remove o objecto seleccionado de momento.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Delete</keycap +></keycombo +> </shortcut +> <guimenu +>Editar</guimenu +> <guimenuitem +>Remover a Linha</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Remove a linha seleccionada de momento de uma tabela.</action +></para +></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="viewmenu"> +<title +>O Menu <guimenu +>Ver</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +><keycap +>F6</keycap +></shortcut +> <guimenu +>Ver</guimenu +> <guimenuitem +>Vista de Dados</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Muda para a Vista de Dados.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +><keycap +>F7</keycap +></shortcut +> <guimenu +>Ver</guimenu +> <guimenuitem +>Vista de Desenho</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Muda para a Vista de Desenho.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +><keycap +>F8</keycap +></shortcut +> <guimenu +>Ver</guimenu +> <guimenuitem +>Vista de Texto</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Muda para a Vista de Texto.</action +> De momento, só está disponível para as pesquisas na base de dados e significa que muda para a Vista de SQL do Desenhador de Pesquisas.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;<keycap +>1</keycap +></keycombo +> </shortcut +> <guimenu +>Ver</guimenu +> <guimenuitem +>Navegador do Projecto</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Vai para a área do Navegador do Projecto.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;<keycap +>2</keycap +></keycombo +> </shortcut +> <guimenu +>Ver</guimenu +> <guimenuitem +>Área Principal</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Vai para a área principal.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;<keycap +>3</keycap +></keycombo +> </shortcut +> <guimenu +>Ver</guimenu +> <guimenuitem +>Editor de Propriedades</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Vai para a área do Editor de Propriedades.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Ver</guimenu +> <guimenuitem +>Mostrar/Esconder as Propriedades</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Mostra ou esconde a área do Editor de Propriedades.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Ver</guimenu +> <guimenuitem +>Mostrar/Esconder o Navegador do Projecto</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Mostra ou esconde a área do Navegador do Projecto.</action +></para +></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="insertmenu"> +<title +>O Menu <guimenu +>Inserir</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><guimenu +>Inserir</guimenu +> <guimenuitem +>Tabela...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Insere o desenho de uma nova tabela vazia sem a gravar.</action +> A janela do Desenhador de Tabelas irá aparecer.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Inserir</guimenu +> <guimenuitem +>Pesquisa...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Insere um novo desenho vazio de pesquisas sem o gravar.</action +> A janela do Desenhador de Pesquisas irá aparecer.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Inserir</guimenu +> <guimenuitem +>Formulário...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Insere um novo desenho vazio de um formulário sem o gravar.</action +> A janela do Desenhador de Formulários irá aparecer.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Inserir</guimenu +> <guimenuitem +>Programa...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Insere um novo desenho vazio de um programa sem o gravar.</action +> A janela do Editor de Programas irá aparecer. O comando fica disponível apenas se o suporte de programação estiver activo no &kexi;.</para +></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="formatmenu"> +<title +>O Menu <guimenu +>Formato</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><guimenu +>Formato</guimenu +> <guimenuitem +>Tipo de Letra...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Muda o tipo de letra do objecto seleccionado.</action +> Pode ser usado no Desenhador de Formulários para mudar o tipo de letra do item gráfico.</para +></listitem> +</varlistentry> + +<!-- Forms --> + +<varlistentry> +<term +><menuchoice +><guimenu +>Formato</guimenu +> <guimenuitem +>Alinhar à Grelha</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Se isto estiver activo, ao mover os itens na superfície do formulário, o canto superior esquerdo do elemento irá ajustar-se ou mover-se para o ponto da grelha mais próximo.</action +> Isto reduz a sua liberdade para posicionar à vontade os elementos gráficos no formulário, mas também ajuda a alinhar de forma precisa os elementos.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Formato</guimenu +> <guimenuitem +>Dispor os Elementos</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Cria uma nova disposição para os itens gráficos. Estes podem ser dispostos na Horizontal, Vertical, em Grelha, na Horizontal com Separador ou na Vertical com Separador.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Formato</guimenu +> <guimenuitem +>Quebrar a Disposição</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Quebra a disposição seleccionada de momento.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Formato</guimenu +> <guimenuitem +>Alinhar a Posição dos Elementos</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Alinha a posição dos itens seleccionados de momento: à Esquerda, à Direita, ao Fundo, ao Topo ou à Grelha.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Formato</guimenu +> <guimenuitem +>Alinhar o Tamanho dos Elementos</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Alinha o tamanho dos elementos seleccionados de momento: para Caber, à Grelha, ao Menor, ao Maior, ao Mais Estreito, ao Mais Largo.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Formato</guimenu +> <guimenuitem +>Elevar o Elemento</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Passa os itens seleccionados de momento para a frente.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Formato</guimenu +> <guimenuitem +>Baixar o Elemento</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Passa os itens seleccionados de momento para trás.</action +></para +></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="datamenu"> +<title +>O Menu <guimenu +>Dados</guimenu +></title> + +<!--when do the first two items appear ???--> +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Return</keycap +></keycombo +> </shortcut +> <guimenu +>Dados</guimenu +> <guimenuitem +>Gravar a Linha</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Grava os dados da tabela seleccionada de momento.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Dados</guimenu +> <guimenuitem +>Cancelar as Alterações da Linha</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Cancela as alterações feitas à linha da tabela seleccionada de momento.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Dados</guimenu +> <guisubmenu +>Ordenar</guisubmenu +><guimenuitem +>Ascendente</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Ordena os dados por ordem ascendente (de A a Z e de 0 a 9).</action +> Os dados da coluna seleccionada são usados para a ordenação.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Dados</guimenu +> <guisubmenu +>Ordenar</guisubmenu +><guimenuitem +>Descendente</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Ordena os dados por ordem descendente (de Z a A e de 9 a 0).</action +> Os dados da coluna seleccionada são usados para a ordenação.</para +></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="toolsmenu"> +<title +>O Menu <guimenu +>Ferramentas</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><guimenu +>Ferramentas</guimenu +> <guimenuitem +>Importar uma Base de Dados...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Abre o Assistente de Importação de Bases de Dados</action +> para importar uma base de dados existente para uma base de dados do &kexi;.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Ferramentas</guimenu +> <guimenuitem +>Executar um Ficheiro de Programa...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Mostra a janela de ficheiros</action +> para abrir um ficheiro de programa existente.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Ferramentas</guimenu +> <guimenuitem +>Gestor de Programas...</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Mostra a janela do <guilabel +>Gestor de Programas</guilabel +> do &kexi;</action +> para executar, carregar, fechar, instalar, desinstalar ou obter programas.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Ferramentas</guimenu +> <guimenuitem +>Programas</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Executa um programa já carregado.</action +></para +></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="windowmenu"> +<title +>O Menu <guimenu +>Janela</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>W</keycap +></keycombo +> </shortcut +> <guimenu +>Janela</guimenu +> <guimenuitem +>Fechar</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Fecha a janela activa.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Janela</guimenu +> <guimenuitem +>Fechar Tudo</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Fecha todas as janelas abertas.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Janela</guimenu +> <guisubmenu +>Modo MDI</guisubmenu +> <guimenuitem +>Modo de Janelas-Filhas</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Muda para o modo de interface de Janelas-Filhas.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Janela</guimenu +> <guisubmenu +>Modo MDI</guisubmenu +> <guimenuitem +>Modo IDEAl</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +><action +>Muda para o modo de interface IDEAl.</action +></action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;<keycap +>Direita</keycap +></keycombo +> </shortcut +> <guimenu +>Janela</guimenu +> <guimenuitem +>Janela Seguinte</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Muda para a janela seguinte.</action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;<keycap +>Direita</keycap +></keycombo +> </shortcut +> <guimenu +>Janela</guimenu +> <guimenuitem +>Janela Anterior</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Muda para a janela anterior.</action +></para +></listitem> +</varlistentry> + +</variablelist> +<para +>Os últimos itens deste menu mostram os nomes das janelas abertas de momento.</para> +</sect1> + + <sect1 id="settingsmenu"> + <title +>O Menu <guimenu +>Configuração</guimenu +></title> + + <para> + <variablelist> + <varlistentry> + <term> + <menuchoice +><guimenu +>Configuração</guimenu +> <guimenuitem +>Barras de Ferramentas</guimenuitem +> </menuchoice> + </term> + <listitem> + <para +><action +>Mostra ou esconde uma das barras de ferramentas.</action +></para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice +><guimenu +>Configuração</guimenu +> <guimenuitem +>Configurar os Atalhos...</guimenuitem +> </menuchoice> + </term> + <listitem> + <para +><action +>Configura os atalhos de teclado usados pelo &kexi;. </action +> Veja a secção de configuração dos atalhos para mais detalhes.</para> + </listitem> + </varlistentry> + + </variablelist> +</para> +</sect1> + +<sect1 id="helpmenu"> + <title +>O Menu <guimenu +>Ajuda</guimenu +></title> +&help.menu.documentation; </sect1> +</chapter> diff --git a/koffice-i18n-pt/docs/koffice/kexi/querydesigning.docbook b/koffice-i18n-pt/docs/koffice/kexi/querydesigning.docbook new file mode 100644 index 00000000..d741ebed --- /dev/null +++ b/koffice-i18n-pt/docs/koffice/kexi/querydesigning.docbook @@ -0,0 +1,153 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> + + --> + + <sect1 id="designing-queries"> + <title +>Desenhar Pesquisas de Bases de Dados</title> + <para +>O objectivo principal de uma base de dados é guardar e ajudar a extrair a informação que você procura. Ao contrário das bases de dados escritas em papel, a base de dados &kexi; permite-lhe introduzir mais critérios de pesquisa. Os resultados são devolvidos mais rapidamente, mesmo para grandes conjuntos de dados. Todo este é o poder das bases de dados; contudo, para ser capaz de efectuar <emphasis +>pesquisas</emphasis +> eficientes na sua base de dados, você terá de aprender como dizer à base de dados o que procura. </para> + <para +>Com as pesquisas das bases de dados, poderá limitar os dados que vêm de uma tabela para um conjunto predefinido de linhas e colunas, assim como <firstterm +>juntar</firstterm +> dinamicamente os dados que vêm de várias tabelas. </para> + <para +>Para ver como as pesquisas funcionam na prática, você irá criar a pesquisa <literal +>contactos</literal +>, que junta os dados de duas tabelas, a <literal +>pessoas</literal +> e a <literal +>numeros_telefone</literal +> (desenhada no capítulo 3.1 e preenchida com dados no capítulo 3.2 ). </para> + <procedure> + <step> + <para +>Crie uma nova pesquisa vazia, seleccionando a opção <menuchoice +><guimenu +>Inserir</guimenu +><guimenuitem +>Pesquisa</guimenuitem +></menuchoice +> do menu. A janela de desenho irá aparecer. A janela aparece dividida em duas áreas: as relações da pesquisa no topo e as colunas da pesquisa em baixo. </para> + </step> + <step> + <para +>Seleccione a tabela <literal +>pessoas</literal +> na lista <guilabel +>Tabela:</guilabel +>, localizada no topo da janela, e carregue no botão <guibutton +>Adicionar</guibutton +>. Irá aparecer uma representação gráfica da tabela na área de relações. Faça o mesmo para a tabela <literal +>numeros_telefone</literal +>, para inseri-la também, como acontece na figura abaixo. </para> + <!--<screenshot> + <screeninfo +><literal +>contacts</literal +> query design</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_03_00_query_design.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +><literal +>contacts</literal +> query design</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </step> + <step> + <para +>Adicione uma relação à pesquisa com a técnica 'drag & drop' com o rato: carregue no campo <literal +>id</literal +> da tabela <literal +>pessoas</literal +>, arraste-o e largue no campo <literal +>pessoa</literal +> da tabela <literal +>numeros_telefone</literal +>. Isto irá <emphasis +>juntar ambos os campos, criando uma nova relação</emphasis +>. </para> + </step> + <step> + <para +>Faça duplo-click no campo <literal +>nome</literal +> da tabela <literal +>pessoas</literal +>, para adicionar o campo como uma <firstterm +>coluna da pesquisa</firstterm +>. Da mesma forma, adicione os campos <literal +>apelido</literal +>, a <literal +>rua</literal +>, o <literal +>numero_porta</literal +> e a <literal +>cidade</literal +> da tabela <literal +>pessoas</literal +> e o <literal +>telefone</literal +> da tabela <literal +>numeros_telefone</literal +>. </para> + </step> + <step> + <para +>O desenho da pesquisa está pronto para ser testado. Carregue no botão <guibutton +>Mudar para a vista de dados</guibutton +>, da barra de ferramentas, para mudar do desenho para a visualização dos dados fornecidos, como resultado da pesquisa. </para> + <!--<screenshot> + <screeninfo +><literal +>Contacts</literal +> query results</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_03_00_query_results.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +><literal +>Contacts</literal +> query results</phrase> + </textobject> + </mediaobject> + </screenshot +>--> + </step> + <step> + <para +>Grave o desenho da pesquisa, para uso posterior, carregando no botão <guibutton +>Gravar</guibutton +> da barra de ferramentas. Também poderá usar a opção <menuchoice +><guimenu +>Ficheiro</guimenu +><guimenuitem +>Gravar</guimenuitem +></menuchoice +> do menu ou carregar em <keycombo action="simul" +><keycap +>Ctrl</keycap +><keycap +>S</keycap +></keycombo +>. Dado que o desenho da pesquisa ainda não foi gravado, ser-lhe-á pedido um nome para ela. Indique o texto <literal +>Contactos</literal +>, no campo do <guilabel +>título</guilabel +>, e carregue no botão <guibutton +>OK</guibutton +>. </para> + </step> + </procedure> + </sect1> |