home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Programming
/
powerprogramming1994.iso
/
progtool
/
filutl
/
ldiff12s.arc
/
LDVARI.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1989-07-15
|
6KB
|
185 lines
(*---------------------------------------------------------------------------*)
(*LDVari.pas ò╧Éöü@ (C) ÄOû╪ÿaòF NIFTY SDR SDI00147 1989/7/1 *)
(*$B-,F-,I-,N- *)
(*---------------------------------------------------------------------------*)
UNIT LDVari;
INTERFACE
USES
Dos,
MyType;
TYPE BFILE = RECORD
Handle : WORD;
Name : ARRAY[0..79] OF CHAR;
OpenFlg : BOOLEAN;
Path : DirStr;
END;
(*****************************************************************************)
LHdr = RECORD
LNum : BYTE; { 1 0}
LCSum : BYTE; { 1 1}
LHdrID : ARRAY[1..2] OF CHAR; { 2 2}
LHdrSID : ARRAY[1..3] OF CHAR; { 3 4}
LSize : LONGINT; { 4 7}
LFSize : LONGINT; { 4 11}
LTime : LONGINT; { 4 15}
LCrc : WORD; { 2 2}
LFName : STRING; {256 21}
END;
L2Hdr = RECORD
LOldCrc : WORD; { 2 0}
LOldFSize : LONGINT; { 4 2}
LCTYPE : CHAR; { 1 6}
LEI : BYTE; { 1 7}
LEJ : BYTE; { 1 8}
LOldName : STRING; {256 9}
END;
L3Hdr = RECORD
LOSType : CHAR; { 1 0}
LAttr : WORD; { 2 1}
END;
(*****************************************************************************)
TYPE LzdRec = RECORD
NewName : Str12;
NewAttr : WORD;
NewTime : LONGINT;
NewFSize : LONGINT;
NewSize : LONGINT;
NewHSize : BYTE;
NewCrc : WORD;
OldCrc : WORD;
OldFSize : LONGINT;
OldName : Str12;
EI : BYTE;
EJ : BYTE;
CTYPE : CHAR;
END;
VAR LzdFN : LzdRec;
(*****************************************************************************)
CONST
RemarkTopMsg = 0;
RemarkEndMsg = 12;
TitleMsg = 13;
LineMsg = 14;
UsageTopMsg = 15;
UsageEndMsg = 19;
(* Message *)
CopyRightMsg = 20;
OldFileMsg = 21;
OldFileOKMsg = 22;
CreatingMsg = 23;
FromMsg = 24;
WithMsg = 25;
ExtractOKMsg = 26;
OverWriteMsg = 27;
RatioMsg = 28;
(* Err Type 1 *)
LzdFNameErMsg = 29;
CommandErMsg = 30;
CantOpenErMsg = 31;
ReadingErMsg = 32;
WritingErMsg = 33;
DiskFullErMsg = 34;
CantCreateErMsg = 35;
FileOpenMaxErMsg = 36;
StopErMsg = 37;
HeapErMsg = 38;
DosVerErMsg = 39;
CommandLineErMsg = 40;
IsNotLzdErMsg = 41;
NewVerErMsg = 42;
CanNotFoundErMsg = 43;
OldFSizeErMsg = 44;
OldCrcErMsg = 45;
DecodeErMsg = 46;
EncodeErMsg = 47;
FatalErMsg = 48;
UnKnownErMsg = 49;
LzsErMsg = 50;
LzhErMsg = 51;
Wait150Msg = 52;
Wait200Msg = 53;
LzdExt = '.LZD';
TName1 = 'LZSS_WRK.)1(';
CMD : CHAR = NUL;
CMDSET : CSet = ['H','X','C','T'];
LzdFName : PathStr = '';
NewFName : PathStr = '';
OldFName : PathStr = '';
CrcTable : ARRAY[0..$FF] OF WORD = (
$0000,$C0C1,$C181,$0140,$C301,$03C0,$0280,$C241,
$C601,$06C0,$0780,$C741,$0500,$C5C1,$C481,$0440,
$CC01,$0CC0,$0D80,$CD41,$0F00,$CFC1,$CE81,$0E40,
$0A00,$CAC1,$CB81,$0B40,$C901,$09C0,$0880,$C841,
$D801,$18C0,$1980,$D941,$1B00,$DBC1,$DA81,$1A40,
$1E00,$DEC1,$DF81,$1F40,$DD01,$1DC0,$1C80,$DC41,
$1400,$D4C1,$D581,$1540,$D701,$17C0,$1680,$D641,
$D201,$12C0,$1380,$D341,$1100,$D1C1,$D081,$1040,
$F001,$30C0,$3180,$F141,$3300,$F3C1,$F281,$3240,
$3600,$F6C1,$F781,$3740,$F501,$35C0,$3480,$F441,
$3C00,$FCC1,$FD81,$3D40,$FF01,$3FC0,$3E80,$FE41,
$FA01,$3AC0,$3B80,$FB41,$3900,$F9C1,$F881,$3840,
$2800,$E8C1,$E981,$2940,$EB01,$2BC0,$2A80,$EA41,
$EE01,$2EC0,$2F80,$EF41,$2D00,$EDC1,$EC81,$2C40,
$E401,$24C0,$2580,$E541,$2700,$E7C1,$E681,$2640,
$2200,$E2C1,$E381,$2340,$E101,$21C0,$2080,$E041,
$A001,$60C0,$6180,$A141,$6300,$A3C1,$A281,$6240,
$6600,$A6C1,$A781,$6740,$A501,$65C0,$6480,$A441,
$6C00,$ACC1,$AD81,$6D40,$AF01,$6FC0,$6E80,$AE41,
$AA01,$6AC0,$6B80,$AB41,$6900,$A9C1,$A881,$6840,
$7800,$B8C1,$B981,$7940,$BB01,$7BC0,$7A80,$BA41,
$BE01,$7EC0,$7F80,$BF41,$7D00,$BDC1,$BC81,$7C40,
$B401,$74C0,$7580,$B541,$7700,$B7C1,$B681,$7640,
$7200,$B2C1,$B381,$7340,$B101,$71C0,$7080,$B041,
$5000,$90C1,$9181,$5140,$9301,$53C0,$5280,$9241,
$9601,$56C0,$5780,$9741,$5500,$95C1,$9481,$5440,
$9C01,$5CC0,$5D80,$9D41,$5F00,$9FC1,$9E81,$5E40,
$5A00,$9AC1,$9B81,$5B40,$9901,$59C0,$5880,$9841,
$8801,$48C0,$4980,$8941,$4B00,$8BC1,$8A81,$4A40,
$4E00,$8EC1,$8F81,$4F40,$8D01,$4DC0,$4C80,$8C41,
$4400,$84C1,$8581,$4540,$8701,$47C0,$4680,$8641,
$8201,$42C0,$4380,$8341,$4100,$81C1,$8081,$4040);
VAR
CRC : WORD;
MaxLTime : LONGINT;
NewFVar : BFILE;
LzdFVar : BFILE;
OldFVar : BFILE;
WrkFVar : BFILE;
lh1 : LHdr;
lh2 : L2Hdr;
lh3 : L3Hdr;
buf1 : ARRAY[0..2000] OF BYTE ABSOLUTE lh1;
buf2 : ARRAY[0..2000] OF BYTE ABSOLUTE lh2;
buf3 : ARRAY[0..2000] OF BYTE ABSOLUTE lh3;
rbuff : ARRAY[1..$8003] OF BYTE;
wbuff : ARRAY[1..$1000] OF BYTE;
DicSeg : WORD;
TYPE
buftype = ARRAY[1..$8000] OF BYTE;
VAR
DicBuf : ^buftype;
DicBuf2 : ^buftype;
DicBuf3 : ^buftype;
DicBuf4 : ^buftype;
DicBuf5 : ^buftype;
DicBuf6 : ^buftype;
DicBuf7 : ^buftype;
DicBuf8 : ^buftype;
IMPLEMENTATION
END.