Repository navigation
Passo a Passo
A ferramenta MudaDFM tem a finalidade de ajudar os desenvolvedores durante o processo de migração dos componentes para o novo padrão proposto pelo Projeto UX/UI que passa a utilizar a biblioteca de componentes da DevExpress como referência.
A mesma pode ser utilizada em diversas situações:
- Quando um form que ainda não foi convertido precisa ser commitado no repositório da DEVELOP;
- Quando ocorrerem conflitos durante o processo de merge por apresentar algum componente que foi inserido a partir de uma alteração do repositório da MASTER;
- Forms que vieram de projetos que ainda não estão utilizando a biblioteca convertida nos padrões UX/UI;
- Erro na compilação ou execução dos programas/módulos oriundos de mensagens relacionadas a propriedades não existentes ou encontradas;
- Conversão de componente para o padrão UX/UI que alterou a biblioteca de componentes.
Não. No momento a ferramenta trata os seguintes componentes de forma automática:
TEdit, TDBEdit, TPageControl, TIncCombo, TLabel, TTabSheet, TSpinDateEdit, TRadioGroup, TComboBox, TPanel, TDBComboBox, TDateTimePicker, TCheckBox, TDBRadioGroup, TwwDBComboBox, TwwDBLookupCombo, TwwDBSpinEdit, TMgcxDBSpinEdit, TmgDateTimePicker, TMgDBNumEditTDBEdit, TmgPageControl, TMgDBDateEdit, TmgExtPageControl, TcxDateEdit, TcxDBSpinEdit.
E permite a execução dos seguintes scripts:
Remove Margin dos botões Doc.Original, Cancela, OK, Incluir e Excluir do FormPadraoMovAcao (.dfm);
Remove ExplicitHeight do componente Pn_Bt_OK_Canc_Aux do FormPadraoMovAcao (.dfm);
Remove Height do componente Pn_Bt_OK_Canc_Aux do FormPadraoMovAcao (.dfm);
Remove ExplicitWidth dos botões Doc.Original, Cancela, OK, Incluir e Excluir do FormPadraoMovAcao (.dfm);
Remove Width dos botões Doc.Original, Cancela, OK, Incluir e Excluir do FormPadraoMovAcao (.dfm);
Remove NumGlyphs dos botões Doc.Original, Cancela, OK, Incluir e Excluir do FormPadraoMovAcao (.dfm);
Remove Glyph.Data dos botões Doc.Original, Cancela, OK, Incluir e Excluir do FormPadraoMovAcao (.dfm);
Remove Left dos componentes procurar do FormPadraoMovAcao (.dfm);
Remover componente Ed_Qtdd dos forms herdados (.dfm);
Remove ExplicitLeft dos componentes procurar do FormPadraoMovAcao (.dfm);
Remove Top dos componentes procurar do FormPadraoMovAcao (.dfm);
Remove ExplicitTop dos componentes procurar do FormPadraoMovAcao (.dfm);
Remove Caption do componente Pn_Bt_OK_Canc_Aux do FormPadraoMovAcao (.dfm);
Remove Caption dos botões Doc.Original, Cancela, OK, Incluir e Excluir do FormPadraoMovAcao (.dfm);
Acerto do ParentFont;
Remove SpeedButtonOptions.Flat do TMgSpeedButton;
Remove SpeedButtonOptions.Transparent do TMgSpeedButton;
Trata componentes com fundo na cor clInactiveColorText.
MudaDFM.exe - Executável da ferramenta
ClassesAlteradas.xml - Arquivo com scripts
RepositoryList.ini - Arquivo com a lista de pastas (Este arquivos passou a ser opcional)
Após localizar a ferramenta, dê um duplo clique no arquivo MudaDFM.exe. Isso irá carregar o programa e apresentar a seguinte tela:
Esta opção é utilizada principalmente nos forms para realizar a troca das classes dos componentes que foram mudados pelo projeto UX/UI.
É recomendável sempre utilizá-la em casos de conflitos de merge devido o form ter sido criado antes do projeto UX/UI, ser oriundo do repositório MASTER ou estar em projeto que não tem as atualizações da DEVELOP.
Nesta tela temos as seguintes opções:
Utilizado para selecionar a(s) pasta(s) onde a ferramenta fara a pesquisa nos arquivos .PAS e .DFM. É possível inserir várias pastas e a pesquisa é recursiva, ou seja, além da pasta selecionada, as pastas existentes dentro da mesma também serão pesquisadas.
Utilizado para remover uma pasta da lista de pesquisa.
Para executar esta operação, selecione uma das pastas da lista e clique no botão "Remover Repositório"
É possível salvar a lista de pastas clicando com o botão da direita sobre a mesma. Esta ação irá mostrar a opção "Salvar lista de repositório" que cria o arquivo "RepositoryList.ini"
Utilizado para selecionar qual classe deseja que a aplicação pesquise e realize as modificações do projeto UX/UI.
É possível selecionar várias classes e aplicar as alterações em vários fontes.
Utilizado para mostrar os arquivos onde a pesquisa localizou a classe selecionada.
Utilizado para aplicar as conversões da classe selecionada sobre a(s) pasta(s) escolhida(s). O processo ocorrera sempre em todos os forms que são apresentam na lista, e não de forma individual. É possível acompanhar o arquivo que está sendo tratado na parte inferior da tela.
É importante lembrar que é necessário remover dessa lista os arquivos dos SERVERS, pois, nestes não devem ser aplicadas as alterações do projeto UX/UI no momento.
Para realizar esta operação, clique sobre o arquivo na lista e pressione a tecla DEL.
É possível selecionar vários arquivos mantendo a tecla **CTRL **pressionada enquanto clica sobre o item da lista desejado.
É possível copiar a lista de arquivos para a memória clicando com o botão direito do mouse sobre a mesma e clicando na opção "Copiar Lista para Área de Transferência"
Um clique duplo sobre o arquivo da lista faz a ferramenta carregar o conteúdo deste arquivo para o painel abaixo da lista de arquivos
Nesta opção são apresentados os scripts utilizados para alterações em propriedades de componentes:
Passos
- Selecione o script que deseja executar clicando na caixa de seleção do painel Scripts;
- Clique no botão "+" para incluir a(s) pasta(s) onde deseja aplicar o(s) script(s);
- O botão "-" é utilizado para remover a pasta selecionada da lista.
- Marque a opção "Recursivo?" para que a ferramenta verifique a(s) pasta(s) da Lista de Diretórios e todas as suas sub-pastas;
- Marque a opção ".pas" para que o script seja aplicado nos arquivos com a extensão .pas;
- Marque a opção ".dfm" para que o script seja aplicado nos arquivos com a extensão .dfm;
- É possível utilizar scripts que afetam ambos os tipos de arquivos: .pas e .dfm.
- Clique no botão "Aplicar alterações nos diretórios selecionados" para iniciar a execução do(s) script(s)
Utilize esta opção após realizar algum merge que envolva arquivo do tipo DFM que apresentou conflito.
A ferramenta irá verificar se os objetos declarados no DFM possuem Início (object/inherited) e Fim (end) e se não existem duplicidade entre eles que podem causar erro na compilação:
Passos
-
No campo "Arquivo dfm:" digite o nome completo do arquivo que deseja verificar ou utilize o botão "..." para abrir a janela de seleção de arquivo.
-
Clique no botão "Checa integridade" e aguarde o resultado da análise:
- Quando encontra problemas no DFM é apresentado a linha e o problema identificado (Falta do "End" ou "Objeto duplicado")
- Quando o DFM não apresenta problemas
Sim.
Como visto no começo da documentação, a ferramenta encontra-se num repositório de fontes público, possibilitando que outros desenvolvedores baixem seus fontes e possam contribuir com a mesma, melhorando processos já existentes, adicionando novas funcionalidades ou sugerindo novas ideias.
A ferramenta **MudaDFM **utiliza expressões regulares para realizar as alterações nos fontes de forma ágil.
Caso deseje testar expressões regulares, uma sugestão é o site Regular Expression 101