Você está na página 1de 6

http://www.imasters.com.

br/artigo/5990/php/delphi_for_php/ Delphi For PHP Marcelo Nunes Simoni (e-mail) formado em cincia da computao UNIS MG, psgraduado em Redes de Computadores UNIS MG, analista de sistemas, professor e desenvolvedor WEB. Bom pessoal, esse o meu primeiro artigo no iMasters e falarei sobre o Delphi For PHP. Essa nova plataforma de desenvolvimento promete revolucionar o desenvolvimento web, integrando o PHP ao Delphi, com um ambiente grfico totalmente visual e ainda com um depurador, conexes inteligentes com MySQL e interbase. Ele utiliza uma biblioteca de classes do PHP5 integrada, chamada de VCL. Os componentes VCL aparecem na barra de objetos e incluem botes, labels, check boxes, imagens, DHTML, menus, componentes de acesso da dados, objetos Flash e muito mais. Para baixar a verso trial, basta visitar o site http://www.codegear.com e selecionar o programa. Voc deve preencher uma ficha de cadastro para depois fazer o download. Aps isso dever selecionar um outro link para que seja enviado para seu e-mail um arquivo para a liberao do produto por 14 dias. Agora, vamos colocar a mo na massa... Este um pequeno exemplo com uma conexo ao banco de dados, na qual ir mostrar uma tabela especfica atravs de uma consulta criada pelo objeto query. Depois de instalado o sistema, ele ir apresentar a tela abaixo:

Eu que no sou programador de Delphi e sim de PHP (mas programador sempre programador) no tive muitos problemas com sua utilizao. claro que essa no a verso final e podem apresentar alguns bugs, mas podemos claramente ter idia do que nos espera. Seu ambiente muito semelhante ao Delphi: esquerda superior uma biblioteca criada de acordo com os objetos que so utilizados no formulrio; esquerda abaixo as propriedades do objetos, eventos de cada objeto criado;

direita superior os formulrios criados durante o desenvolvimento do projeto direito inferior os objetos a serem utilizados. De incio, vamos criar uma conexo com um banco de dados MySQL. Para isso, selecione File->New->Application

Se voc escolher Other, ainda poder optar por trabalhar com outras linguagens, estilos e projetos

Em sua barra de ferramentas (Tool Palette), vamos escolher o item Data Access, clicar duas vezes sobre os itens Database, DataSource e Query ou clicar e arrastar para o formulrio.

Aproveitando, vamos criar um BDGrid que se encontra logo abaixo em Data Controls, onde este ser mostrado o resultado da query. Seu form ir ficar assim:

Pode-se alinhar os objetos, redimencionar de acordo com a preferncia de cada um. Ao clicar em algum item do formulrio, a sua barra de propriedades do objeto (Object Inspector) ir mudar de acordo com objeto selecionado. Inicialmente vamos ao Database: DatabaseName: voc ir escolher qual o nome do banco de dados ir conectar| DriverName: que tipo de driver voc ir utilizar para a conexo| Host: onde ir conectar| UserName: [c]nome do usurio do banco de dados[/c]| UserPassword: [c]senha do usurio do banco de dados [/c]

Em Query voc deve informar por qual conexo voc ir conectar e o SQL que deseja realizar. Nesse caso mandei listar todos os usurios da tabela user, padro do banco de dados. As outras opes dependem de como voc vai realizar a consulta, seja em ordem crescente, descrescente, com filtros, parmetros, quantos registros (Limit Count).

Em Datasource, na propriedade DataSet, voc ir localizar a query na qual ir fazer a consulta:

Para que seu DBGrid possa exibir o contedo da tabela, dever ser informado por qual o DataSource ele dever conectar.

Pronto, quase l. Feito isso, clique duas vezes sobre o formulrio e vamos ao cdigo: O formulrio ir criar toda a estrutura de biblioteca que ser usada em seu projeto. Para esse nosso pequeno exemplo, basta incluir apenas duas linhas no cdigo, dentro da funo que se refere ao formulrio, function Unit1Create. Dever ficar assim: <?php //Includes Bibliotecas usadas no projeto require_once("vcl/vcl.inc.php"); use_unit("dbgrids.inc.php"); use_unit("db.inc.php"); use_unit("dbtables.inc.php"); use_unit("forms.inc.php"); use_unit("extctrls.inc.php");

use_unit("stdctrls.inc.php"); //Class definition class Unit1 extends Page { # Informa que os objetos criados sero de propriedade pblica public $DBGrid1 = null; public $Query1 = null; public $Datasource1 = null; public $Database1 = null; # Funo que se refere ao formulrio function Unit1Create($sender, $params) { # Ao iniciar a pgina, ser aberta a conexo e executada a query que foi criada $this->Database1->Open(); $this->Query1->Open(); } } global $application; global $Unit1; //Creates the form $Unit1=new Unit1($application); //Read from resource file $Unit1->loadResource(__FILE__); //Shows the form $Unit1->show(); ?> Como no Delphi, ao comear a digitar, o sistema comear informando o que deseja fazer, qual objeto, propriedade, funo ir utilizar. O delimitador entre eles, que em muitas linguagens o ponto final (.), no Delphi for PHP, hfen maior (->). Em qualquer instante basta pressionar a tecla Ctrl e barra de espaos que ele ir lhe mostrar as opes. Ao rodar o seu script (F9), ser solicitado um lugar, geralmente em C:\Documents and Settings\<usuario>\Meus documentos\Delphi for PHP Projects\Exemplo1 Como resultado, em seu navegador ser exibida a tabela:

Nessa tabela possvel fazer alteraes e salv-las instantaneamente, mudar a posio das colunas, modo de ordenao e escolher quais colunas deseja exibir (para isso, basta clicar no canto superior direito e marcar ou desmarcar as colunas). Espero ter contribudo.