Subversion Repositories checksum-tools

Compare Revisions

Regard whitespace Rev 2 → Rev 6

/trunk/Windows/SFV.pas
3,8 → 3,19
interface
 
uses
Classes;
Classes, Common;
 
type
TCheckSumFileSFV = class(TCheckSumFile)
protected
sfvFile: string;
public
constructor Create(AFileName: string); override;
procedure ToStringList(slOut: TStringList); override;
function SingleFileChecksum(AFileName: string): string; override;
function MergeLine(AFileName, ACheckSum: string): string; override;
end;
 
function CalcFileCRC32(filename: string): string; overload;
procedure SFVFileToStringList(aSFVFile: string; slOut: TStringList);
 
11,7 → 22,7
implementation
 
uses
Windows, SysUtils, CRC32, Common, LongFilenameOperations;
Windows, SysUtils, CRC32, LongFilenameOperations;
 
function CalcFileCRC32(filename: string): string; overload;
var
80,4 → 91,30
end;
end;
 
{ TCheckSumFileSFV }
 
constructor TCheckSumFileSFV.Create(AFileName: string);
begin
inherited;
sfvFile := AFileName;
if not SameText(ExtractFileExt(AFileName),'.sfv') then
raise Exception.Create('Invalid checksum file extension.');
end;
 
function TCheckSumFileSFV.MergeLine(AFileName, ACheckSum: string): string;
begin
result := AFileName + ' ' + ACheckSum;
end;
 
function TCheckSumFileSFV.SingleFileChecksum(AFileName: string): string;
begin
result := CalcFileCRC32(AFileName);
end;
 
procedure TCheckSumFileSFV.ToStringList(slOut: TStringList);
begin
inherited;
SFVFileToStringList(sfvFile, slOut);
end;
 
end.