Clique aqui para ler essa revista em PDF.
Mini-Curso
Desenvolvendo uma Aplicação Completa com PocketStudio
Aprenda a criar aplicações para o sistema operacional PalmOS – Parte 3
No artigo anterior, aprendemos a criar uma tabela e fazer referência a ela em nosso formulário de consulta de clientes. Com base no mesmo conceito e aprendizado, faremos a inclusão de novas telas em nosso sistema, tais como: cadastro de produtos e digitação de pedidos.
Lembrando que nossas telas no sistema apenas consultam a base de dados não possibilitando a inclusão de registros. Essa tarefa será efetuada através do sincronismo entre dispositivo e PC.
Poderíamos criar e utilizar a tela para editar os registros e enviá-los ao PC, porém em nosso exemplo será apenas mais uma janela de consulta. As telas que irão manipular informações são as de pedidos e itens do pedido.
O primeiro passo é criarmos a tabela produtos para armazenarmos os dados e podermos navegar entre os registros. Lembrando que essa tabela será preenchida no momento do sincronismo com o PC. Para isso devemos criar uma nova Unit, como vimos no artigo anterior. Acesse o menu File|New>Unit, salve-a com o nome de “ProdutosDB.pas”. Vale lembrar que podemos utilizar as teclas de atalhos CTRL + Shift + S para salvar nosso projeto. Feito isso vamos montar a tabela de produtos.
Logo abaixo da palavra reservada Interface declare uma seção Uses para adicionarmos a PSL que é a Library do PocketStudio onde estão os métodos necessários para manipularmos o BD dentro da Unit PSDatabase. Após a seção Uses declaramos uma nova seção Const onde informaremos o DBName, DBType e os índices para recuperação e configuração dos valores nos campos da tabela de Produtos.
Após a definição dos campos e seus respectivos índices, declaramos uma seção Var, onde informaremos ao PocketStudio o FieldDefs e um array. Também iremos declarar as variáveis globais que irão referenciar nossa base de dados
Como no artigo anterior criamos a tabela de clientes, não vou entrar em detalhes de como funciona cada função criada em nossa tabela. Altere a Unit ProdutosDB conforme a Listagem 1.
Listagem 1. Código completo da tabela de Produtos
unit ProdutosDB;
interface
uses PSL;
const
ProdutosDBName = 'ProdutosDB';
ProdutosDBType = Rsc('DBPR');
Prod_Codigo = 0;
Prod_DescProd = 1;
Prod_Preco = 2;
Prod_Estoque = 3;
Prod_Tam = 4;
Prod_Un = 5;
var
FieldDefs : array[0..5] of TFieldDef =
((DataType: ftUInt16),
(DataType: ftString),
(DataType: ftDouble),
(DataType: ftUInt32),
(DataType: ftString),
(DataType: ftString));
bProdutosInclui : Boolean;
DBPro : TDatabase;
function Open: Boolean;
function Close: Boolean;
function ProcuraCodigo(Codigo: UInt16): Boolean;
implementation
function Open: Boolean;
var
Atributos : UInt16;
begin
Result := PSDatabase.Open(DBPro, ProdutosDBName,
dmModeReadWrite);
if not Result then
begin
Result := PSDatabase.CreateDatabase(ProdutosDBName,
Creator, ProdutosDBType);
if Result then
Result := PSDatabase.Open(DBPro, ProdutosDBName,
dmModeReadWrite);
end;
" [...] continue lendo...