home *** CD-ROM | disk | FTP | other *** search
- Page 1
-
-
- Slyce.Com V1.10
- File Utility
- Copyright 1989-1991 by
- MorganSoft
- All rights reserved.
- Shareware.
-
-
-
-
- ┌──────────────────────────────────────────────────────────┐
- │ MorganSoft assumes no liability for any damages incurred │
- │ through the use of Slyce, and does not guarantee the │
- │ fitness of Slyce for any particular use. │
- └──────────────────────────────────────────────────────────┘
-
-
-
-
-
- Next Page for Table of Contents
- Page 2 TABLE OF CONTENTS PAGE
-
- 1. Table of Contents 2
- 2. Introduction 3
- 3. General Operations Notes 2 - 6
- 4. Text Switches 7 - 18
- 5. Data Base Switch 18 - 24
- 6. Registration Information 25
- 7. Error Messages 26 - 30
- 8. Support 31
- 9. Revision History 32 - 33
-
- /o: Page 7 /f: Page 14, 15
- /i: Page 8 /t: Page 15, 16
- /u: Page 9 /s: Page 17
- /p: Page 10 -o: Page 19
- /l: Page 11 -i: Page 20
- /w: Page 11, 12 -u: Page 21
- /e: Page 12 -l: Page 21, 22
- /r: Page 13 -e: Page 22
- /d: Page 13 -r: Page 23
- /c: Page 14 -d: Page 23, 24
- /h#: Page 14
- /z: Page
- Page 3
-
-
-
- Introduction:
-
-
-
-
- Slyce is a general purpose file utility for text and database
- files. You can overwrite fields, delete them, insert them,
- encrypt and decrypt them, make upper or lower case, or even
- lower case except for sentence starts. You can convert
- WordStar programs. You can strip ASCII control codes
- (excepting carriage return [CR] and line feeds [LF]) from
- files--very useful if you keep any modem logs. You can
- expand tabs, filter out any range of characters you wish, or
- substitute one character for another or a range of
- characters. All of this, written in Assembler for speed and
- compactness, is in a shareware product costing only $19.95.
-
-
-
-
- Page 4
-
- General Operation.
-
- Slyce works from the command line only. For a quick, full
- screen synopsis of all available options and syntax, type at
- the command line:
-
- C> slyce ?
- or
- C> slyce
-
- To actually invoke the program for full, operation you'll
- need more arguments for slyce to work. If you keep in mind
- the sort of operation you'll be doing, the number of operands
- needed will be easy to remember. For ALL Database work, you
- must have 5 arguments. For Text work, 3 or 5 arguments are
- required depending upon whether you desire slyce to work on
- an entire file ( 3 arguments required) or on a "Slyce" of a
- file (5 arguments). For example, to make a file called
- speech.txt entirely upper case, with a file name of
- speech.upr, you would need to type the following:
-
-
- Page 5
-
- C> slyce /u speech.txt speech.upr
-
- To insert an extra wide margin in speech.upr, you would need
- to type:
-
- C> slyce /i speech.upr speech.mar 1 5
-
- where speech.mar is the output file name, a " " is the
- desired character to insert, 1 is the beginning column to
- insert at, and 5 is the ending column for the insertion.
-
- For some options, you will be prompted to provide further
- information such as width of field or a string. Slyce uses
- the Standard input handle so if you desire, you may use
- redirected input (say, from a previously prepared file.)
- Such a command line should resemble the following:
-
- C> slyce -i myfile.dbf newfile.dbf 3 204 <insert.lne
-
- Where the insert.lne is a file previously prepared,
- containing the field to be inserted. The actual length of
- the string contained in the one line file WILL BE the string
- Page 6
-
- inserted, and any leading or trailing spaces will be used. To
- be safe, make darn sure the length is correct.
-
-
- General syntax is as follows.
-
-
- For text files:
-
- C> slyce [switch] [input file] [output file] [from col] [to col]
- or
- C> slyce [switch] [input file] [output file]
- or
- C> slyce [switch] [input file] [output file] [from char] [to char]
-
-
-
- For data files:
-
- C> slyce [switch] [input] [output] [col pointer] [record length]
-
-
- Page 7
-
- Text Switches:
-
- All Text switches require a "/", rather than a "-".
-
-
- /oC: Overwrite.
-
- Works only in "Column Mode". "C" is the character to be used
- for overwriting; this can be omitted, in which case a space
- will be used. No spaces are allowed between the /o and the
- character. Uses for this switch would be to expunge a
- section of a file, in preparation for extensive rewriting
- (such as in columnar reports). An example invocation is:
-
- C> slyce /o* myfile.txt myfile.$tx 30 30
-
- This would overwrite any characters occurring in column 30.
- Please note that there MUST BE a character in column 30 of
- the file (in text files, this means that each CR/LF
- combination must be at least 30 characters apart--they must
- be padded with spaces for an overwrite to occur.).
-
- Page 8
-
- /iC: Insert.
-
- Works only in "Column Mode". "C" is the character to be used
- for overwriting; this can be omitted, in which case a space
- again will be used. No spaces are allowed between the /o and
- the character. Uses for this switch could be for adding a
- wider margin, or widening the gaps between columns. An
- example invocation would be:
-
-
- C> slyce /i│ myfile.txt myfile.$tx 1 1
-
-
- This would place a single line "frame" in column 1, moving
- anything in column 1 to column 2. Again, if the above
- example had been for column 31, there would have had to be
- characters on each line out to column 31 for an insertion to
- be made.
-
-
-
-
- Page 9
-
-
- /u: Upper Case.
-
- Works in either "Column" or "Whole File" mode. Uses for this
- would be for any document that requires all upper case
- (perhaps speeches) or for assembler language programs that
- require upper case (why I don't know--but most of the
- listings you see for assembler have all of the code in all
- caps). For an entire file, an example invocation would be:
-
- C> slyce /u myfile.txt myfile.$tx
-
- For a column mode:
-
- C> slyce /u myfile.txt myfile.$tx 1 40
-
-
- The latter would produce a file that had all caps from column
- 1 to column 40, inclusive.
-
-
-
- Page 10
-
-
- /p: Lower Case, Sentence Format.
-
- Works in "Whole File" mode only. Uses for this would be to
- treat letters and other document files where the majority of
- the file is comprised of regular sentences, with few proper
- names. This option uses only two rules for determining if a
- word should be capitalized: 1/. Any letter following a
- period with no other characters between the letter and
- period, excepting a CR, a LF, space, a tab or a 0FFH
- character. 2/. Any letter following a colon (:) with the
- same restrictions as in number 1. An example invocation
- would be:
-
-
- C> slyce /p myfile.txt myfile.$tx
-
-
- This will produce a file with only the beginning letter of a
- sentence capitalized.
-
-
- Page 11
-
- /l: Lower Case.
-
- Works in either "Column" or "Whole File" mode. Uses for this
- could be for C programmers or Assembler programmers (like
- myself) who prefer lower case. An example invocation would
- be:
-
- C> slyce /l myfile.txt myfile.$tx
- or
- C> slyce /l myfile.txt myfile.$tx 30 33
-
- Where in the latter case, only columns 30 through 33 would be
- made into lower case.
-
-
- /w: Convert Wordstar files to ASCII.
-
- Works in "Whole File" mode only. Uses for this are obvious.
- An example invocation would be:
-
- C> slyce /w myfile.wrd myfile.asc
-
- Page 12
-
- This produces a straight ASCII format file with no characters
- above 127, CR/LF delimited.
-
-
- /e#: Encrypt with key number.
-
- Works in "Whole File" mode only. Uses for this would be for
- data security of medium level. This does not meet Department
- of Defense requirements, but should frustrate most attempts
- to decipher a file. The number used to key the file must be
- an integer between 1 and 32767 and must be used with the /r
- option to decrypt the file. No spaces are allowed between
- the /e and the number. An example invocation would be:
-
-
- C> slyce /e3019 myfile.txt myfile.enc
-
-
- This will produce a file called myfile.enc with will be
- "scrambled" and unreadable by browse programs.
-
-
- Page 13
- /r#: Decrypt with key number.
-
- Works (strangely enough) in "Whole File" mode only. Uses for
- this are fairly obvious--decipher a file encrypted previously
- by slyce, using the key number #. All of the comments under
- encrypt apply, and an example invocation is:
-
- C> slyce /r3019 myfile.enc myfile.txt
-
- Which would recreate the original example file cited in
- Encrypt.
-
-
- /d: Delete.
-
- Works only in "Column Mode" (5 parameters). Uses for this
- switch would be to delete excess margins, or columns. An
- example invocation is:
-
- C> slyce /d myfile.txt myfile.$tx 1 5
-
- This would delete the current columns 1 through 5 inclusive.
-
- Page 14
- /c: Strip ASCII < 32.
-
- Works in "Whole File" mode only. Uses would be for modem
- logs (if you type like I do, they're full of backspaces), and
- word processing files (that contain embedded control chars)
- such as PC-Write. An example invocation would be:
-
- C> slyce /c myfile.txt myfile.$tx
-
- This would produce a file called myfile.$tx with no ASCII
- characters below 32, except for CR or LF.
-
- /h#: Replace given Char with CR/LF (ála Mike Heggen).
-
- Works in "Whole File" mode only. Uses would be to break up
- files that are not CR/LF delimited into ASCII files.
-
- /z: Replace CR/LF with an ASCII Null (0).
-
- Works in "Whole File" mode only. Uses would be to convert
- ascii format files for use with C programs directly (takes
- up one less byte per string).
-
- Page 15
- based BBS apparently generate files that are LF delimited and
- this option can ease handling them. An example invocation
- would be:
-
- C> slyce /h10 uffda.txt uffda.msg
-
- This would produce a file that would replace all ASCII 10's
- (a Line Feed) with a CR/LF.
-
-
- /f: Filter file.
-
- Works in "Whole File" mode only. Uses for this would be
- general clean up of a file that has been corrupted (a file,
- perhaps, mangled while extraction from an archive), or as a
- general word processor convertor. If you have the
- documentation for a word processor or can figure out from
- browsing the file what range of characters are used as
- control codes, you can filter them out using this switch. The
- switch is fairly flexible in that ANY range of characters is
- allowable. An example invocation would be:
-
- C> slyce /f myfile.ext newfile.ext 128 150
- Page 16
-
- This would produce a file where all characters with an ASCII
- code greater than or equal to 128 AND less than or equal to
- 150 have been omitted. Note that the character range is
- inclusive.
-
- /t: Expand tabs.
-
- Works in "Whole File" mode only. Uses for this switch are
- fairly obvious. To allow as much flexibility as possible, I
- elected to use a smaller buffer sizes when using this
- switch, so you might notice a slight degradation in speed.
- The input buffer has been reduced to ensure that the output
- (with all tabs expanded to spaces) will not collide with the
- stack. This shouldn't be noticeable unless you're dealing
- with extremely large files. An example invocation would be:
-
- C> slyce /t myfile.Ext myfile.ntb
-
- This would produce a file called myfile.ntb what would have
- all tabs expanded (filled with spaces). Remember, classic
- tabs are 8 spaces long. After a tab, the first character
- will be at (8*n)+1.
- Page 17
- /sC: Substitute character C for range.
-
- Works on an entire file, only, BUT REQUIRES 5 parameters. The
- two parameters that follow the output file name are used to
- determine the RANGE of characters to be substituted for. The
- range is inclusive. Uses for this switch would be much the
- same as filter, but relative character position is
- maintained. For example, if you have a modem log that
- contains nice charts or boxes made up of the IBM graphics
- characters, you can get rid of them and not mess up the
- relative positions of the text. With several runs through
- the program you could even replace an IBM text graphic box
- with appropriate characters, such as, for a single line box:
-
- C> slyce /s- myfile.txt myfile.tmp 196 196
- {replace the top and bottom lines with a '-'}
- C> slyce /s! myfile.tmp myfile.tm2 179 179
- {replace the sides with a '!'}
- C> slyce /s+ myfile.tm2 myfile.tm3 217 218
- {replace the lower right & upper left corner with '+'}
- C> slyce /s+ myfile.tm3 myfile. 191 192
- {replace the upper right & lower left corner with '+'}
-
- Page 18
-
- The preceding would change a single line box in myfile.txt to
- a box made out of characters "!","-", & "+". As you can tell
- from the first and second example invocations, single
- character "ranges" are allowed.
-
- Data Base Switches:
-
- All data base switches use a "-" instead of a "/".
-
- All data base switches work in "Column Mode" only. If you
- don't know the exact record length, it is more than likely
- that you'll scramble the database, so be advised. Then
- again, most of the people who would try to use slyce for this
- purpose, should know that already, so forget that I even
- mentioned that.
-
- With the data base switches, you will be prompted for further
- input, after you press return. The input required will be
- either a string (for "-i", "-o"), or a number ("-d", "-e", &
- "-r"). String length is limited to 100 bytes. Numbers
- should be below 32767.
-
- Page 19
-
- -o: Overwrite, using prompted string.
-
- Uses for this would be to blank out a field of a database
- entirely, leaving space internally for the field. A second
- use would be to pre-initialize "default" field contents. An
- example invocation would be:
-
-
- C> slyce -o address.dat address.$da 123 432
-
-
- This will overwrite a field beginning at column 123 of a 432
- byte long record. That is to say, the record length is taken
- to be 432 bytes long--and that the field to be overwritten
- starts at the 123rd byte of the record. The overwriting
- string can include any characters available from the keyboard
- and in actual fact--any character you can "deliver" to the
- program through the use of TSR's like ProKey or DKey will be
- accepted.
-
-
-
- Page 20
-
- -i: Insert, using prompted string.
-
-
- Uses for this are to expand an existing database, placing a
- field in each record, using the prompted string as a
- template. Conversions of database files from one database
- application to another could use this, as well as for
- conversions between Database programs. An example
- invocation would be:
-
-
- C> slyce -i myfile.dbf newmyfl.dbf 100 143
-
-
- This option will prompt you for the field to insert and the
- width of your entry will define the width of the field. This
- would produce a file called newmyfl.dbf, with a new field
- uniformly inserted, containing the contents of your response
- to the prompt.
-
-
-
- Page 21
-
- -u: Upper Case field.
-
- Uses for this would be to "normalize" a field so that sorts
- can more easily be done on them. A sample invocation would
- be:
-
- C> slyce -u address.dbf newaddr.dbf 30 503
-
- and you would be prompted for the field width. This would
- make the field beginning at byte 30 and extending for the
- template length, all upper case. Record length would be 503
- bytes long.
-
-
- -l: Lower Case field.
-
- Uses for this would be the same as upper case field. A
- sample invocation would be:
-
- C> slyce -l address.dbf newaddress.dbf 20 601
-
-
- Page 22
-
- and you would again be prompted for the width. Slyce would
- begin working at byte 20 of a 601 byte record and would make
- all alphabetic characters lower case for the width you would
- have entered.
-
-
-
- -e#: Encrypt field.
-
- You will be prompted for the encryption field width. Uses for
- this would be for sensitive fields, such as taxable income,
- passwords, or perhaps addresses. An example invocation would
- be:
-
-
- C> slyce -e106 myfile.dbf protectd.dbf 21 979
-
-
- This would encrypt a field beginning at byte 21 of a 979 byte
- record. Again, you would be queried for the length of the
- field to encrypt.
-
- Page 23
-
- -r#: Decrypt field.
-
- You will be prompted for the decryption field width. Uses for
- this option are again obvious. An example invocation would
- be:
-
- C> slyce -r106 protectd.dbf myfile.dbf 21 979
-
- This would reproduce the original file (see Encrypt field)
- and as before, you would be prompted for the width of the
- field to decrypt.
-
-
- -d: Delete field.
-
- Uses for this would be to generate a "trimmed" database, with
- unneeded fields no longer taking up space. Again, database
- conversions could use this option. An example invocation
- would be:
-
- C> slyce -d myfile.dbf newmyfl.dbf 10 242
-
- Page 24
-
-
- You would be prompted for the width of field to delete. This
- would produce a file called newmyfil.dbf, with one field
- deleted. The deleted field would start at byte 10, and
- extend for the width you would enter at the prompt. Record
- length would be taken to be 242
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 25
-
-
- Registration:
-
- A registration form is provided with the archive, in
- Regist.Com and is simple to generate: At the command line,
- simply type:
-
- C> regist
-
- And then look the form over. Press alt-h to get the form
- sent to the printer.
-
- For those of you who are unfamiliar with the shareware
- concept, it's quite simple. You have the complete package of
- Slyce already in your hands (hopefully, see the packing list
- with the archive to be sure) and are urged to evaluate it
- fully. If you believe the program fills your needs, you send
- me the registration fee. If you do not have a use for Slyce,
- then either destroy the archive or pass it on to a friend.
- I sincerely hope that you do find Slyce useful and register
- it.
-
- Page 26
-
- Error Messages.
-
-
- Source File Not Found!. Check spelling.
- You'll get this message if the source file is not found,
- regardless of whether or not the file exists. Slyce only
- searches the current directory, not files found in the path.
-
-
-
- DOS read error.
- You'll get this message if there is any sort of problem with
- simply reading the file. Most often a device error, or disk
- media error.
-
-
-
- DOS write error.
- You'll get this error for much the same reasons that you'll
- get with a DOS read error. Generally a device fault of some
- sort.
-
- Page 27
-
- DOS file creation error.
- This could be from a number of things. An illegal DOS file
- name is the most likely, but it could be that the file
- already exists and is tagged as a system, hidden, or read
- only file. In that case, try a different name, or do change
- the file attribute on the file that already exists. Slyce
- WILL overwrite files, given half a chance. A less common
- reason for this error message would be if you're in the root
- directory of a disk and too many files already exist. Delete
- some files or move to a different disk.
-
-
-
- Unrecognized parameter or no switch.
- You'll get this one if for some reason Slyce can't recognize
- the switch you have given it. Remember, all text switches
- MUST have a '/' preceding them. All data base switches MUST
- have a '-'. Case doesn't matter on the switches. Switches
- like /e & /r must have a number "butted" right up to the
- switch.
-
-
- Page 28
-
- Not enough parameters.
- Well, I never said Slyce was all that bright, now did I. You
- MUST have 5 parameters for all data base switches. All files
- that are "Column Mode" switches, must have 5 switches. In
- any event, you MUST have either 3 or 5 parms for Slyce to
- run.
-
-
- Too many parameters.
- Well, in this case, more is too much. You'll get this one if
- you include all the normal parms you need, and leave a space
- between the switch and the number or character required by
- the switch, viz. C> slyce -e 201 myfile.ext myfile. 20 104.
- Here, although the intent was to encrypt with the number 201,
- Slyce thought it was another parameter entirely.
-
-
- Beginning Column Less than Ending Column.
- You'll get this one for character ranges too. All "Ranges"
- must be in ascending order, since all of the conditional
- tests are performed that way.
-
- Page 29
-
-
- Bad encryption switch. Numbers between 1 and 32767.
- Pretty self-explanatory except you'll also get this if the
- number you've typed for the encryption/decrytion key contains
- alphabetic characters or a decimal point. Integers only,
- please.
-
- Illegal or unrecognized DBase switch.
- Pretty self-explanatory. Slyce couldn't recognize the switch
- as one of the allowed ones for Data Base operations. You'll
- get this one if you accidentally use a '-' instead of a '/',
- and there's no equivalent switch on the Data Base side.
-
- DataBase field deletion overshoots record length.
- Well, in this case the width given to Slyce, added to the
- start position for the field, extends beyond the end of the
- record. Ignore the deletion portion of the message, you'll
- get this for any operation that can be done on a field,
- leaving it intact (encrypt, decrypt, upper case, lower case,
- and overwrite).
-
-
- Page 30
-
- Non-numeric byte in numeric field.
- Integers only, please! Slyce detected a character that was
- not 0-9 inclusive in what it expected to be an integer.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 31
-
- Support:
-
- If you have any complaints, suggestions, or want any support
- for Slyce, I can be reached in the following ways:
-
- Mail: MorganSoft Phone: 503-364-2002
- 2170 Raynor St SE I do NOT accept collect
- Salem, OR calls
- 97302-2138
-
- BBS: CompuServe 71167,2664 Salem Public Library
- Pascal Sysop: 503-588-6081
- 503-588-6130
- 503-588-6086
-
- Errata Note: Slyce was written using PC-Write (from QuickSoft),
- Turbo Assembler 2.5 & TLink 4.0 (from Borland International).
- Ancillary files (of the .Com variety) were either written by
- myself, or generated by using Asc2Com, also available from
- MorganSoft.
- T. G. Browning
- September 4, 1991
- Page 32
-
- Revision History:
-
- Ver. 1.10 Aug. 25, 1991
-
- Cleaned up the code and added the /z option. Lowered
- registration fee to $15.00.
-
-
- Ver. 1.04 June 10, 1989
-
- Added /h option by request of Mike Heggen.
-
-
- Ver. 1.03 May 26, 1989
-
- Fixed expansion bug in the tab switch. Multiple tabs
- not correctly expanded in earlier versions.
-
-
- Ver. 1.02 May 17, 1989
-
-
- Page 33
- Fixed bug in column switches, where characters were lost
- during buffer refill.
-
- Ver. 1.01 May 10, 1989
-
- Fixed tab expansion bug, where DOS blew up on a division
- overflow.
-
-
- Ver. 1.00 May 6, 1989
-
- Original release.
-
-
-
-
-
-
-
-
-
-
-
-