|
@@ -0,0 +1,44 @@
|
|
|
|
+Uses classes,sysutils;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+const dsmerged=0;
|
|
|
|
+ dsopenerror=1;
|
|
|
|
+ dscreateerror=2;
|
|
|
|
+ dsconverterror=3;
|
|
|
|
+ dsmismatcherror=4;
|
|
|
|
+ dscrcerror=5;
|
|
|
|
+ dserror=6;
|
|
|
|
+
|
|
|
|
+type tvsmergediffs=class
|
|
|
|
+ procedure execute;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ tvsdiffitem= class
|
|
|
|
+ status : longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+EMismatchedDiffError =class(exception);
|
|
|
|
+EDiffCrcCompareError= class(exception);
|
|
|
|
+
|
|
|
|
+procedure TvsMergeDiffs.Execute;
|
|
|
|
+var
|
|
|
|
+ Stream: tFileStream;
|
|
|
|
+ Item: TvsDiffItem;
|
|
|
|
+ a : longint;
|
|
|
|
+begin
|
|
|
|
+ try
|
|
|
|
+ Item.Status := dsMerged;
|
|
|
|
+ except
|
|
|
|
+ { Only the number of on xx do statements seems to matter, not
|
|
|
|
+ which ones, try commenting 3 or 4 out}
|
|
|
|
+ on EFOpenError do Item.Status := dsOpenError;
|
|
|
|
+ on EFCreateError do Item.Status := dsCreateError;
|
|
|
|
+ on EConvertError do Item.Status := dsConvertError;
|
|
|
|
+ on EMismatchedDiffError do Item.Status := dsMismatchError;
|
|
|
|
+ on EDiffCrcCompareError do Item.Status := dsCrcError;
|
|
|
|
+ on Exception do Item.Status := dsError;
|
|
|
|
+ end;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+end.
|