home *** CD-ROM | disk | FTP | other *** search
- - 1 -
- 8th July, 1990
-
- About TSFCOM in General
- =======================
-
- Apply question mark ? with the program call for a brief description of a
- program. Most of the programs also include more detailed (optional)
- information within the program.
-
- This package may be used and distributed freely for NON-COMMERCIAL,
- NON-INSTITUTIONAL, PRIVATE purposes, provided it is not changed in any way.
- For ANY other usage contact the author. No part of this package may be
- distributed separately. Uploading to bulletin boards in encouraged.
-
- The programs are under development. Comments and contacts are solicited. If
- you have any questions, please do not hesitate to use electronic mail for
- communication.
- InterNet address: ts@chyde.uwasa.fi (preferred)
- Funet address: GADO::SALMI
- Bitnet address: SALMI@FINFUN
- FidoNet address: 2:515/1 (Micro Maniacs Opus, To: Timo Salmi)
-
- The author shall not be liable to the user for any direct, indirect or
- consequential loss arising from the use of, or inability to use, any program
- or file howsoever caused. No warranty is given that the programs will work
- under all circumstances.
-
- Timo Salmi
- Professor of Accounting and Business Finance
- School of Business Studies, University of Vaasa
- P.O. BOX 297, SF-65101 Vaasa, Finland
-
-
- ABSTRACT:
-
- TSFCOM23.ARC File manipulation by Timo Salmi
- Filename Comment Date Time
- -------- -------------------------------- ---- ----
- CRYPTER.EXE Protects files with a password 07-08-90 19:58:54
- FILEADD.EXE Joins text files side by side 09-30-89 11:49:26
- FILECUT.EXE Cuts a text file in parts 09-29-89 11:26:50
- FILEDUMP.EXE Decimal dump of a file 07-08-90 20:18:10
- FILEPAGE.EXE Prepares files for printing 07-08-90 20:11:34
- FILEPALN.EXE Counts page lengths and widths 07-08-90 19:46:56
- FILEPRNT.EXE Text-file to various printers 07-09-90 00:16:22
- FILETRAN.EXE Scandinavian conversions 09-29-89 14:44:30
- FILETRIM.EXE Trims or pads text file rows 07-08-90 20:04:06
- TSFCOM.INF Document 07-09-90 00:28:26
- TSFCOM.NWS News concerning this package 07-09-90 00:35:00
- TSPROG.INF List of PD programs from T.Salmi 04-03-90 17:37:40
- VAASA.INF Info: Finland, Vaasa, U of Vaasa 02-02-90 11:52:54
-
-
- Release Notes for the Entire Package
- ====================================
-
- If you have an earlier than version TSFCOM15, please note that the .exe files
- replace the earlier .com files with the same name. (If you have an .exe and a
- .com file with the same name on the same directory, the outdated .com file is
- executed.) The .exe versions have been compiled with Turbo Pascal 4.0. (Later
- with 5.0.) They are faster than the older versions. The directory module
- (invoked when you try to access a non-existent or a non-resettable file) has
- been rewritten, among other things. Note that while (some) .com programs can
- be aborted by pressing crtl+c, .exe programs can be halted with ctrl+break.
-
- The release TSFCOM22 package does not change the programs much. All the
- programs have been recompiled with an updated directory routine, which you
- can invoke, if your input file is not found. This routine is nearer to the
- customary MsDos dir syntax, and the routine is more compact than the old one.
- There are also some other minor changes in the programs, and I have written
- more information about the programs to this document.
-
- The release TSFCOM23 introduces some major and minor improvements. First,
- some of the programs can now [optionally] be called in the more familiar PC
- format, that is as
-
- PROGRAM [FirstParameter] [...]
-
- Second, the some of the programs have now a line editing and input recall
- capability. (This capability is indicated by a "blocked" cursor). This means
- that you can edit the input the program asks for by applying the cursor keys,
- Del, Esc, Home, and End. Furthermore the previous input can be recalled by
- pressing the CursorUp key. Third, interrupting the programs by ctrl-c or
- break is now captured by some of the programs, and treated in a more orderly
- manner.
-
-
- Individual Program Descriptions
- ===============================
-
- Timo Salmi File COMmand release 2.3 (TSFCOM23) includes the following
- * * * *** * *
- programs for manipulating files:
-
-
- CRYPTER.EXE (Ver 1.14) Protects files with a password
- ======================
-
- Encrypts/decrypts any file with your secret password. The versions from
- 1.5 on will work for all types files. Thus you can use crypter even to
- protect your sensitive .com and .exe files.
- ┌─────────────────────────────────────────────────────────────────────┐
- │ WARNING: If you want to make your files absolutely secure don't │
- │ EVER write the decrypted text on any other media than RAMdisk. This │
- │ is because there are very good data recovery tools for uncovering │
- │ data that has existed on the ordinary disk media. │
- └─────────────────────────────────────────────────────────────────────┘
- Release notes: In version 1.12 the outward appearances are still the same,
- but the disk interface has been rewritten for a much improved speed. I have
- not measured it accurately, but crypter 1.12 is many times as fast as the
- earlier version. (Technically this has been achieved by reading and writing
- using block read/writes.)
- There is a default feature (not a bug) in Turbo Pascal which prevents
- reading read-only files. There is a remedy for this which has been
- implemented to crypter, and it can thus now crypt read-only files as well.
- The messages concerning file names now also include the path. These last
- two improvements have been made to all the programs starting from TSFCOM21.
- For version 1.13 release notes please see the common release notes above
- for TSFCOM22.
- Version 1.14 introduces the option of using the following call format:
- CRYPTER [InputFile OutputFile Password]. Version 1.14 also introduces input
- line-editing and recall.
-
-
- FILEADD.EXE (Ver 1.7) Joins text files side by side
- =====================
-
- Concatenates two text files. In other words joins them side by side.
- Useful e.g. for making two-column texts or detailed comparison of text files
- or lists, such as directories.
- The TSFLTC package contains a filter CONCAT.EXE which performs the same
- task as FILEADD.EXE. If you are used to Unix and/or prefer using filters for
- manipulating text-files then use CONCAT.EXE. Personally I used CONCAT.EXE
- rather than FILEADD.EXE.
- With the introduction of SemWare's excellent QEdit v2.1 this utility is
- practically no longer needed because of QEdit's ability to copy and move
- columns of text in addition to the usual rows of text. Hence no update in
- of FILEADD.EXE in TSFCOM23.ARC. Incidentally, this .inf file has been written
- with QEdit v2.1. (Yes, I am a properly registered shareware user.)
-
-
- FILECUT.EXE (Ver 1.7) Cuts a text file in parts
- =====================
-
- Divides a text file into a number of smaller text files. The division is
- based on the number of lines, given by the user, to be included in each new
- cut-file. Options for wrapping and checking for the existence of files.
- I also have a more recent program SPLIT.EXE for splitting any type (text
- or binary) file into bits and pieces (pun intended). It is in my TSUTLCxx.ARC
- package.
-
-
- FILEDUMP.EXE (Ver 2.11) Decimal dump of a file
- =======================
-
- Dumps the contents of a file to the screen in decimal ascii. A new line is
- started if the eoln sequence <CR/LF> is encountered. Filedumps (especially
- hexadumps) abound. FILEDUMP complements them rather than attempts to replace
- the traditional filedumps.
- FILEDUMP is actually the first program I wrote for the PC environment when
- I started with these compatible contraptions in back in 1987. I used this
- particular task to learn and experiment with the Turbo Pascal 3.02A
- environment, and to find out the format in which MsDos saves ascii files (the
- eoln convention varies in operating systems). Version 2.10 of filedump has
- been compiled with Turbo Pascal 5.0.
- BTW, it is amazing how much development has taken place between now
- (summer 1990) and then. Such a number of new commercial programs, but often
- with all too many features. When programs require even ten disks to install,
- and days of schooling to use, something in the industry has really gone awry.
- Wherever did the idea of the computer as an aid rather than an end disappear?
- (There are exceptions, of course. For example, I just received VP-Planner 3D.
- It's still manageable enough to be useful.)
-
- Release notes: In version 2.9 the colors are now consistent from the
- beginning, and (as with the other programs) read-only files can now be
- dumped.
- Version 2.11 introduces the option of using the following call format:
- FILEDUMP [FileName]. Version 2.11 introduces input line-editing and recall.
-
-
- FILEPAGE.EXE (Ver 1.11) Prepares files for printing
- =======================
-
- Divides a text file into smaller text files. The point of division is
- marked by the user by writing marker(s) .PAGE or formfeed in the original
- file at the desired positions. Conversion to 7-bit Scandinavian characters,
- and replacing tabs with blanks are included as options.
- Originally, I made this program because I wanted to be able to print text
- one sheet at a time without having to use a wordprocessor. In other words I
- wanted a flexible system for discontinuous paper. The way to do it is first
- to divide the original file into the smaller text files using FILEPAGE, and
- then print the resultant files individually. I added the option to use the
- codeword .PAGE because then formfeeds are not forced in printing the original
- text file on continuous paper.
- Incidentally, my wife has used this program quite a lot when writing and
- then printing texts applying an ordinary editor. In actual fact she just uses
- the computer in lieu of a typewriter, and her adamantly preferring an editor
- over a wordprocessor demonstrates, once more, that complicated programs are
- not what the common users will need. Who the heck utlizes fifty different
- fonts and two zillion advanced features, and what not that the industry tries
- to impose on the gullible user. (Good grief, I'm starting to sound like Mr.
- John C. Dvorak :-).
- Release Notes: Version 1.11 introduces the option of using the following
- call format: FILEPAGE [FileName]. Version 1.11 also introduces input
- line-editing and recall.
-
-
- FILEPALN.EXE (Ver 1.6) Counts page lengths and widths
- ======================
-
- A companion program to FILEPRiNT and FILEPAGE. FILEPALN tells you the
- number of rows, and the maximum width of each page of a text file, when the
- page break is the marker .PAGE or the ordinary formfeed <FF>. I have found
- this program useful for counting files (and giving maximum width) also for
- unrelated tasks, even if there are utilities like wc.com adopted from Unix.
- Release notes: Version 1.5 includes a summary giving the size of the
- longest page and the width of the widest page.
- Version 1.6 introduces the option of using the following call format:
- FILEPALN [FileName]. Version 1.6 also introduces input line-editing and
- recall.
-
-
- FILEPRNT (Ver 1.10) Text-file to various printers
- ===================
-
- Prints text files. You have a choice of five printers: three parallel
- printers (Diconix, Brother, and HP PaintJet), and two serial printers
- (Gabriele 8008, and LA50). You will be presented with a list of choices by
- the program. Use FILEPRNT ? for more details. Recognizes both <FF> and .PAGE
- as page breaks. As of version 1.5 CTRL Y cleanly aborts printing.
- See the TSPRN package for stand-alone print utilities for a Daisy Bubble
- parallel Jet, Diconix parallel ink jets, and Gabriele 8008 serial
- daisy-wheel.
- Release notes: Version 1.9 handles read-only files correctly.
- Version 1.10 introduces the option of using the following call format:
- FILEPRNT [FileName]. Version 1.10 also introduces input line-editing and
- recall. Printer timeout default has been decreased to give a quicker response
- to unregular situations.
-
-
- FILETRAN.EXE (Ver 2.2) Scandinavian conversions
- ======================
-
- Converts Scandinavian characters of a text file. The conversion is
- optionally from åäöÅÄÖ to }{|][\, vice versa, or none. Formfeed <FF> can be
- replaced by four blank lines, and tab <TAB> with blanks. Carriage return <CR>
- and linefeed <LF> are not translated, but the other control characters, and
- the other, except the Scandinavian 8-bit characters, are replaced by symbols
- indicating their ascii code, e.g. <#0>. Ordinarily text files are terminated
- by ascii 26, but the user is given the option to bypass. Output can be
- directed to the screen or a file.
- Please see the filters in my TSFILT, TSFLTB and TSFLTC packages for
- alternative programs for filtering.
-
-
- FILETRIM.EXE (Ver 1.9) Trims or pads text file rows
- ======================
-
- Extracts columns, adds margins, pads or trims a text file.
- If you only need to add a left margin, also see flmarg.exe in the TSFILT
- package. Furthermore, the TSFLTC package contains a filter CUT.EXE which
- performs a similar task as FILECUT.EXE. If you are used to Unix and/or prefer
- using filters for manipulating text-files then use CUT.EXE for a cutting
- edge.
- Release Notes: In version 1.6 a ruler is shown at the top of the screen to
- make it easy to assess the margins for trimming.
- Version 1.9 introduces the option of using the following call format:
- FILETRIM [InputFileName] [OutputFileName]. Version 1.9 also introduces input
- line-editing and recall. OutputFileName checking has been improved.
-
- =============================================================================
-
-
- ╔══════════════════╗
- ║ The Story Behind ║
- ╚══════════════════╝
-
- If you have been using the other of my PC utilities you probably will have
- noticed the difference in the user interface. Take crypter as an example. It
- crypts the input file to the output file using a password. The more common
- user interface would have been of the type
-
- CRYPTER <input file> <output file> <password>
-
- but in TSFCOM file handling utilities I have used the alternative where the
- user first call the program, and the program then proceeds to ask for the
- input file, output file, and the password. (The advantage in crypter is that
- the password will not be echoed on the screen.) The reason for this type of
- user interface is the history of these programs. They originally are VAX/VMS
- programs which I wrote in VAX Pascal. In fact, much of the original code of
- the TSFCOM programs is still intact as it was (or rather is) in the VAX/VMS
- programs. (Starting from release TSFCOM23, however, I have made some of the
- program calls [optionally] more PC-like.)
- In fact many of the ideas for my programs have originated from the
- programs I have made for the VAX/VMS system, and quite a few from the use of
- a QL home computer, which but for the lousy user support was well ahead of
- its time in the mid 1980's. Incidentally, the program that has gained most
- from its VAX/VMS background is my linsolve.exe (linear and linear goal
- programming solver) in TSLIN package. It has a long history with mainframes,
- and the innards have become well tested over the years. As for many of my
- other programs, the biggest task in making these PC versions has been
- rewriting the input and the output. The logic and the algorithms have, at
- times, needed very little in any change.
- If any of you have used several of my assorted programs you might have
- been wondering how come a professor of accounting and business finance is so
- much interested in programming and mathematics. (Perhaps this sounds less
- strange in the States than it does in Scandinavia). No great secret. I
- started business economics studies back in 1966 at the age of 21. At that
- time when I studied for my M.Sc.(econ.) degree I had business mathematics as
- my major and seriously considered a career in computer applications. Although
- I liked the idea very much I thought that taking computers as a profession
- might make me too stereotyped (even more than what I am now :-) exactly
- because it interested me so much. So, after graduating in 1970 I decided for
- a research career, and wrote a dissertation in operations research back in
- 1975. In doing this I naturally could utilize computers quite a bit. But now
- came the big hitch. In the 1970's operations research was in the middle of
- what I call the OR applications crisis. Surveys with managers had shown that
- although operations research models were developed further and further in the
- academic journals, they really were not much used in real life except for
- very routine-like applications. (I mean on a grand scale. Individual OR-
- business applications do exist.) Looking at the situation, and at my
- university career, I came to the conclusion that this really was getting me
- nowhere. I decided to look for a more relevant discipline. Now operations
- research has some nice methods, but the operations research problems stated
- in the academic field have little practical relevance. On the other hand the
- problems and the subject of accounting certainly is relevant, but the methods
- employed are unsophisticated and even naive. So I decided to move over to
- accounting, and take the methodology with me. This is a decision I have never
- regretted since, even if it is true that it was particularly difficult to get
- a tenured professorship in the chronically inbreeding Finnish accounting
- society (and this is putting it very mildly, indeed). Fortunately, I have
- like-minded, very good accounting colleagues at the University of Vaasa. But
- the interest towards computers and programming has stayed with me trough all
- these stages, although I am foremost a researcher of accounting and business
- finance at heart. My current interests in research are in modern financial
- statement analysis, but this is already another story.
-