Search code examples
delphiversion-controlbeyondcomparebeyondcompare3

How do I make Beyond Compare ignore certain differences while comparing versions of Delphi Form Files


I use Beyond Compare (version 3.1.10) to compare different versions of Delphi Form Files, but I don't want to see differences concerning ExplicitTop, ExplicitLeft, ExplicitHeight and ExplicitWidth.

Details: These lines will always begin with a number of whitespace characters, then "ExplicitXXX = " and a number. Older versions of Delphi didn't have these lines, so I want to ignore differences where these lines are added to the newest version, and I also want to ignore differences where the number has changed.

Does anyone know how to do this?

Edit: Duplicate (more or less) of:

How do I configure BeyondCompare to ignore SCM replaced text in comments?


Solution

    1. Load a pair of DFM files showing the difference.
    2. Click the Session Settings button (aka Rules w/ umpire icon) or use the Session->Session Settings menu item.
    3. Switch to the Importance tab then click the Edit Grammar... button to open a second dialog.
    4. Click the New... button below the top listbox to open a third dialog.
    5. Change the Element Name option to something like Explicit*, change the Text Matching to Explicit(Left|Top|Width|Height) = \d+ and check the Match character case and Regular expression checkboxes, then click Ok, then click Ok again in the second dialog.
    6. Explicit* should now appear in the original dialog's Grammar Elements list. Uncheck it, then change the combobox at the bottom of the dialog from Use for this view only to Update session defaults.