Função varrer componentes

31/07/2009

Olá,

Estou prescisando desenvolver uma função para percorrer todos os componentes dentro de um form ou de um panel, saber qual o componente, extrair seu valor e nome.

Estou com dificuldade em fazer isso no D4php, o laço e estrutura;

Cristiano,

Cristiano Barreto

Cristiano Barreto

Curtidas 0

Respostas

Rodrigo Mourão

Rodrigo Mourão

31/07/2009

Olá Cristiano, bem os container no PHP tem um propriedade components que e um array e podemos percorrer. Agora so me esclarece uma dúvida, qual seria a intenção.

Outro detalhe, vc é programador win32 ??? Pois suas duvidas em PHP são classicas de problemas que enfrantamos quando queremos fazer na Web aquilo que fazemos em Win32.


Em muitos casos e a maneiras com que desenvolvemos que nos traz o problema, lambre-se a web é stateless e muitos dos eventos e "firulas" que fazemos em win32 so é possivel com javascript, como pro exemplo um simples OnExit.

Enfim qual seria a intenção de querer percorrer os componentes, talvez a gente possa achar uma outra saida, mas se ainda assim quiser percorrer os componentes eu post um codigo aqui pra vc.

abs!
GOSTEI 0
Cristiano Barreto

Cristiano Barreto

31/07/2009

Sim, sou programador Wim 32, uso Delphi a alguns anos e estou migrando agora para Web. rsrsrsrs

Já, estudei todas as duas videos aulas disponibilizadas na Devmedia, o que me foi de grande ajunda.

Bem, o que eu quero fazer é o seguinte;

Como estou utilizando o componente query, sem linkar os dataset, nos componetes visuais (edit, combobox, etc..),
porque as aplicações ficaram mais estaveis, quando linkava, tinha hora que funcionava e oras dava uns erros, sem sentido , que solucionava qdo resetatava o Broweser,
Então quero crias meu construtor de sql dinamico(Já fizisso em Win32), onde o nome do componente sempre vai corresponder ao do campo tabela, e conseguir destinguir  que componente é, para tratar o value; acho que não sera necessario ser em java script,  pois será no postback mesmo do botão insert ou update;


Cristiano,

GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

31/07/2009

Hum .....  Perfeito viu como e bom vc falar a ideia. Bem eu tambem trabalho assim mas OO, pq na web trabalhar orientado a objetos e muito mais simples.

Pesquise depois sobre Mapeamento Objeto Relacional em PHP, Veja sobre DAO no PHP, voce vai achar algumas classes muito boas para poder persistir objetos.


Agora segue o código:

         for($i=0;$i<=$this->ComponentCount-1;$i++)
         {
           if (is_a($this->Components->items[$i],"Edit")){
             echo "Nome: ".$this->Components->items[$i]->Name." Valor:".$this->Components->items[$i]->Text."<br>";
           }

         }

Ai eu estou varando e pagando so edits, veja a linha vermelha, so mostro na tela se form edit. Ai a regra vale igual o Dephi Win32.

Abs !!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi



GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

31/07/2009

Olá amigo,

A dica ajudou, podemos encerrar o chamdo?

Abs.

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi


GOSTEI 0
POSTAR