sábado, 18 de janeiro de 2014

Como fazer para: formatar campos para tratar data e hora

Este estudo de caso procura mostrar algumas sugestões de formatação para campos de edição do tipo data field e table window column para receber e mostrar datas e horas. A formatação destes campos é feita em tempo de design, no ambiente de desenvolvimento do SQLWindows, utilizando-se o Attribute Inspector.

 

Neste estudo de caso vamos nos concentrar em formatação de campos de data e hora.

 

Entendendo a formatação

 

Objetos tipo data field e table window column permitem a edição do seu conteúdo. Após o usuário encerrar a edição e tirar o foco do objeto o SQLWindows aplica a configuração de formato que você definiu para o objeto mostrando a informação no formato especificado.

 

A formatação de campos no SQLWindows está concentrada em dois locais que você precisa conhecer bem, a seção Formats e o Attribute Inspector.

 

A seção formats está localizada no interior da seção Global Declarations, como você pode ver abaixo:

 

clip_image002

figura 1.

 

Na seção Formats estão definidos todos os formatos utilizados pela sua aplicação. Você deve manter nesta seção apenas os formatos utilizados, evite deixar aqui formatos que não estão sendo utilizados. Esta observação torna-se uma regra quando estiver utilizando Dynalibs.

Você pode determinar como um campo será formatado de forma bem simples, basta selecionar o campo e procurar no Attribute Inspector pela propriedade “Format”, selecionando a formatação que desejar.

 

clip_image002[6]

figura 2.

 

Você pode formatar um campo de duas formas:

  • escolhendo um dos formatos já existentes e mostrados no combo Box de tipos de formatos.
  • personalizar a formatação informando uma nova máscara que se adapte melhor às  necessidades da sua aplicação.

 

Para formatar um campo de forma personalizada você precisará conhecer os caracteres que compõem a máscara de formato e suas funções:

 

Caracter

Função

d

Mostra o número do dia , sem o zero à esquerda ( 1-31 )

dd

Mostra o número do dia , com o zero à esquerda ( 01-31 )

ddd

Mostra o nome do dia abreviado ( Seg-Dom )

dddd

Mostra o nome completo do dia ( Segunda-feira – Domingo )

M

Mostra o número do mês, sem o zero à esquerda ( 1-12 )

MM

Mostra o número do mês, com o zero à esquerda ( 01-12 )

MMM

Mostra o nome do mês abreviado ( Jan-Dez )

MMMM

Mostra o nome completo do mês ( Janeiro-Dezembro )

yy

Mostra o ano com dois dígitos

yyyy

Mostra o ano com quatro dígitos

hh

Mostra a hora ( 0-12 )

hhhh

Mostra a hora ( 0-24 )

mm

Mostra os minutos ( 0-59 )

ss

Mostra os segundos ( 0-59 )

mmmmmm

Mostra os milésimos de segundos ( 000000-999999 )

AMPM

Mostra hora no formato internacional

 

Basicamente um formato precisa ser definido nos mesmos padrões dos formatos do MS Excel.

 

clip_image001

Fique atento !

 

Uma outra maneira de formatar campos é utilizando a formatação pré-configurada pelo SQLWindows, conhecida como profile-driven, escolhendo um país na lista chamada “Country”. Porém este recurso foi descontinuado e está presente apenas para efeito de manter a compatibilidade, recomendamos que você não utilize este recurso. Se estiver utilizando recomendamos que troque para os formatos pré-definidos na lista de formatos do Attribute Inspector.

 

 

Mãos a obra !

 

Agora que você já conhece os caracteres utilizados na definição dos formatos, suas funções e sabe onde é feita a definição dos formatos podemos exercitar um pouco.

 

 

Este exemplo chama-se “Estudo de caso - 1.apt” e está disponível para download aqui:

  img

quarta-feira, 11 de dezembro de 2013

Novo produto da familia Team Developer

A Gupta está preparando uma ferramenta totalmente nova para criação de aplicações mobile e eu testei uma aplicação exemplo e gostaria de compartilhar aqui.

A aplicação exemplo é uma interface para o banco de dados de exemplo que acompanha o Team Developer há alguns anos, o banco ISLAND.

A aplicação é bem simples e funcionou rápida e sem problemas num acesso através de wi-fi.

Abaixo segue algumas imagens da navegação através do site:


Página de login na aplicação





















 

A sequencia abaixo mostra as páginas de uso da aplicação após a navegação ter sido iniciada escolhendo uma empresa cliente.


  Relação de clientes

  Detalhes do cliente

Cada cliente possui invoices associadas a ele e cada invoice possui algumas informações de cadastro. Estas duas páginas são mostradas abaixo:

  Relação de invoices   Detalhes de uma invoice

A página abaixo mostra os itens que compoem uma invoice





















A página abaixo mostra o nível maior de detalhe, onde é possível ver a imagem da estampa da camiseta.

wp_ss_20131209_0012

A aplicação foi testada com sucesso num smartphone rodando Windows Phone 8.

links

página do TD Mobile: http://guptatechnologies.com/Products/App_Dev/TDMobile/default.aspx

página da aplicação: 
https://tdmobile.guptatechnologies.com/Island/Login

segunda-feira, 30 de setembro de 2013

Grupos de Abas com Abas filhas

Como exemplo vou mostrar uma sugestão de solução para usarmos as abas do Team Developer de forma que possam ter abas aninhadas, ou seja, abas cujo conteúdo é outro conjunto de abas.

A partir do Team Developer 6.1 este tipo de solução poderia ser feita, muito mais facilmente usando o objeto child tab. Porém, para todas as versões anteriores (que não possuem este controle de Tab) esta solução apresentada abaixo é recomendada.

Primeiramente inclua a biblioteca qcktabs.apl na sua aplicação.


A ilustração abaixo mostra a aba filha. É o formulário filho que contém três abas que em run-time serão mostradas como sendo filhas de uma aba principal.
Como pode ser visto, trata-se de um formulário simples com três abas filhas. No código abaixo é possível ver os objetos adicionados a cada uma das três abas.
Em seguida é criado o formulário principal, que será o container das abas. É como se fosse a janela principal de configurações. É nesse formulário que será adicionado o formulário criado anteriormente com as três abas.
Como pode ser visto acima, trata-se de um formulário sem nenhum conteúdo, apenas as três abas sendo que na aba central será adicionado o link para que seu conteúdo seja personalizado.
Para personalizar o conteúdo da aba, basta clicar com o botão direito na aba desejada e acionar o menu Tab Frame Properties.
Isso dará acesso a janela acima, onde é possível fazer o link entre a aba e o formulário que será exibido como conteúdo da aba.
A imagem acima mostra em tempo de design a visualização da aba cujo conteúdo associado é um formulário.
Em tempo de execução o efeito é muito interessante. Como pode ser visto acima, as abas ficam aninhadas.

É possível aplicar este conceito em qualquer versão do Team Developer acima da versão 5.0 do SQLWindows 16bits até a mais atual TD 6.2.

Única restrição que precisa estar clara é que, uma aplicação usando este tipo de aba não pode ser compilada para .Net e não pode executar em browser.

divirtam-se !
:)

Arquivo APT compatível com o TD5.2 disponível para download





sábado, 25 de maio de 2013

Livro de Centura para Download Free

ATUALIZADO em Abril-2021

Link para Download 

 

 

Em junho de 2000 eu publiquei um livro de Centura no Brasil e até hoje as pessoas ainda me procuram tentando obter um exemplar do livro. Como não tenho mais exemplares físicos do livro tomei a decisão de converter o livro para PDF e disponibilizar o livro para download free no blog. Então, qualquer pessoa interessada no livro por favor, pode fazer o download free no link abaixo:

Este link o levará ao meu onedrive onde eu compartilhei o livro e os arquivos fonte dos exercícios citados no livro. Quem tiver algum problema em acessar esta pasta me avise.

Lembro que o livro é sobre a versão 2.0 do Team Developer porém, como a linguagem e muito da IDE não sofreram grandes mudanças, o livro pode ser usado para aprender praticamente qualquer versão do Team Developer.

Espero que assim mais pessoas possam encontrar recursos para aprender o Team Developer.

Bom estudo!

sexta-feira, 22 de março de 2013

6º Encontro de desenvolvedores Gupta no Brasil

O 6º encontro de desenvolvedores Gupta ocorrerá dia 19 de março de 2013 e há um convite muito legal feito pelo Calegari aqui neste link. http://www.computermachine.com.br/informativo/DEVCON2013/DEVCON_BRASIL.html convido a todos que, se possível, compareçam ! nos vemos por lá.

domingo, 17 de abril de 2011

Gerenciamento de Projetos no Team Developer

Muitas atenções estão voltadas para o Team Developer 6 e isso é normal, ainda mais agora que o TD 6 está inserido no contexto .NET. Muita informação sobre isso está disponível no site da Unify, blog, twitter e tudo o mais...

 

Inicio aqui a escrita de alguns artigos sobre gerenciamento de projetos utilizando como ferramenta o Team Developer, que acompanha o pacote do Team Developer. Pretendo mostrar um pouco de como esta ferramenta funciona.

TOM_01

O TOM ( Team Object Manager ) é uma ferramenta para gerenciamento de projetos envolvendo código fonte, equipe e normas de projeto.  Todas as atividades do TOM são baseadas num repositório, nele são inseridos não apenas os arquivos que compõem o projeto mas também é montada a estrutura das equipes e as regras de trabalho em equipe. Não há limites para a quantidade de projetos bem como tamanho das equipes que o TOM pode gerenciar.

 

Basicamente o que precisa ser feito para usar o TOM para gerenciar seus projetos é:

- instalar e configurar um repositório

- inserir no TOM dados sobre sua equipe, projetos e os arquivos do projeto

- iniciar o uso

 

Primeiro passo para usar o TOM e gerenciar um projeto é a criação de um repositório caso este ainda não exista. O repositório é uma estrutura criada num banco de dados usada pelo TOM para o gerenciamento dos projetos. Use o Repository Setup Wizard para criar seu repositório.

TOM_RepositorySetupWizard

Janela inicial do Repository Setup Wizard

Após criar o repositório execute o Team Object Manager para finalizar o restante das configurações iniciais do repositório. Será criado um projeto padrão, chamado #STARTER. As personalizações feitas neste projeto serão levadas aos demais projetos criados neste repositório. Portanto, vale a pena passar um tempo configurando o projeto #STARTER. (isso será mostrado aqui em breve)

Dentro do TOM

 

Existem muitos componentes dentro de um projeto do TOM e que são todos explicados no manual em pdf que acompanha o produto (books\team.pdf na pasta de instalação do Team Developer).

TOM_login

Janela de login do Team Object Manager 6.0

 

O TOM oferece uma interface similar à interface do Windows facilitando muito o uso, ao lado esquerdo temos a janela de folders onde seus detalhes, após escolhido um item, é mostrado na janela na lateral direita.

 

Para usar um projeto vamos iniciar com a criação de alguns usuários que farão parte da equipe que usará o TOM.

TOM_CreateUser

Etapas para criação de usuários no TOM

Devem ser criados no TOM um login para cada usuário que de fato participa do projeto. Não apenas desenvolvedores mas toda a equipe que normalmente é composta por desenvolvedores, líderes de projeto, toda a equipe de testes, documentação atendimento aos clientes etc.

Abaixo uma pequena equipe montada para dar suporte aos exemplos que se seguirão.

TOM_Team

Uma vez a equipe criada o próximo passo é criar o projeto. Você pode fazer isso rapidamente e escolher se deseja herdar as características de algum projeto anterior ou se o projeto recém-criado será baseado no projeto #STARTER.

TOM_CreateProject

Siga as instruções solicitadas pelo wizard para criação do novo projeto. Há uma decisão muito importante a ser tomada e que deve ser informada no momento de execção do wizard que diz respeito ao local onde os arquivos do projeto serão armazenados. Por questões de segurança podem ser armazenados no banco de dados ou numa pasta de rede por exemplo, em algum servidor. Isso fica a critério de cada um mas eu tenho usado armazenamento em banco de dados e nunca tive problemas.

Uma vez criado o projeto é hora de preparar a estrutura do seu projeto no TOM, adicionar alguns arquivos e configurar as regras. Neste ponto a equipe de gestão da configuração entra em ação e descarrega aqui suas normas e padrões a serem seguidos.

Como idéia simples para um projeto, segue abaixo uma sugestão:

TOM_ProjectTree

Exemplo de estrutura de um projeto

Projeto criado, algumas configurações básicas que recomendo para o projeto são:

Armazenamento dos arquivos do projeto em repositório

TOM_StorageInRepository

Esta opção diz para o TOM armazenar todos os arquivos que compoem o projeto no banco de dados. As tabelas do TOM serão usadas e mantidas por ele mesmo, nenhum trabalho de gestão do banco é necessário, os DBAs não necessitarão gerenciar aquivos por conta dessa opção. No máximo, em alguns casos, deverão apenas preocupar-se com questões de espaço alocado para armazenamento.

Local para extração dos arquivo de trabalho

TOM_PropDefaultProjectFolder

Esta opção indica a pasta onde os arquivos permanecerão durante o período em que o usuário trabalha com os arquivos do repositório. Normalmente uma pasta para uma área reservada para o usuário é a opção mais coerente.

Próximos passos:

- adicionar arquivos ao projeto

- associar arquivos a grupos de segurança

- check-in e check-out