DSDfmParser
1.0.0
Analise e salve os arquivos DFM Delphi modificando os objetos e suas propriedades.
Basta incluir o arquivo DS.DfmParser.pas do src -Directory.
uses DS.DfmParser; var
DfmFile: TDfmFile;
PanelObject: TDfmObject;
PanelCaption: String;
DfmText: String;
begin
DfmFile := TDfmFile.Create;
// Load file
DfmFile.LoadFromFile( ' MyDfmFile.dfm ' );
// Get object (visual element)
DfmObject := DfmFile.GetObject( ' Panel1 ' );
Writeln(DfmObject. Name ); // Panel1
Writeln(DfmObject.ClassName_); // TPanel
// Get properties
PanelCaption := PanelObject.GetProperty( ' Caption ' );
Writeln(PanelCaption); // 'Panel1'
// Set property
PanelObject.SetProperty( ' Caption ' , ' '' MyPanel '' ' )
// Delete property
PanelObject.DeleteProperty( ' Caption ' );
// Save file
DfmFile.Save( ' MyModifiedDfmFile.dfm ' );
// or get the context as string
DfmText := DfmFile.GetDfm;
Writeln(DfmText); // object Form1: TForm1...
DfmFile.Free;
end ; O analisador analisa apenas o DFM, mas não é o conteúdo. As cordas, por exemplo, são formatadas, como como alguém o escreveria em Delphi ( 'Caption1' ).
Os valores também podem ser multilinas. A Delphi geralmente recupera as linhas de valor, mas não deve fazer diferença se não forem. Depois de salvar o formulário em Delphi, ele deve corrigir automaticamente a indenção.
Um projeto de exemplo pode ser encontrado no example -Directory.