

Kod: Tümünü seç
Function TAyarunit.CompressFile(FileName,CompressedFileName:String): Byte;
Var
InFile,OutFile:TFileStream;
Comp:TCompressionStream;
Begin
Try
InFile:=TFileStream.Create(FileName,fmOpenRead);
Except
Result:=01;
Exit;
End;
Try
OutFile:=TFileStream.Create(CompressedFileName,
fmCreate);
Except
Result:=02;
InFile.Free;
Exit;
End;
Try
Comp:=TCompressionStream.Create(clMax,OutFile);
Except
Result:=03;
InFile.Free;
OutFile.Free;
Exit;
End;
Result:=00;
Try
Comp.CopyFrom(InFile,0);
Except
Result:=04;
End;
Comp.Free;
InFile.Free;
OutFile.Free;
End;
Function TAyarunit.DecompressFile(FileName,DeCompressedFileName:String):Byte;
Var
InFile,OutFile:TFileStream;
DeComp:TDeCompressionStream;
Buffer:Array[0..4095] Of Byte;
Count:Integer;
Begin
Try
InFile:=TFileStream.Create(FileName,fmOpenRead);
Except
Result:=01;
Exit;
End;
Try
OutFile:=TFileStream.Create(DeCompressedFileName,
fmCreate);
Except
Result:=02;
InFile.Free;
Exit;
End;
Try
DeComp:=TDeCompressionStream.Create(InFile);
Except
Result:=03;
InFile.Free;
OutFile.Free;
Exit;
End;
Result:=00;
Repeat
Try
Count:= DeComp.Read(Buffer,SizeOf(Buffer));
If Count<>
0 Then OutFile.WriteBuffer(Buffer,
Count);
Except
Result:=04;
Count:=0;
End;
Until Count=0;
DeComp.Free;
InFile.Free;
OutFile.Free;
End;