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.