DSDfmParser
1.0.0
Analysieren und speichern Sie die DFM -Dateien, indem Sie die Objekte und ihre Eigenschaften ändern.
Fügen Sie einfach die Datei DS.DfmParser.pas aus dem SRC -Verzeichnis ein.
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 ; Der Parser analysiert nur das DFM, aber nicht ist es zufrieden. Saiten zum Beispiel werden so formatiert, wie man es in Delphi schreiben würde ( 'Caption1' ).
Werte können auch multiline sein. Delphi nimmt im Allgemeinen die Wertlinien ein, sollte aber keinen Unterschied machen, wenn dies nicht der Fall ist. Nach dem Speichern des Formulars in Delphi sollte es automatisch die Indivion beheben.
Ein Beispielprojekt finden Sie im example -Verzeichnis.