헤더를 기준으로 파일 유형 확인
1372 단어 delphi
function ExtractFileHead(Stream: TStream): string; overload;
var
tmpPos: Longint;
dwHead0, dwHead1: Word;
begin
Result := '';
if Assigned(Stream) then
try
tmpPos := Stream.Position;
if Stream.Size > 2 then
try
Stream.Position := 0;
Stream.ReadBuffer(dwHead0, 2);
Stream.ReadBuffer(dwHead1, 2);
case dwHead0 of
$5C7B: Result := '.rtf';
$4D42: Result := '.bmp';
$D8FF: Result := '.jpg';
$5089: Result := '.png';
$4952: Result := '.avi';
$4B50: Result := '.zip';
$6152: Result := '.rar';
$7A37: Result := '.7z';
$5A4D: Result := '.exe';
$0000:
case dwHead1 of
$BA01, $B301: Result := '.mpeg'
end;
end;
except
exit;
end;
finally
if Assigned(Stream) then
Stream.Position := tmpPos;
end;
end;
function ExtractFileHead(FileName: string): string; overload;
var
Stream: TFileStream;
begin
Result := '';
if FileExists(FileName) then
try
try
Stream := TFileStream.Create(FileName, fmOpenRead);
Result := ExtractFileHead(Stream);
except
Exit;
end;
finally
if Assigned(Stream) then
FreeAndNil(Stream)
end;
end;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Delphi 10.3.3 IDE 글꼴 및 글꼴 크기 수정Delphi는 Windows 플랫폼에서 유명한 빠른 응용 프로그램 개발 도구(Rapid Application Development, 약칭 RAD)입니다.그것의 전신은 바로 DOS 시대에 성행한'Borland Turb...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.