57 votes

Comment faire en sorte que Beyond Compare ignore certaines différences lors de la comparaison des versions des fichiers de formulaire Delphi

J'utilise Beyond Compare (version 3.1.10) pour comparer différentes versions de fichiers de formulaire Delphi, mais je ne veux pas voir de différences concernant ExplicitTop, ExplicitLeft, ExplicitHeight et ExplicitWidth.

Détails: Ces lignes commenceront toujours par un certain nombre de caractères d'espacement, puis "ExplicitXXX = " et un nombre. Les anciennes versions de Delphi n'avaient pas ces lignes, donc je veux ignorer les différences lorsque ces lignes sont ajoutées à la version la plus récente, et je veux également ignorer les différences lorsque le nombre a changé.

Est-ce que quelqu'un sait comment faire cela ?

Édition: Doublon (plus ou moins) de:

Comment configurer BeyondCompare pour ignorer le texte remplacé par SCM dans les commentaires ?

86voto

Craig Peterson Points 8484
  1. Charger une paire de fichiers DFM montrant la différence.
  2. Cliquez sur le bouton Paramètres de session (alias Règles avec icône d'arbitre) ou utilisez l'élément de menu Session->Paramètres de session.
  3. Passez à l'onglet Importance puis cliquez sur le bouton Modifier la grammaire... pour ouvrir une deuxième boîte de dialogue.
  4. Cliquez sur le bouton Nouveau... en dessous de la liste principale pour ouvrir une troisième boîte de dialogue.
  5. Changez l'option Nom de l'élément en quelque chose comme Explicite*, changez la Correspondance de texte en Explicite(Gauche|Haut|Largeur|Hauteur) = \d+ et cochez les cases à cocher Correspondance de cas et Expression régulière, puis cliquez sur Ok, puis cliquez sur Ok à nouveau dans la deuxième boîte de dialogue.
  6. Explicite* devrait maintenant apparaître dans la liste des Éléments de grammaire de la boîte de dialogue d'origine. Décochez-le, puis changez la combobox en bas de la boîte de dialogue de Utiliser pour cette vue uniquement à Mettre à jour les paramètres par défaut de la session.

9voto

jasonpenny Points 2245

Je n'utilise pas Beyond Compare, mais si vous voulez avoir des versions plus récentes de Delphi sans ajouter les propriétés Explicit* (à mon avis inutiles), vous pouvez utiliser DDevExtensions d'Andreas Hausladen

3voto

Neville Points 233

Dans mon cas (C#), je voulais ignorer toute la ligne qui contient des espaces de noms (et donc, des utilisations) que j'ai modifiées. (Guide de référence - Ignorer toute une ligne si un texte est présent dans la ligne)

à savoir.

l'espace de noms INSERT.NAMESPACE.HERE 
      changé en 
l'espace de noms INSERT.NAMESPACE.HERE.NEW

Pour ce faire

Dans l'étape 5 de la solution de Craig, changez le Correspondance de texte en

" .\*INSERT.NAMESPACE.HERE.\* "

(inclure les guillemets)

C'est tout.

2voto

AnneTheAgile Points 2105

La réponse de Craig Peterson est correcte. N.B. Cependant! L'onglet 'importance' n'est pas toujours visible depuis Session/Paramètres de session. Toujours, depuis une vue en liste de dossier, il ne sera pas là. Il semble qu'il y ait certains types de fichiers qui ne l'ont pas non plus, bien que je ne sois pas sûr de cela. BC a tellement d'options et de plugins que je parie qu'il y a une solution de contournement, mais pour moi ça va jusqu'à présent. http://www.scootersoftware.com/vbulletin/showthread.php?t=8457

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X