Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agora que conhecemos um pouco das principais propriedades do componente vamos comear
a trabalhar em nosso exemplo.
Antes de comear, vamos criar primeiramente um banco de dados para que possamos
armazenar os dados de nossa agenda. Como disse no inicio vamos utilizar o firebird. Crie uma
pasta chamada dados dentro da pasta ExemploAgenda que criamos anteriormente para salvar
o projeto.
Para criar o banco vou utilizar o IBExpert:
Aps criar o banco de dados crie a tabela AGENDA com a seguinte estrutura.
CREATE TABLE AGENDA (
ID_AGE
RESOURCEID
INTEGER,
PARENTID
INTEGER,
CAPTION
VARCHAR(255),
START_AGE
TIMESTAMP,
FINISH
TIMESTAMP,
STATE
INTEGER,
ACTUALFINISH
INTEGER,
ACTUALSTART
INTEGER,
EVENTTYPE
LABELCOLOR
INTEGER,
INTEGER,
LOCATION
VARCHAR(255),
"MESSAGE"
VARCHAR(255),
OPTIONS
RECURRENCEINDEX
RECURRENCEINFO
REMINDERDATE
INTEGER,
INTEGER,
BLOB SUB_TYPE 1 SEGMENT SIZE 80,
TIMESTAMP,
REMINDERMINUTESBEFORESTART INTEGER,
REMINDERRESOURCESDATA
TASKCOMPLETEFIELD
INTEGER,
TASKINDEXFIELD
INTEGER,
TASKLINKSFIELD
TASKSTATUSFIELD
INTEGER
);
Feito a alterao vamos criar agora um Generator para o campo ID_AGE da tabela.
Abra a tabela AGENDA no IBExpert, de um clique duplo no campo ID_AGE abrir a seguinte
tela:
Clique com o boto direito do mouse em cima IB_Tab_Agenda e selecione a opo no menu
DataBase Edit. No campo Key Fields selecione apenas o campo ID_AGE da tabela e no campo
Update Fields deixe selecionado todos os campos e em seguida clique no boto Generate SQL
e depois no boto Ok.
De um clique duplo em cima novamente do IB_Tab_Agenda e clique no teclado Crtl + F e
adicione todos os campos da tabela AGENDA ao IB_Tab_Agenda e passe a propriedade Active
para True. Selecione o Ds_IB_Tab_Agenda e na propriedade DataSet selecione o
IB_Tab_Agenda e a propriedade AutoEdit deixe igual a True.
Feito isso vamos para nosso Form1 onde esta nosso componente cxScheduler. Tecle no teclado
as teclas Alt + F11 e inclua no Uses do Form1 a unit DM que nosso DataModule.
Adicione no Form1 um componente chamado cxSchedulerDBStorage que se encontra na
mesma paleta que o cxScheduler este componente que vai se comunicar com nossa base de
dados e o cxScheduler portando ele como se fosse o intermedirio de informaes.
Na propriedade DataSource do cxSchedulerDBStorage selecione DM.Ds_IB_Tab_Agenda. Na
proriedade FildNames preencha seus campos igual a figura abaixo.
No caso desta agenda ela j serviria para sistemas que precisam trabalhar com um nica
agenda. Para sistemas que precisam de uma agenda individual para cada usurio tambm
conseguimos fazer isso com o cxScheduler, para isso vamos apenas dar uma pequena
modificada em nosso sistema e incluir mais uma tabela em nosso banco de dados.
Vamos criar a tabela FUNCIONARIOS para nosso exemplo, uma tabela simples com apenas dois
campos.
Crie a tabela conforme o script abaixo:
CREATE TABLE FUNCIONARIOS (
ID INTEGER NOT NULL,
NOME VARCHAR(100)
);
Aps criar a tabela vamos adicionar pelo IBExpert mesmo alguns dados para que possamos ver
nosso exemplo com mltiplas agendas.
Conecte essa tabela ao nosso sistema da mesma maneira que conectamos a tabela AGENDA
no DataModule.
Aps conectar a tabela deixa a mesma j ativa para que quando compilarmos o sistema j
esteja em funcionamento, lembrado que estou deixando a tabela ativa somente no caso deste
exemplo para facilitar.
Feito isso vamos at nosso Form e selecionar o cxSchedulerDBStorage e em sua propriedade
Resources vamos configurar da seguinte maneira.
Em DataSource selecione a tabela Funcionarios, em ResourceID adicione o campo ID da tabela
e em ResourceName o campo nome.
Feito isso basta compilarmos nosso projeto novamente e conferir o resultado que neste caso
j temos uma agenda individual para cada funcionrio. Como voc pode observar, trabalhamos
em quase todo momento somente com os prprios recursos do componente o que nos poupa
muito tempo de desenvolvimento. Agora s voc dar uma boa fuada nos recursos do
componente para que j esteja apto a trabalhar com o mesmo.
Bom amigos este foi um exemplo de como trabalhar com cxScheduler espero que possa ajudals em seus sistemas. Confira na figura abaixo o resultado da aplicao. Abrao e at a
prxima.
Edson Alves:
colaborador no frum da Active Delphi, atua como programador Delphi h 3 anos.
Atualmente trabalha na Ikatec Solues desenvolvendo aplicaes para o comercio local.
e-mail: edson.alvesan@gmail.com