UNLZH

From AtariForumWiki
Jump to navigation Jump to search

UNLZH version 1.7 - A program for extracting .LZH archive files.

UNLZH combines an easy to use, GEM based interface with high speed
extraction routines, to give you a much simpler and much faster way to
extract LZH archives.  It is a self contained program - you do not need
to have LHARC or any 'shell'.  It is written in 100% Assembly language,
and extracts approximately four times faster than LHARC.

UNLZH can search past damaged sections of an archive, and should be able
to extract the rest of the files.

UNLZH can also extract multiple archives at once, and place the contents
in individual folders.

How to Use the Program:
-----------------------

UNLZH will start with a menu screen that contains configuration options,
and all the main functions.  In the upper part of the menu are two program
options that should be set up before selecting any of the function buttons
in the lower part.

The first option, Create Folders, can be used if you want the program to
create a folder with the same name as the archive file, and place all the
extracted contents within it.  If you want to extract directly to the
destination path, select 'No' for the Create Folders option.

When the second option, Overwrite Files, is set to 'No', the program will
prompt you if one of the files to be extracted already exists.  (Similar
to the warning the GEM desktop gives you when you try to copy a file that
already exists).  Selecting 'Yes' for this option will bypass the warning
prompt, and overwrite any files that may have already existed.

Program Functions:
------------------

- Extract -

The first, and default function is to Extract all.  This will prompt you
for an input archive file, then a destination path, and then extract all
the files from the archive.  If the Create Folders option is turned on,
a folder will be created at the destination path, and the files will be
extracted into it.  If a folder by that name already exists, the program
will extract into the already existing folder.

To extract multiple archives at once, just enter an '*' for the input
filename.  UNLZH will then extract all of the archives in that directory.
You should have the Create Folders option turned on, so that the archives
will extract into separate folders.

- W/Query -

Extract With Query operates the same as the full Extract, except that
after selecting the input archive file, another menu will come up which
displays all of the files contained in the archive.  You may click on
individual files to select them, or hold the left mouse button down and
drag the pointer over a group of files.  Files selected for extraction are
indicated by having an '*' placed in front of the file name.  Files may
also be deselected in the same way.  When you have selected all the
desired files, click on the Extract button.  The ALL button is a short
cut, in case you decide you want all the files after all, and don't want
to select them all manually.  You can also click on Quit, which will
return you to the initial menu.


If the archive file has been damaged, some of the selections may display as
'- Bad Header -'.  These sections cannot be extracted, however UNLZH will
search the rest of the archive to find as many good files as possible.

- To Screen -

Extract to Screen also displays a menu of the archive contents.  Some files
may already be selected for extraction.  Any file beginning with READ, or
having the extension .TXT, .DOC, or .ASC, will be marked.  Also, if there
is only one file in the archive, it will be marked to extract.  If you wish
to extract the pre-selected files, you can immediately select the Screen or
Printer option at the bottom of the menu.  Otherwise, you may manually
select which file(s) you want to look at in the same manner as described for
Extract with Query.

A maximum of 3 files will be marked, except in cases where the archive
contains all text files, in which case none of the files will be pre-marked.

Screen listings will pause every 24 lines.  (Or more if you are using a
larger screen).  There are many options to control the screen listing:

Left Mouse Button - Continue listing one line at a time
Right Mouse Button - Reverse scroll the listing, one line at a time
Both Buttons - Abort listing

'Return' - Display one line at a time
'Down Arrow' or 'Space Bar' - Display one screen at a time
'Up Arrow' - Back up to the previous screen
'Shift' & 'Down Arrow' - Jump 4 screens forward
'Shift' & 'Up Arrow' - Jump 4 screens backward
'Home' - Return to the top of the file
'S' - Enter Search and Move menu:

      To perform a search, enter a phrase to search for, and select whether
      the program should 'Match', or 'Ignore' differences in upper/lower
      case.  Then click on either 'Search' or 'Next' to begin searching.
      (You may also press the 'Return' key for the Next function).
      'Search' will start at the top of the file, and 'Next' will start at
      the current location.  The program will display the next line that
      contains the search phrase.  If no match was found, the display will
      be in the same place, and the Bell will sound.

      The other buttons allow you to jump directly to one of five positions.
      'Top' jumps to the top of the file.  (Same as Home)
      '1/4' jumps to a position one quarter of the way through the file
      '1/2' jumps to half way through the file
      '3/4' jumps three quarters of the way through
      'End' jumps to the end of the file

'N' - Display the 'Next' match, using the current search phrase
'P' - Send a block of text to the Printer:

      The first 'P' will mark the top line of the current screen as the top
      of the block.  Then move down to the end of the area you wish to print,
      and press 'P' again.  This will send all of the text from your first
      mark, to the bottom line of the ending screen, to the printer.

'D' - Send a block of text to a disk file.  This works the same as the 'P'
      function, except you will get a GEM file selector to enter a name for
      the text file to write the block to.

Press 'ESC' to abort either screen or printer listings.

If multiple files were selected for extraction, Abort will progress to the
next file.  This, combined with the search capabitities, allows you to
search multiple files very easily.

Notes: In low memory situations, where there is not enough room to store
the entire extracted file, the process is done in segments, and there are a
few differences in the way the program responds.

Backing up the display is limited to how much of the extracted file is still
in memory.  You may find a point where you can't back up any further.  This
is because the data before this point has been overwritten.  This
restriction does not occur with the Home, Search, and Jump functions, and
they may be used to get back to earlier sections of the file.

After a search where a match is not found, the program will try to return
to the previous location.  If that spot is no longer in memory, the program
will jump to the top of the file.

When using the Print Block feature, you may be scrolling the file across one
of the segment boundaries.  If this happens the program will immediately
send all the data so far, out to the printer.  The scrolling process will be
paused until the data has been sent.  Afterwards, you can continue scrolling
to the desired end position, and press 'P' to print the rest of the data.

Again, unless you operate the program in low memory situations, and/or
extract large text files, you will not see any of these behaviors.

- Test -

The Test function is used to test the files in an archive without actually
extracting any of them.  It will display 'Okay' after each valid file, and
report any problems found in the archive.  It operates like Extract with
Query, but does not ask you for a destination path, (as it does not write
out any extracted files).

- View -

View allows you to look at all the files in an archive.  It will ask for
an input archive file, and then display an options menu.  You should first
select either Verbose or Short format.  Short will list only the filenames,
original sizes, and any comments the archive contains.  The Verbose form
lists the following information about all of the files.

Filename:  The name of the original file.
Actual:    The size of the original file.
Packed:    The size of the compressed file.
Ratio:     The compressed file size as compared to the original.
Time/Date: The time and date when the file was last modified.
Attr:      The following letters will be displayed if the corresponding
           file attribute is set:
           r - File is set to Read Only
           h - File is hidden from directories
           s - System file
           a - Archive bit.
Methd:     The method used in storing the file.  Either '-lh1-' for a
           compressed file, or '-lh0-' for uncompressed
CRC        The CRC calculation of file.  This value is recalculated
           whenever the file is extracted, to test if the file is Okay.

You can also select whether the output will be displayed on the screen,
sent to the printer, or sent to a disk file.

The screen display will pause every 24 lines.  You may press 'Space Bar' to
continue, 'Return' or Left Mouse Button to list one line at a time, 'Home'
to return to the top of the list, and 'ESC' or Both Mouse Buttons to abort.
Backing up is not supported.

If you enter '*' for the input filename, UNLZH will create a listing of all
the archives in the directory, separated by the names of the archives
themselves.

- Quit -

Quit will exit to the desktop.


Saving the Configuration:
-------------------------

The 'Save Configuration' button will save the current settings for all of
the program options, (including Short/Verbose listing and Match/Ignore
cases), plus the input and output path names that were last used.  The
information will be written directly into the program file itself.  If
UNLZH17.PRG cannot be found on the default directory, the program will ask
you to enter its location using the file selector.

Do not attempt to save a configuration into an UNLZH program file that has
been modified in any way.  If you have used a compression program such as
'PACK' on the UNLZH17.PRG file, you MUST uncompress the file before saving
any configurations.

The Overwrite Warning Message:
------------------------------

Anytime UNLZH finds that an extracted file already exists at the
destination, it will display a warning message with several choices.
(Unless you have the program option Overwrite Files set to 'Yes').

You may press the 'Return' key, or click on 'Extract' to overwrite the
file.  You may also change the name of the extracted file to something
else, and press return.

The 'Skip' button will skip the current file without extracting it, and
continue with the rest of the archive.  The file will also be skipped if
you press the 'Esc' key to erase the name, and then press 'Return'.

The 'All' button will extract all of the files in the current archive
without any more warning prompts.  When the archive has been extracted
completely, the warning prompt will be active again in case you are doing
multiple archives.

The 'Quit' button will skip the rest of the files in the current archive.
If you are extracting multiple archives, it will go on to the next one.
Otherwise, 'Quit' will return to the main menu.

Files set to Read-Only  (Protected Files)
----------------------

You will also get a warning message if the existing file is set to Read
Only.  The prompt will indicate that the file is protected, and give you
the same choices as the File Overwrite warning.  Note: The Read Only
warning will always be active, regardless of the setting for the Overwrite
Files option.

UNLZH as a GEM application:
---------------------------

In addition to running normally from the desktop, UNLZH can be installed
as a GEM application with a document type LZH.  This allows you to double-
click on any .LZH archive, and automatically load in the UNLZH program.
You can still select options from the main menu.  When you select a
program function, you will not be asked for an input file.  Instead, UNLZH
will use the .LZH file you double-clicked on as its input.  Also, when the
operation is completed, the program will exit to the desktop, instead of
returning to the main menu.

To Install:  (From the GEM Desktop)
-----------

If you have previously installed an application for .LZH files, you will
need to remove it.  Click once on the previous program to highlight it.
Select 'Install Application' from the Options drop down menu.  Then click
on the Remove button.

To install UNLZH, click once on UNLZH17.PRG, select 'Install Application'
from the drop down menu, enter 'LZH' as the document type, and then click
on the Install button.

You should then save the desktop, also using the options drop down menu.

Command Lines:
--------------

There is limited support for calling UNLZH from a command line.  It will
take the filename from command input, and do a full extract on the output
path that was saved with the configuration.  (If the configuration has not
been saved, files will be written to the default directory).  Full pathname
inputs are allowed, and wildcards can be used for batch processing.  The
'Create Folders' and 'Overwrite Files' options have the same effects.  The
program will exit after completion, or after any errors.

To bypass the main menu and other GEM prompts, enter an 'X ' in front of
the input file.  (i.e. 'UNLZH X FILENAME' as in ARC.TTP).

In closing:
-----------

You may make copies and distribute this program, as long as the program
and documentation file remain unchanged, and are distributed together.

This program is shareware.  If you enjoy using it, please send $5 to me at
the address below.  You may use the enclosed self-addressed envelope, by
printing out the ENVELOPE.TXT file, and following its instructions.  Your
printer should be set to start printing at the very top edge of the paper
for best results.  Ideally, the bottom flap should be long enough to reach
the middle fold line.  If it is too short, you may use a word processor to
delete a few lines from the top of the document, and reprint it.

For those who send a contribution of $10, I will send back a desk accessory
version of UNLZH.  If you have a GEnie account, I can also send updated
versions of the program, before they are available for general download.
All programs will be sent to you via Xmodem EMail.  For all others, I will
send the desk accessory version by US mail.

$10 contributions may also be made using GEnie's Gift of Time feature.  To
access it, type 'GIFTOFTIME' at any of the menu prompts.  It allows you to
give a $10 GEnie credit, and gets added to your monthy billing.  GEnie does
don't give On-Line confirmation of Gift of Time's, but sends a notice
through the mail.  To guard against lost mail, and also to let me know
what program you are registering, please send an EMail notice as well.

Please include the version number of the program, and GEnie account (if any)
on any correspondence.  I hope you enjoy the program, and let me know of any
comments.  PLEASE send suggestions for improvements and/or bug reports.

John Harris
45346 Graceway Dr.
Ahwahnee, CA 93601
(209) 683-3412
GEnie: J.HARRIS32


Back to Packer/Depacker