TIdComproessorZLib 구성 요소는 Delphi/C++ Builder Indy 라이브러리에서 압축 및 압축 해제에 사용됩니다. CompressStream 방법은 다음과 같이 정의되어있다Indy의 TIdCompressorZLib.CompressStream 메서드에 대한 매개 변수는 어디에 문서화되어 있습니까?
public: virtual __fastcall CompressStream(TStream AInStream, TStream AOutStream, const TIdCompressionLevel ALevel, const int AWindowBits, const int AMemLevel, const int AStrategy);
도움말 파일에서 이러한 매개 변수의 완전한 설명은 다음과 같습니다
CompressStream 공개 오버라이드 (override) 절차입니다. 조상 클래스에서 선언 된 가상 메서드를 추상화하는 을 구현합니다.
AInStream은 압축 작업에서 에 사용 된 압축되지 않은 내용을 포함하는 스트림입니다.
AOutStream은 압축 작업 에서 압축 된 내용을 저장하는 데 사용되는 스트림입니다. AOutStream은 작업에서 압축 된 내용을 출력하기 전에 지워집니다. AOutStream이 인 경우 AInStream의 스트림이 지워지고 압축 작업에서 출력 으로 재사용됩니다.
ALevel을 사용하여 작업의 원하는 압축 수준을 나타냅니다.
AWLowsowsBits 및 AMemLevel을 사용하여 ZLib 라이브러리를 사용하여 메모리 내 압축을 수행하는 데 필요한 메모리 풋 프린트 을 제어합니다.
압축 작업 에서 사용되는 RLE 인코딩 전략을 제어하려면 AStrategy를 사용하십시오.
ALevel의 값은 TIdCompressionLevel에 대한 도움말 페이지에 정의,하지만 난 값을 그냥 정수 AWindowBits, AMemLevel, 또는 AStrategy에 사용되어야 하는지를의 표시를 찾을 수 없습니다.
나는 소스 코드에서 보았지만로 도움말 파일에 나열되어 IndyCompressStream에 CompressStream 단지 대표 :
이IndyCompressStream(TStream InStream, TStream OutStream, const int level = Z_DEFAULT_COMPRESSION, const int WinBits = MAX_WBITS, const int MemLevel = MAX_MEM_LEVEL, const int Stratagy = Z_DEFAULT_STRATEGY);
IndyCompressStream의 도움도 매개 변수의 최소한의 설명을 나열하지 않습니다 CompressStream 않습니다.
나는 IndyCompressStream에 언급 된 (내가 생각하는) 그 기본 상수, 소스 \ Indy10을 \ 프로토콜 \ IdZLibHeaders.pas을 살고있는 파일을 추적, 그들은 Z_DEFAULT_COMPRESSION
에 주어진 값이, 그러나
Z_DEFAULT_STRATEGY = 0;
Z_DEFAULT_COMPRESSION = -1;
MAX_WBITS = 15; { 32K LZ77 window }
MAX_MEM_LEVEL = 9;
입니다
TIdCompressionLevel
이 구성 요소에 대해 AWindowBits, AMemLevel 및 AStrategy가 의미하는 바에 대한 문서가 있으며 그 값은 어떤 값이 적당합니까? 위에 나열된 값이 실제로 권장되는 기본값입니까? 또한 소스 파일에는 "indy", "Indy10"및 "indyimpl"디렉토리가 포함됩니다. 현재 Indy 구성 요소의 소스를 찾기 위해 이들 중 어느 것을 사용해야합니까?
감사합니다.
이제는 질문하는 방법입니다. 잘 했어. –
무엇을하고 싶습니까? –
인디에는 문서가 있습니까? –