oft
House Labs
Product | PasDiff 1.0 |
Author | Copyright (c) 1999, Soft House Labs, Andre N Belokon Web: http://softlab.od.ua Email: support@softlab.od.ua |
Status | Freeware |
THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. |
PasDiff is the syntax oriented diff tools. It compare two delphi source file and report all changes. Skip comments. Insensitive to change comments, cases and reformat sources (add/remove spaces or/and empty lines).
Sample compare of two source file:
File1 - old version | File 2 - new version |
unit Unit1; interface type ShortName = string[20]; TEmployee = class private FFirstName: ShortName; FLastName: ShortName; FParentList: TList; procedure SetFirstName(const Value: ShortName); procedure SetLastName(const Value: ShortName); published property FirstName: ShortName read FFirstName write SetFirstName; property LastName: ShortName read FLastName write SetLastName; property ParentList: TList read FParentList; end; var RootEmployee: TEmployee; implementation { TEmployee } procedure TEmployee.SetFirstName( const Value: ShortName); begin FFirstName := Value; end; procedure TEmployee.SetLastName( const Value: ShortName); begin FLastName := Value; end; end. |
unit Unit1; interface type ShortName = string[32]; TEmployee = class(TPersistent) private FLock: integer; FFirstName: ShortName; FLastName: ShortName; FParentList: TList; FLastWork: string; procedure SetFirstName(const Value: ShortName); procedure SetLastName(const Value: ShortName); procedure SetLastWork(const Value: string); function GetLock: Boolean; public constructor Create; override; destructor Destroy; override; procedure Lock; procedure Unlock; property Locked: Boolean read GetLock; published property FirstName: ShortName read FFirstName write SetFirstName; property LastName: ShortName read FLastName write SetLastName; property LastWork: string read FLastWork write SetLastWork; property ParentList: TList read FParentList; end; var RootEmployee: TEmployee = nil; implementation const UnknownWork = 'N/A'; { TEmployee } constructor TEmployee.Create; begin FLock:=0; FFirstName:=''; FLastName:=''; FParentList:=TList.Create; FLastWork:=UnknownWork; end; destructor TEmployee.Destroy; begin FParentList.Free; end; function TEmployee.GetLock: Boolean; begin Result:=FLock > 0; end; procedure TEmployee.Lock; begin Inc(FLock); end; procedure TEmployee.SetFirstName( const Value: ShortName); begin FFirstName := Value; end; procedure TEmployee.SetLastName( const Value: ShortName); begin FLastName := Value; end; procedure TEmployee.SetLastWork( const Value: string); begin FLastWork := Value; end; procedure TEmployee.Unlock; begin Dec(FLock); end; initialization finalization if RootEmployee <> nil then RootEmployee.Free; end. |
Result of comparisons:
Legend: | +
added - removed F field M method P property |
PasDiff ver. 1.0 Copyright (c) Soft House Labs, Andre N Belokon, Feb 1999 Web: http://softlab.od.ua Email: support@softlab.od.ua >>> Type * ShortName - string[20] + string[32] >>> Class/Interface * TEmployee *I () -> (TPersistent) +F FLastWork: string; +F FLock: integer; +M constructor Create; override +M destructor Destroy; override +M function GetLock: Boolean +M procedure Lock +M procedure SetLastWork(const Value: string) +M procedure Unlock +P property LastWork: string read FLastWork write SetLastWork; +P property Locked: Boolean read GetLock; >>> Variable * RootEmployee - change init value >>> Constant + UnknownWork: >>> Other * finalization change
More complex sample. Here you can see compare result for source files in Source\Vcl between Delphi4v5.33 and Delphi4v5.37+UpdatePack1,2,3.