Olá pessoal, este é meu primeiro artigo sobre delphi for php. Primeiramente vou falar como descobri esta ferramenta e por que resolvi utilizá-la.

Estava começando a entrar na área de desenvolvimento para website, utilizando asp .net durante um curso, quando um amigo comentou sobre a nova ferramenta da CodeGear. Comecei a pesquisar e fiquei muito interessado pois achei muito parecido com o delphi win32. Procurei uma versão Delphi for PHP trial e baixei para ver se era mesmo interessante, já que sou desenvolvedor delphi há muito tempo. Não sei como explicar, mas achei uma maravilha à facilidade da utilização da interface com a VCL php. Mas vamos deixar de papo e começar e ver como funciona esta ferramenta.

 

Abaixo veremos algumas perguntas mais freqüente sobre a utilização do templates no delphi for PHP?

 

1º - Por que o componente não aparece no template?

2º - Erro ao conectar a base de dados com template?

3º - Como associar o formulário ao template?

4º - Como utilizar o UseAjax com template?

5º - Por que o componente ‘TPanel’ não fica na posição correta?

         6º - Posição dos componentes no formulário?

 

Vamos abordar cada uma destas perguntas no decorre do artigo.

Como nosso artigo só esta abordando delphi for php X templates, não vou comentar sobre a instalação.  Vou parti do principio que o delphi for php já está instalado na máquina.

Então vamos começar!

Abra o delphi for php, vá em File->New e selecione ‘Application(Nova aplicação)’. Em seguida salve o projeto (Ctrl+S). Cuidado, pois o nome do arquivo .pas não pode conter o mesmo do projeto.

Ex: uMenu.pas, projeto Menu.phprj.

Obs: Em algumas vezes acontece de você criar uma nova aplicação ou até mesmo um novo formulário e o próprio não aparecer. Não se assustem, é só salvar tudo, fechar o formulário e abra de novo.

 

1º - Por que o componente não aparece no template?

Configurar template para ser utilizado pelo formulário.

Próximo passo será configurar o template, vamos ver como: Abra o html e antes da tag coloque o seguinte, {$HeaderCode}. Logo em seguida antes da tag adicione, {$StartForm}. E após para terminar, antes da tag adicione, {$EndForm}. Muita atenção ao realizar esta configuração pois é CaseInsensitive (diferi maiúsculo de minúsculo), e tem que está digitado da mesma forma do exemplo acima. Se mesmo assim o componente não estiver aparecendo no template é possível que você tenha digitado seu nome errado ou não ter posto o $ antes do nome, ex: {$edit1}. O nome dado ao componente no formulário tem que ser o mesmo no HTML, não esquecendo do $! Pronto, após isso já podemos ir ao formulário.

2º - Erro ao conectar a base de dados com templates?

Ainda baseando-se no exemplo acima, vamos ver que só é possível conectar a uma base de dados utilizando template, configurando o HTML de acordo com explicação acima.

 

3º - Como associar o formulário ao template?

É muito simples associar formulário / template. 

Podemos observar na propriedade do formulário que existem duas opções para se configurada.

          TemplateEngine  Nesta opção selecione SmartyTemplate de acordo com a imagem acima.

          TemplateFilename – Nesta você vai selecionar o arquivo .html que será associado

Ao formulário.

Obs: Estas propriedades são referentes ao formulário.

 

4º - Como utilizar o UseAjax com template?

Primeiro vamos ver o que é ájax.

É o uso sistemático de tecnologias providas por navegadores, como Javascript e XML, para tornar páginas mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. AJAX não é somente um novo modelo, é também uma iniciativa na construção de aplicações web mais dinâmicas e criativas. AJAX não é uma tecnologia, são realmente várias tecnologias conhecidas trabalhando juntas, cada uma fazendo sua parte, oferecendo novas funcionalidades”.

Agora veremos como utiliza-la de uma forma bem simples.

1º vamos configurar o formalário para utilizar o Ajax. Vá na propriedade do formalário UseAjax e coloque-a para true. Pronto, com isso já é possível a utilização no código, que é o proximo passo.

Observe abaixo o evento onClick  da aba javaScript de um botão. No evento abaixo será colocado código.

Nota: Repare no ajaCall(‘btnFiltrarClick’) nele eu passo o evento de um clique de botão aonde estará meu código. Claro que da mesma forma poderia ser um função. Então desta forma não será dado o refresh na página.

 

            function btnFiltrarJSClick($sender, $params)

               {

                          echo $this->btnFiltrar->ajaxCall("btnFiltrarClick")

               ?>

                 //Aqui será colocado as criticas da rotina.             

              

               }

 

5º - Por que o componente ‘TPanel’ não fica na posição correta?

Posse dizer que quando comecei a utilizar template com delphi for php tive certa dificuldade na utilização deste componente. Mas depois de muita procura e não encontrar nada sobre, fui no nosso bom e velho help. Descobri que existe uma propriedade no componente chamada: Layout.Type que vem como default ABS_XY_LAYOUT. É muito simples, coloque para XY_LAYOUT e pronto, seu panel vai aparecer aonde você o colocou. Com isso você pode montar um cadastro inteiro dentro do panel e só seta-lo no template. Simples assim!

 

6º - Posição dos componentes no formulário?

Já me perguntarão se é preciso se preocupa com a posição dos componentes no formalário, pois a dúvida é como sairiam no template. É muito simples, não se preocupe com o formulário e sim com o template. Nele, que você irá posicionar os componentes!

 

Conclusão

Esta ferramenta é muito boa quando usada adquadamente.

Espero ter ajudado com este pequeno artigo. Tem ainda muito mais sobre esta ferramenta que tem revolucionado o desenvolvimento web. No próximo artigo vou falar sobre como utilizar a query de uma forma bem fácil. Até a próxima e um abraço.