sábado, 18 de junho de 2011

Como colocar seus "Forms" e "Projetos Modelos" no Repository

Fonte: www.activedelphi.com.br

Acredito que muitos já tentaram colocar seus forms mais usuais ou projetos modelos que são utilizados em várias aplicações no repository do Delphi, mas não tiveram muito sucesso.
Por isso resolvi escrever este artigo demonstrando uma maneira fácil de fazer isso.

O Repository ou "Repositor de objetos" é um conjunto de forms e projetos que podemos usar para criar um programa ou inserir determinados formulários à aplicação, por exemplo o "About".
    Nos rendemos a facilidade de ir no menu "File -> New -> Other..." e escolher os modelos existentes ali para adicionar ao nosso programa, por isso adicionar os nossos próprios modelos de forms e projects ao repository pode nos render facilidade e economia de tempo ao programar.
    Então mãos a obra, digo, ao teclado.
    Os arquivos do Repository, em uma instalação padrão, ficam em: "C:\Arquivos de programas\Borland\DelphiX\Objrepos" onde "X" refere-se a versão do Delphi.
    Aí encontramos diversos diretórios organizando os diferentes tipos de modelos.
    Portanto seus modelos também deverão ser colocados ai, de preferência dentro de um diretório criado por você.     Ex.: "C:\Arquivos de programas\Borland\DelphiX\Objrepos\Adair"
    Importante: Para um form é necessário ter os seguintes arquivos dentro deste diretório:
    "Sobre.dfm" -> Formulário
    "Sobre.pas" -> Código fonte do formulário Sobre
    "Sobre.ico" -> Ícone representativo do formulário Sobre(Irá parecer na lista do Repository)
    Para um project modelo deve-se criar um diretório próprio para o projeto.
    Ex.: "C:\Arquivos de programas\Borland\DelphiX\Objrepos\Adair\Projeto"
    Todos os arquivos do projeto (*.pas, *.dfm, *.res, e os demais) devem estar dentro deste diretório.
    Depois disso devemos alterar as configurações do Delphi para que os nossos modelos apareçam no repository.
    Para isso devemos localizar o arquivo "C:\Arquivos de programas\Borland\DelphiX\Bin\delphi32.dro" que contém as configurações referentes ao repository.
    Devemos editar este arquivo com o bloco de notas do Windows.
    Importante: Este arquivo só pode ser editado por um editor de textos simples, pois não pode conter outras informações a não ser texto, e muito cuidado ao alterar as informações contidas ali, se forem modificadas sem o devido cuidado, o repositoy pode não funcionar direito. Para prevenir, faça uma cópia do arquivo antes de altera-lo.
    Em primeiro lugar devemos localizar a seguinte expressão "[Repository Pages]" (que está bem no final do arquivo) e adicionar "Adair=" (que se refere ao diretório que criamos).
    Para incluir um Form devemos adicionar as seguintes linhas ao arquivo (de preferência já no início do arquivo para faciliar futuras alterações):
    [C:\Arquivos de programas\Borland\Delphi7\Objrepos\Adair\Sobre]
    Type=FormTemplate
    Name=Meu Sobre
    Page=Adair
    Icon=C:\Arquivos de programas\Borland\Delphi7\Objrepos\Adair\Sobre.ICO
    Description=Sobre do meu programa.
    Author=Adair
    DefaultMainForm=0
    DefaultNewForm=0
    Ancestor=
    Designer=dfm
    ATENÇÃO: As opções abaixo não podem ser modificadas:
    Type=FormTemplate
    DefaultMainForm=0
    DefaultNewForm=0
    Ancestor=
    Designer=dfm
  
    Para incluir um Project devemos adicionar as seguintes linhas ao arquivo:
    [C:\Arquivos de programas\Borland\Delphi7\Objrepos\Adair\Projeto\Modelo]
    Type=ProjectTemplate
    Name=Projeto Modelo
    Page=Adair
    Icon=C:\Arquivos de programas\Borland\Delphi7\Objrepos\Adair\Projeto\Modelo.ico
    Description=Meu Projeto Modelo.
    Author=Adair
    DefaultProject=0
    Designer=dfm
  
    Onde "Modelo" é o Delphi Project.
    ATENÇÃO: As opções abaixo não podem ser modificadas:
    Type=ProjectTemplate
    DefaultProject=0
    Designer=dfm
    Depois de adicionado todas as entradas, deve-se salvar e fechar o arquivo.

quinta-feira, 16 de junho de 2011

Acessando o Firebird via ASP

Fonte: www.activedelphi.com.br

Este artigo demonstra como desenvolver uma aplicação web utilizando a linguagem asp, acessando uma base de dados Firebird. Um caso típico para a aplicação disto é a necessidade de disponibilizar na web algum tipo de informação ou funcionalidade de um sistema local/desktop. Muitos fazem isso via php ou com o próprio delphi. Aqui vai uma outra alternativa
O Firebird é usado na maioria das vezes para ser acessado através de um programa executável (exe). Entretanto ele também pode ser utilizado em aplicações para Web, onde atualmente o banco de dados mais utilizado para é o poderoso MySQL. Entretanto o Firebird não deixa nada a desejar quando usado para esta finalidade também.
No nosso exemplo mostrarei como utilizar o ASP para acessar um banco de dados Firebird através de VisualBasicScript, JavaScript e PerlScript. Apesar de não ser minha linguagem favorita, o ASP servirá para ilustrar o exemplo. Note ainda que o ASP utiliza a tecnologia ADO para acesso ao banco de dados. Isto implica em muitas “camadas” para que o acesso ocorra. Naturalmente isso pode deixar o acesso um pouco lento, mas não é o objeto de estudo deste artigo. Também pressupõe-se que o leitor conheça um pouco da tecnologia ASP.
Nos três casos utilizaresmos os códigos como scripts dentro da página ASP. O Perl entretanto pode ainda ser utilizado como script a parte nos famosos “cgi-bin”. A estrutura básica da conexão será a seguinte:
ASP(asp.dll) -> VBS(vbscript.dll) | JS(jscript.dll) | Perl(PerlSE.dll) -> Oledb(oledb32.dll) -> ODBC(odbc32.dll) -> ODBCfb(odbcfb.dll) -> fbclient(fbclient.dll)
Precisaremos instalar o Microsoft Internet Information Services (IIS - servidor web), o Firebird, o Firebird ODBC Driver e o ActiveState Perl.
Para instalar o IIS:
1.Vá até o Painel de Controle,
2.Adicionar ou Remover Programas,
3.Adicionar ou Remover Componentes do Windows,
4.Marque a opção Internet Information Services (IIS),
5.Coloque o CD do Windows no Drive e click em avançar.
Para instalar o Firebird, faça download do programa na página official do Firebird e proceda a instalação padrão (superserver).
Para instalar o Firebird ODBC Driver, faça download do programa no site da IBPhoenix e proceda a instalação com as opções padrão.
Para instalar o ActiveState Perl, faça download do programa no site da ActiveState e proceda a instalação com as opções padrão.
Antes de criar a página, precisamos configurar a conexão:
1.Vá até o Painel de controle,
2.Ferramentas administrativas,
3.Fontes de dados (ODBC),
4.Fontes de Dados do Sistema e click em adicionar.
5.Selecione o driver “Firebird/InterBase(r) driver” e click em concluir.
6.Preencha os campos com os dados abaixo:

DSN
: examples
Database
: C:\Arquivos de programas\Firebird\Firebird_2_1\examples\empbuild\EMPLOYEE.FDB
Client
: C:\Arquivos de programas\Firebird\Firebird_2_1\bin\fbclient.dll
Database Account
: sysdba
Password
: masterkey
Transaction
: nowait
Se utilizar uma versão diferente de 2.1, o nome do banco de dados e DLL cliente podem alterar. Caso tenha mudado a senha do sysdba, também lembre-se de colocar a correta. Você pode clicar no botão “Testar Conexão” para se certificar de que tudo deu certo.
Digite o conteúdo abaixo e salve em C:\Inetpub\wwwroot\firebird.vbs.asp:
<% @LANGUAGE = VBScript %>
<%
Dim oConn, oRs, i
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Driver=Firebird/InterBase(r) driver;Data Source=examples"
Set oRs = oConn.Execute("SELECT * FROM PHONE_LIST")
Response.Write("")
Do while (Not oRs.eof)
 Response.Write("")
 For i = 0 to (oRs.fields.count - 1)
  Response.Write("")
 Next
 Response.Write("")
 oRs.MoveNext 
Loop
Response.Write("
" & oRs(i) & "
") oRs.close oConn.close %>
Digite o conteúdo abaixo e salve em C:\Inetpub\wwwroot\firebird.js.asp:
<% @LANGUAGE = JavaScript %>
<%
var oConn, oRs, i
oConn = Server.CreateObject("ADODB.Connection");
oConn.Open("Driver=Firebird/InterBase(r) driver;Data Source=examples");
oRs = oConn.Execute("SELECT * FROM PHONE_LIST");
Response.Write("");
while (!oRs.eof) {
 Response.Write("");
 for (i = 0; i <= oRs.fields.count - 1; i++) {
  Response.Write("");
 }
 Response.Write("");
 oRs.MoveNext;
} 
Response.Write("
" + oRs(i) + "
"); oRs.close(); oConn.close(); %>
Digite o conteúdo abaixo e salve em C:\Inetpub\wwwroot\firebird.pl.asp:
<% @LANGUAGE = PerlScript %>
<%
use OLE;
$objConn = CreateObject OLE "ADODB.Connection";
$objConn->Open("Driver=Firebird/InterBase(r) driver;Data Source=examples");
$objRS = $objConn->Execute("SELECT * FROM PHONE_LIST;");
$Response->Write("\n");
while (!$objRS->EOF) {
 $Response->Write("\n");
 for ($i = 0; $i <= $objRS->Fields->Count - 1; $i++) {
  $Response->Write("\n");
 }
 $Response->Write("\n");
 $objRS->MoveNext;
}
$objConn->Close;
$objRS->Close;
$Response->Write("
" . $objRS->Fields($i)->value . "
"); %>
Os códigos acima instanciam o ADO, criam uma conexão com o ODBC, executam o comando e preenchem o resultado na tela. São utilizados um objeto Connection e um RecordSet para isso.
Abra seu navegador web e nele abra três guias. Na 1ª digite: http://localhost/firebird.vbs.asp; na 2ª http://localhost/firebird.js.asp e na 3ª http://localhost/firebird.pl.asp. Você verá o resultado sendo preenchido nas respectivas páginas.
Caso queira confirmar, utilize o FlameRobin para acessar a View e comparar o resultado. Apesar de ser um exemplo simples, ele ilustra o problema.