Ver los contenidos de la arj, lzh y archivos zip


Una unidad que muestra el contenido de archivos comprimidos

Colaborador: STEVE WIERENGA

{
Autor: Steve Wierenga
ARJ Visor
}
{Hola a Todos:
yo soy la liberación de estas Unidades para el dominio público. Son Unidades para ver Arj,
Lzh, y Archivos Zip. Ellos no son profesionales, y probablemente tienen algunas
errores. Si el uso de estas en sus Programas y siento como me da crédito, I
ganó & #39 t Objeto... Aquí va: }

la Unidad de ArjV

(**) Interfaz (**)

Usos
Dos,Crt

Tipo
AFHeader = Record { ArjFileHeader }
HeadID,
HdrSize : La palabra
tamaño de la cabeza,
VerNum,
MinVerNum,
HostOS,
ArjFlag,
Método
FType,
Reservados : Byte
FileTime,
PackSize,
OrigSize,
FileCRC : LongInt
FilePosF,
FileAcc,
HostData : La palabra
fin

Var
ff : Integer
b : Byte
f : Archivo
sl : LongInt
NR : Word
FHdr : ^AFHeader
s,sss : String
Método : String[8]
l : String[80]
Z,
totalu,
totalc : LongInt
x,d : LongInt
Dt1,dt2: DateTime
i,e : Integer
registrado : Boolean

Procedimiento ArjView(ArjFile : String)
la Función de GAN(ArjFile : String): String

(**) Ejecución (**)

el Procedimiento de Terminar
begin
Escribir( & #39 ARCHPEEK no pudo encontrar el Archivo especificado.
Abortar... & #39 )
Halt
fin

Procedimiento ArjView(ArjFile : String)
begin
Nuevo(FHdr)
Assign(f, arjFile)
{$I-}
Reset(F, 1) { Abrir el Archivo }
{$I }
Si IOResult <> 0 then
Terminar { Archivo Especificado existe?}
registrado := False { no registrados }
si no se ha registrado, a continuación,
begin
Writeln( & #39 ArchPeek 0.01 Alfa [no registrados] los derechos de Autor De 1993 Steve Wierenga & #39 )
Delay(200)
fin
SL := 0 z := 0 TotalU := 0 TotalC := 0 { Inicialización de Variables }
sss := GAN(ArjFile) { Obtener la Arj nombre de archivo }
Writeln( & #39 Arj nombre de archivo: & #39 ,SSS)
Escribir( & #39 Longitud de Nombre de Tamaño de la Guarda Método de la Fecha y Hora & #39 )
WriteLn( & #39 & & & & & & & & & & & & & & & & & & & & & & & & & & _#39 )
ff := 0
Repetir
ff := ff 1
Seek(F,SL)
BlockRead(F,FHdr^,SizeOf(AFHeader),NR) { Leer el encabezado }
Si (NR = SizeOf(AFHeader)) Entonces
begin
s := & #39 & #39
Repetir
BlockRead(F,B,1) { Get Char Comprimido de nombre de archivo }
Si B <> 0 then
s := s Chr(b) { Poner Char String }
Hasta que B = 0 { Hasta que no hay más Caracteres }
Longitud Caso(S) De { Enderezar String }
0 : s := s & #39 & #39
1 : S := s & #39 & #39
2 : s := s & #39 & #39
3 : S := S & #39 & #39
4 : S := S & #39 & #39
5 : S := S & #39 & #39
6 : S := S & #39 & #39
7 : S := S & #39 & #39
8 : S := S & #39 & #39
9 : S := S & #39 & #39
10 : S := S & #39 & #39
11 : S := S & #39 & #39
12 : S := S
fin
z := z 1
UnPackTime(FHdr^.FileTime,dt2) { Obtener el tiempo de Archivo comprimido }
Caso FHdr^.Método De { Get método de compresión }
0 : Método := & #39 Almacenan & #39
1 : Método := & #39 la Mayoría & #39
2 : Método := & #39 2º Más & #39
3 : Método := & #39 2º Rápido & #39
4 : Método := & #39 más Rápido & #39
fin
Escribir( & #39 & #39 ,S,FHdr^.OrigSize:9,FHdr^.PackSize:10)
{ Escribir Filesizes }
Si ff > 1 y
{ No & #39 t get primera Arj Archivo Arj Archivo }
Escribir( (100-FHdr^.PackSize/FHdr^.OrigSize*100):9:0, & #39 % & #39 ,Método:15)
{ Escribir razones, el método }
Else
Escribir( Método:25)
Caso de dt2.mes de { Mostrar la fecha de Archivo comprimido }
1..9 : Escribir( & #39 0 & #39 :4,dt2.mes)
10..12 : Escribir( dt2.mes:4)
fin
Escribir( & #39 / & #39 )
en Caso de dt2.día de la
1..9 : Escribir( & #39 0 & #39 ,dt2.día)
10..31 : Escribir( dt2.día)
fin
Escribir( & #39 / & #39 )
en Caso de dt2.año de
1980 : Escribir( & #39 80 & #39 )
1981 : Escribir( & #39 81 & #39 )
1982 : Escribir( & #39 82 & #39 )
1983 : Escribir( & #39 83 & #39 )
1984 : Escribir( & #39 84 & #39 )
1985 : Escribir( & #39 85 & #39 )
1986 : Escribir( & #39 86 & #39 )
1987 : Escribir( & #39 87 & #39 )
1988 : Escribir( & #39 88 & #39 )
1989 : Escribir( & #39 89 & #39 )
1990 : Escribir( & #39 90 & #39 )
1991 : Escribir( & #39 91 & #39 )
1992 : Escribir( & #39 92 & #39 )
1993 : Escribir( & #39 93 & #39 )
1994 : Escribir( & #39 94 & #39 )
1995 : Escribir( & #39 95 & #39 )
1996 : Escribir( & #39 96 & #39 )
fin
Caso de dt2.hora de { Mostrar el tiempo de Archivo comprimido }
0..9 : Escribir( & #39 0 & #39 :2,dt2.hora, & #39 : & #39 )
10..23 : Escribir( dt2.hora:3, & #39 : & #39 )
fin
Caso de dt2.min
0..9 : Escribir( & #39 0 & #39 ,dt2.min, & #39 : & #39 )
10..59 : Escribir( dt2.min, & #39 : & #39 )
fin
Caso de dt2.seg
0..9 : Writeln( & #39 0 & #39 ,dt2.sec)
10..59 : Writeln( dt2.sec)
fin
TotalU := TotalU FHdr^.OrigSize { Aumento total tamaño sin comprimir }
TotalC := TotalC FHdr^.PackSize { Aumento total tamaño comprimido }
Repetir
BlockRead(F,B,1)
Hasta que b = 0
BlockRead(F,FHdr^.FileCRC,4) { Ir más allá de Archivo CRC }
BlockRead(f,NR,2)
Sl := FilePos(F) FHdr^.PackSize {¿Dónde estamos en el Archivo? }
fin

Hasta que (FHdr^.HdrSize = 0) { No más Archivos? }
GetFTime(F,x)
UnPackTime(x,dt1)
WriteLn( & #39 ============================================================================ & #39 )
Escribir( (z-1):4, & #39 Archivos & #39 ,TotalU:12,TotalC:10,(100-TotalC/TotalU*100):9:0, & #39 % & #39 )
en Caso de dt1.mes de { Obtener la fecha y la hora de Arj Archivo }
1..9 : Escribir( & #39 0 & #39 :19,dt1.mes)
10..12 : Escribir( dt1.mes:20)
fin
Escribir( & #39 / & #39 )
en Caso de dt1.día de la
1..9 : Escribir( & #39 0 & #39 ,dt1.día)
10..31 : Escribir( dt1.día)
fin
Escribir( & #39 / & #39 )
en Caso de dt1.año de
1980 : Escribir( & #39 80 & #39 )
1981 : Escribir( & #39 81 & #39 )
1982 : Escribir( & #39 82 & #39 )
1983 : Escribir( & #39 83 & #39 )
1984 : Escribir( & #39 84 & #39 )
1985 : Escribir( & #39 85 & #39 )
1986 : Escribir( & #39 86 & #39 )
1987 : Escribir( & #39 87 & #39 )
1988 : Escribir( & #39 88 & #39 )
1989 : Escribir( & #39 89 & #39 )
1990 : Escribir( & #39 90 & #39 )
1991 : Escribir( & #39 91 & #39 )
1992 : Escribir( & #39 92 & #39 )
1993 : Escribir( & #39 93 & #39 )
1994 : Escribir( & #39 94 & #39 )
1995 : Escribir( & #39 95 & #39 )
1996 : Escribir( & #39 96 & #39 )
fin
Caso de dt1.hora de
0..9 : Escribir( & #39 0 & #39 :2,dt1.hora, & #39 : & #39 )
10..23 : Escribir( dt1.hora:3, & #39 : & #39 )
fin
Caso de dt1.min
0..9 : Escribir( & #39 0 & #39 ,dt1.min, & #39 : & #39 )
10..59 : Escribir( dt1.min, & #39 : & #39 )
fin
Caso de dt1.seg
0..9 : Writeln( & #39 0 & #39 ,dt1.sec)
10..59 : Writeln( dt1.sec)
fin
Close(f)
Dispose(FHdr) { Hecho }
fin

la Función de GAN(ARJFile:String): String
Var
Dir : DirStr
Nombre : NameStr
Exts : ExtStr
begin
FSplit(ARJFile,Dir,Nombre,Exts)
GAN := Nombre de Exts
fin

.









Ver los contenidos de la arj, lzh y archivos zip


Ver los contenidos de la arj, lzh y archivos zip : Multi-millones de consejos para hacer su vida mas facil.


Una unidad que muestra el contenido de archivos comprimidos

Colaborador: STEVE WIERENGA

{
Autor: Steve Wierenga
ARJ Visor
}
{Hola a Todos:
yo soy la liberacion de estas Unidades para el dominio publico. Son Unidades para ver Arj,
Lzh, y Archivos Zip. Ellos no son profesionales, y probablemente tienen algunas
errores. Si el uso de estas en sus Programas y siento como me da credito, I
gano & #39 t Objeto... Aqui va: }

la Unidad de ArjV

(**) Interfaz (**)

Usos
Dos,Crt

Tipo
AFHeader = Record { ArjFileHeader }
HeadID,
HdrSize : La palabra
tamaño de la cabeza,
VerNum,
MinVerNum,
HostOS,
ArjFlag,
Metodo
FType,
Reservados : Byte
FileTime,
PackSize,
OrigSize,
FileCRC : LongInt
FilePosF,
FileAcc,
HostData : La palabra
fin

Var
ff : Integer
b : Byte
f : Archivo
sl : LongInt
NR : Word
FHdr : ^AFHeader
s,sss : String
Metodo : String[8]
l : String[80]
Z,
totalu,
totalc : LongInt
x,d : LongInt
Dt1,dt2: DateTime
i,e : Integer
registrado : Boolean

Procedimiento ArjView(ArjFile : String)
la Funcion de GAN(ArjFile : String): String

(**) Ejecucion (**)

el Procedimiento de Terminar
begin
Escribir( & #39 ARCHPEEK no pudo encontrar el Archivo especificado.
Abortar... & #39 )
Halt
fin

Procedimiento ArjView(ArjFile : String)
begin
Nuevo(FHdr)
Assign(f, arjFile)
{$I-}
Reset(F, 1) { Abrir el Archivo }
{$I }
Si IOResult <> 0 then
Terminar { Archivo Especificado existe?}
registrado := False { no registrados }
si no se ha registrado, a continuacion,
begin
Writeln( & #39 ArchPeek 0.01 Alfa [no registrados] los derechos de Autor De 1993 Steve Wierenga & #39 )
Delay(200)
fin
SL := 0 z := 0 TotalU := 0 TotalC := 0 { Inicializacion de Variables }
sss := GAN(ArjFile) { Obtener la Arj nombre de archivo }
Writeln( & #39 Arj nombre de archivo: & #39 ,SSS)
Escribir( & #39 Longitud de Nombre de Tamaño de la Guarda Metodo de la Fecha y Hora & #39 )
WriteLn( & #39 & & & & & & & & & & & & & & & & & & & & & & & & & & _#39 )
ff := 0
Repetir
ff := ff 1
Seek(F,SL)
BlockRead(F,FHdr^,SizeOf(AFHeader),NR) { Leer el encabezado }
Si (NR = SizeOf(AFHeader)) Entonces
begin
s := & #39 & #39
Repetir
BlockRead(F,B,1) { Get Char Comprimido de nombre de archivo }
Si B <> 0 then
s := s Chr(b) { Poner Char String }
Hasta que B = 0 { Hasta que no hay mas Caracteres }
Longitud Caso(S) De { Enderezar String }
0 : s := s & #39 & #39
1 : S := s & #39 & #39
2 : s := s & #39 & #39
3 : S := S & #39 & #39
4 : S := S & #39 & #39
5 : S := S & #39 & #39
6 : S := S & #39 & #39
7 : S := S & #39 & #39
8 : S := S & #39 & #39
9 : S := S & #39 & #39
10 : S := S & #39 & #39
11 : S := S & #39 & #39
12 : S := S
fin
z := z 1
UnPackTime(FHdr^.FileTime,dt2) { Obtener el tiempo de Archivo comprimido }
Caso FHdr^.Metodo De { Get metodo de compresion }
0 : Metodo := & #39 Almacenan & #39
1 : Metodo := & #39 la Mayoria & #39
2 : Metodo := & #39 2º Mas & #39
3 : Metodo := & #39 2º Rapido & #39
4 : Metodo := & #39 mas Rapido & #39
fin
Escribir( & #39 & #39 ,S,FHdr^.OrigSize:9,FHdr^.PackSize:10)
{ Escribir Filesizes }
Si ff > 1 y
{ No & #39 t get primera Arj Archivo Arj Archivo }
Escribir( (100-FHdr^.PackSize/FHdr^.OrigSize*100):9:0, & #39 % & #39 ,Metodo:15)
{ Escribir razones, el metodo }
Else
Escribir( Metodo:25)
Caso de dt2.mes de { Mostrar la fecha de Archivo comprimido }
1..9 : Escribir( & #39 0 & #39 :4,dt2.mes)
10..12 : Escribir( dt2.mes:4)
fin
Escribir( & #39 / & #39 )
en Caso de dt2.dia de la
1..9 : Escribir( & #39 0 & #39 ,dt2.dia)
10..31 : Escribir( dt2.dia)
fin
Escribir( & #39 / & #39 )
en Caso de dt2.año de
1980 : Escribir( & #39 80 & #39 )
1981 : Escribir( & #39 81 & #39 )
1982 : Escribir( & #39 82 & #39 )
1983 : Escribir( & #39 83 & #39 )
1984 : Escribir( & #39 84 & #39 )
1985 : Escribir( & #39 85 & #39 )
1986 : Escribir( & #39 86 & #39 )
1987 : Escribir( & #39 87 & #39 )
1988 : Escribir( & #39 88 & #39 )
1989 : Escribir( & #39 89 & #39 )
1990 : Escribir( & #39 90 & #39 )
1991 : Escribir( & #39 91 & #39 )
1992 : Escribir( & #39 92 & #39 )
1993 : Escribir( & #39 93 & #39 )
1994 : Escribir( & #39 94 & #39 )
1995 : Escribir( & #39 95 & #39 )
1996 : Escribir( & #39 96 & #39 )
fin
Caso de dt2.hora de { Mostrar el tiempo de Archivo comprimido }
0..9 : Escribir( & #39 0 & #39 :2,dt2.hora, & #39 : & #39 )
10..23 : Escribir( dt2.hora:3, & #39 : & #39 )
fin
Caso de dt2.min
0..9 : Escribir( & #39 0 & #39 ,dt2.min, & #39 : & #39 )
10..59 : Escribir( dt2.min, & #39 : & #39 )
fin
Caso de dt2.seg
0..9 : Writeln( & #39 0 & #39 ,dt2.sec)
10..59 : Writeln( dt2.sec)
fin
TotalU := TotalU FHdr^.OrigSize { Aumento total tamaño sin comprimir }
TotalC := TotalC FHdr^.PackSize { Aumento total tamaño comprimido }
Repetir
BlockRead(F,B,1)
Hasta que b = 0
BlockRead(F,FHdr^.FileCRC,4) { Ir mas alla de Archivo CRC }
BlockRead(f,NR,2)
Sl := FilePos(F) FHdr^.PackSize {¿Donde estamos en el Archivo? }
fin

Hasta que (FHdr^.HdrSize = 0) { No mas Archivos? }
GetFTime(F,x)
UnPackTime(x,dt1)
WriteLn( & #39 ============================================================================ & #39 )
Escribir( (z-1):4, & #39 Archivos & #39 ,TotalU:12,TotalC:10,(100-TotalC/TotalU*100):9:0, & #39 % & #39 )
en Caso de dt1.mes de { Obtener la fecha y la hora de Arj Archivo }
1..9 : Escribir( & #39 0 & #39 :19,dt1.mes)
10..12 : Escribir( dt1.mes:20)
fin
Escribir( & #39 / & #39 )
en Caso de dt1.dia de la
1..9 : Escribir( & #39 0 & #39 ,dt1.dia)
10..31 : Escribir( dt1.dia)
fin
Escribir( & #39 / & #39 )
en Caso de dt1.año de
1980 : Escribir( & #39 80 & #39 )
1981 : Escribir( & #39 81 & #39 )
1982 : Escribir( & #39 82 & #39 )
1983 : Escribir( & #39 83 & #39 )
1984 : Escribir( & #39 84 & #39 )
1985 : Escribir( & #39 85 & #39 )
1986 : Escribir( & #39 86 & #39 )
1987 : Escribir( & #39 87 & #39 )
1988 : Escribir( & #39 88 & #39 )
1989 : Escribir( & #39 89 & #39 )
1990 : Escribir( & #39 90 & #39 )
1991 : Escribir( & #39 91 & #39 )
1992 : Escribir( & #39 92 & #39 )
1993 : Escribir( & #39 93 & #39 )
1994 : Escribir( & #39 94 & #39 )
1995 : Escribir( & #39 95 & #39 )
1996 : Escribir( & #39 96 & #39 )
fin
Caso de dt1.hora de
0..9 : Escribir( & #39 0 & #39 :2,dt1.hora, & #39 : & #39 )
10..23 : Escribir( dt1.hora:3, & #39 : & #39 )
fin
Caso de dt1.min
0..9 : Escribir( & #39 0 & #39 ,dt1.min, & #39 : & #39 )
10..59 : Escribir( dt1.min, & #39 : & #39 )
fin
Caso de dt1.seg
0..9 : Writeln( & #39 0 & #39 ,dt1.sec)
10..59 : Writeln( dt1.sec)
fin
Close(f)
Dispose(FHdr) { Hecho }
fin

la Funcion de GAN(ARJFile:String): String
Var
Dir : DirStr
Nombre : NameStr
Exts : ExtStr
begin
FSplit(ARJFile,Dir,Nombre,Exts)
GAN := Nombre de Exts
fin

.


Ver los contenidos de la arj, lzh y archivos zip

Ver los contenidos de la arj, lzh y archivos zip : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación