+5 votos
103 visitas

Tem como converter um .DFM com caracteres especiais (binário) para texto?

No Delphi 7, temos alguns formulários cujo o arquivo DFM contém diversos caracteres especiais (binário) diferentemente do modo padrão que é apenas texto.

Este modo binário dificulta bastante a comparação e merges de fontes DFM.

Tem como converter esse DFM binário para texto novamente?

Trecho do DFM binário:

ParentFont    TLabel¬lbl2 Left ð Top   Width Y Height  Caption  Qtde Documentos:  TBPanel
pnlSuperior Left   Top   Width    Height   Align alTop
BevelOuter bvNone TabOrder   SkinData.CustomFont	 SkinData.SkinSection  MENUITEM Gradient  
TBennerBtnbtnSair Left   Top   Width   Height   Hint )   Sair|Sair do Formulário - Tecla <Alt+F4>Options

 

por (623 pontos)
editado por | 103 visitas

1 Resposta

+3 votos
Melhor resposta

Encontrei o artigo abaixo no StackOverflow que mostra uma solução:

http://stackoverflow.com/questions/842879/does-delphi-sometimes-revert-text-form-files-dfm-to-binary-format

Testado e Aprovado !

Resumo:

- Abrir Projeto (Tive que abrir o projeto pois estava apresentando algumas mensagens de dependências de outros formulários)

- Abrir Formulário

- Clicar com o Direito sobre o Formulário (sobre qualquer componente visual mesmo)

- Selecionar “Text DFM”

- Salvar (CTRL+S)

Mesmo Trecho do DFM, porém no modo texto:


    ParentFont = False
  end
  object lbl2: TLabel
    Left = 3
    Top = 3
    Width = 89
    Height = 13
    Caption = 'Qtde Documentos:'
  end
  object pnlSuperior: TBPanel
    Left = 0
    Top = 0
    Width = 1044
    Height = 25
    Align = alTop
    BevelOuter = bvNone
    TabOrder = 0
    SkinData.CustomFont = True
    SkinData.SkinSection = 'MENUITEM'
    Gradient = False
    object btnSair: TBennerBtn
      Left = 0
      Top = 0
      Width = 25
      Height = 25
      Hint = 'Sair|Sair do Formul'#225'rio - Tecla <Alt+F4>'
      Options 

 

por (623 pontos)
selecionada por

Perguntas relacionadas

+10 votos
1 resposta
0 votos
1 resposta
+8 votos
1 resposta
0 votos
1 resposta
Melhores May 2020
  1. henrique.muller

    18 Pontos

  2. joao.melo

    14 Pontos

  3. joseglauber

    11 Pontos

  4. SlimShady

    7 Pontos

  5. willian.metalsystem

    6 Pontos

  6. lucas.melo

    3 Pontos

  7. fluipress.luciano

    2 Pontos

  8. pajucara.wallacef

    2 Pontos

  9. jean.filho

    2 Pontos

  10. maicon.pereira

    2 Pontos

200 pontos
Melhores 2020 May 25 - 31
    433 perguntas
    476 respostas
    346 comentários
    466 usuários