O meu problema é o seguinte, tenho um ERP, com mais de 80 DataModulo. Não
tenho idéia de quantas QUERY tem o projeto.

 

A idéia seria mudar no DFM  e o PAS em (designer) ,  alterando na unha é
normal, funciona, já realizei um teste em uma tela e funcionou.

 

Até onde eu estou vendo três soluções.

1 – FindReplace PAS e DMF.

2 – Remover todos os Fields da query do tipo numérico e adicionar novamente
e

3 –Fazer um componente que altere essa classe (Um robô onde adiciono no
DataModulo e o mesmo altera).

 

código:

----------------------------------------------------------------------------
-----------------------------------

 

unit AlteraField;

 

interface

 

uses

  SysUtils, Classes;

 

type

  TAlteraField = class(TComponent)

  private

    { Private declarations }

    falterar : boolean;

    procedure ProcAlterarField(value : boolean);

  protected

    { Protected declarations }

  public

    { Public declarations }

  published

    { Published declarations }

    property AlterarField : boolean read falterar write ProcAlterarField;

  end;

 

procedure Register;

 

implementation

 

uses DB;

 

procedure Register;

begin

  RegisterComponents('Standard', [TAlteraField]);

end;

 

{ TAlteraField }

 

procedure TAlteraField.ProcAlterarField(value: boolean);

var i_conta : integer;

    vComp   : TComponent;

begin

  if value then

  begin

    for i_conta := 0 to Owner.ComponentCount -1  do

    begin

      vComp := Owner.Components[i_conta];

      if ( vComp is TFloatField ) then

      begin

         if ( TFloatField(vcomp).Size > 3 ) then

         begin

           //alterar algum propriedade ...

           //caso altere alguma propriedade aqui, automaticamente altera o
DFM.

           //se conseguir alterar a classe altera de maneira automatica o
PAS e DFM.

           TFloatField(vcomp).Tag := 100;

         end;

      end;

    end;

  end;

  falterar := false;

end;

 

end.

 

----------------------------------------------------------------------------
-----------------------------------

 

 

 

 

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Rocha
Enviada em: segunda-feira, 27 de julho de 2009 13:27
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] É possível alterar a classe de um objeto já criado
?
Prioridade: Alta

 

  

Até onde me consta, isto vai contra o que se propõe a programação orientada
a objetos. Imagine a seguinte hierarquia de classe:

Animal -> Mamífero -> Carnívoro -> Canídeo -> Cão
Animal -> Mamífero -> Carnívoro -> Humanídeo -> Homem

Como pode criar um objeto de uma classe e depois, do nada, querer que ele
seja de uma outra classe? Tomando o exemplo acima, como um homem, do nada,
pode se tornar um cão? Isso é ilógico!

Sds.

De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>
[mailto:delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>
] Em
nome de Jeferson Menegon
Enviada em: segunda-feira, 27 de julho de 2009 11:33
Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> 
Assunto: [delphi-br] É possível alterar a classe de um objeto já criado ?

Boa tarde!
Gostaria de saber se é possível alterar a classe de um
objeto já criado? 
Porque estamos fazendo uma analise de impacto para migrar do
Delphi 6 para o Delphi 2007. A necessidade seria para os campos que a
decimal é
maior que TRES (3). Hoje o tipo de dados
é TFloatField teríamos que trocar para
TFMTBcdField.
Desde já agradeço.

__________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]

Responder a