Fórum Listar nome de todos os formularios do projeto #371017

05/06/2009

0

Como posso obter a lista de todos os formulários do meu projeto, sendo que a maioria não estão no Auto-Create.


Delmar

Delmar

Responder

Posts

05/06/2009

Woinch

Você quer fazer isso em tempo de execução dentro do próprio projeto para saber quais formulários estão criados na memória ou seria um projeto terceiro que leia por exemplo um arquivo .dpr e diz todos os formulários que contém nesse .dpr? Não entendi muito bem...


Responder

Gostei + 0

05/06/2009

Danielrsanches

se for para listar os forms em tempo de execução, vai uma dica:

procedure TForm1.Button1Click(Sender: TObject);
var
I: word;
begin
        for I:=0 to application.ComponentCount-1 do
        begin
                if application.Components[I].ClassParent = TForm then
                        showmessage((application.Components[I] as TForm).ClassName);
        end;
end;



Responder

Gostei + 0

08/06/2009

Delmar

Preciso de uma ferramenta ou solução que pegue o nome(name) de todos os forms (incluindo forms que estão e não estão no auto-create)?


Responder

Gostei + 0

08/06/2009

Danielrsanches

até onde eu sei, isso é impossível, pois, se o form não foi criado ele não existe ...


Responder

Gostei + 0

08/06/2009

Woinch

Mantenho a minha dúvida anterior...


Responder

Gostei + 0

08/06/2009

Delmar

Olá Woinch

Pode ser o projeto ler seu próprio projeto (project >> view source) ou pode ser um terceiro projeto, ou uma ferramente de terceiro ou componente, não importa como, desde que chegamos ao resultado esperado.

Eu mesmo já pensei em ler o arquivo e ir extraindo linha por linha, pois o que preciso está aí dentro.

program xxxxxx;

uses
  Forms,
  fprincipal in ´fprincipal.pas´ ,
  fendereco in ´fendereco.pas´ ,
  fcidade in ´fcidade.pas´ ,
  fatividade in ´fatividade.pas´ ,
  fbairro in ´fbairro.pas´ ,
  fsaque in ´fsaque.pas´ ,
  fmovimento in ´fmovimento.pas´ ,
  fhistorico in ´fhistorico.pas´ ;


E antes que eu seja perguntado, o objetivo é ober a lista para realizar uma formatação padrão em todo projeto, usando Delphi For Ex.

De forma automatizada, poderíamos obter a lista atualizada, sempre que julgase necessário aplicar a padranização de nomes em todo código do programa, que tem em média 400 unidades/Units.

Mas como é possível que já exista uma solução pronta, resolvi perguntar.


Responder

Gostei + 0

09/06/2009

Weber

Você quer apenas o que estiver dentro do Projects?
Se for isto e se puder ser um aplicativo separado basta carregar o project.dpr para uma StringList e depois fazer um ´for´


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar