Mão na Massa
Crie um fórum de discussão
Usando Delphi 2006, ASP.NET e Firebird
Neste artigo veremos uma forma simples de criar um site de fórum. Criaremos um espaço para discussão de assuntos e temas propostos pelos usuários do fórum. Começaremos fazendo a análise da estrutura de dados, após passaremos a criação do banco de dados. Utilizaremos o Firebird 1.5 e para desenvolvimento da aplicação o Delphi 2006 for ASP.NET.
Criaremos um fórum simples, com uma tela de listagem de áreas do fórum, e partindo-se da área selecionada, a listagem de todos os tópicos relacionados à mesma, e por fim o conteúdo de um tópico selecionado e a possibilidade dos usuários em responder ao tópico ou criar um novo.
Adotaremos neste exemplo uma regra de que a resposta e cadastro de tópicos, somente será realizada por usuários logados. Para fazer o controle de permissão de resposta e usuário logado, utilizaremos User Controls para rotinas de ocultar áreas de acesso restrito.
Nota: Devido ao pouco espaço disponível, alguns formulários não serão apresentados completamente. Faça o download dos fontes no endereço do artigo na página da DevMedia e acompanhe todas as funcionalidades do site de fórum.
Criando o banco de dados de exemplo
Para iniciarmos o exemplo, criaremos uma estrutura simplificada de tabelas e relacionamentos (Figura 1).
Figura 1. Diagrama ER da aplicação
Após definida a estrutura, proceda com a criação do arquivo de dados. Crie sua base com o nome de “database.fdb”. Com o banco de dados criado, passaremos agora a criação da aplicação no Delphi 2006, fique a vontade para utilizar também a versão do Delphi 2005 (o script do banco encontra-se para download).
Criando a aplicação
Crie uma nova ASP.NET Web Application for Delphi .NET através do menu File do Delphi 2006, e nomeia a mesma como “forum”. Utilizaremos neste artigo como servidor Web o Internet Information Services (IIS), se preferir poderá utilizar outros servidores compatíveis.
Pressione OK e aguarde para que o Delphi realize as configurações necessárias e crie a estrutura de páginas do projeto, onde você será direcionado à página WebForm1.aspx. Utilize o Project Manager do Delphi e renomeie a página para “index.aspx”. Passaremos agora a criar a conexão da aplicação ao banco de dados criado anteriormente.
Configurando o componente de acesso a dados
Para realizar o acesso ao banco de dados Firebird faremos uso do provider, que deverá ser instalado no Delphi. Faça o download do componente no endereço www.firebirdsql.org. Localize no Project Manager a Global.asax e com um duplo clique ative a mesma, onde passaremos a configurar o componente de acesso.
Adicione na Global.asax um FbConnection, alterando o nome do mesmo para “conexao” e a propriedade Modifers para Public. Ao selecionar a propriedade ConnectionString uma caixa de diálogo será exibida, onde configuraremos as informações de acesso ao banco de dados (Figura 2). Informe o Data Source ou servidor do banco de dados, como “localhost” se a base estiver na mesma máquina.
Figura 2. Configurando o componente de acesso a dados
Informe também o Database (caminho do banco). Se a senha do Firebird não foi alterada, teste sua conexão (Test) e finalize a configuração clicando em Accept. Acesse agora o código do arquivo utilizando a guia Global.pas na parte inferior da tela.
Localize entre o final da declaração de métodos e o início da declaração de implementation, e crie a variável “dados” do tipo TGlobal. Os demais componentes de consultas e parâmetros SQL serão criados em runtime, o que permite um maior controle das ações a serem executadas no decorrer da programação.
Customizando as páginas do fórum
Antes de retornarmos à index.aspx, criaremos uma unit para configurar códigos com consultas da aplicação. No menu File>New>Other>Delphi for .NET Projects na lista New Files, selecione Unit e confirme. Salve o projeto e atribua o nome de “UntGeral.pas” para a unit criada.
Criaremos na UntGeral uma procedure, que chamaremos no Page_Load de todas as páginas, chamada VerificaConexao, responsável por abrir o componente de conexão a base de dados. Antes de codificarmos a mesma precisamos criar uma referência à Global.asax, onde colocamos o componente de acesso. Através do menu File>Use unit localize Global e confirme. Atribua o código da Listagem
Listagem 1. Criando a VerificaConexao na UntGeral
" [...] continue lendo...