Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Архивы и Архиваторы    >>    arctype
   
 
 Определение типа архива   Dmitry Moskovich 20.03.1993

Функция определения типа архива по наличию в файле специфических сигнатур.



1k 
 

Organization: NetDialogue (Gid:gate.dialnet.msk.su) Чтобы выяснить тип архивированного файла я в своих программах делаю так: Var Buffer : Longint; F : file; Begin BlockRead(f,Bufer,4); If Bufer=$4034b50 then CurCompress:=Zip else If (Lo(Bufer)=$60) and (Hi(Bufer)=$EA) then CurCompress:=Arj else If (Bufer=$2554531A) or (Bufer=$2550481A) then CurCompress:=Hyp else If Lo(Bufer)=$1A then CurCompress:=Arc else If Bufer=$204F4F5A then CurCompress:=Zoo else begin Seek(f,0); BlockRead(f,LzhIceDop,1); Seek(f,2); Blockread(f,Signature,2); If Signature=$6C2D then CurCompress:=Lzh else CurCompress:=None end; Может можно и пpоще, но так надежней -- во всяком случае еще ни pазу он ничего не пеpепутал. Вот. Dilys Newman --- Maximus 2.01wb * Origin: Night Star BBS (2:5030/31)