Windows 95 Long Filename TURBO.TPL Version 2.0
by Tim Kirchner

First, the warranties, etc:
None of any kind.
If any damage occurs as a result of using this program, I'm not going to fix it,
and I'm not going to pay for it.

Cost:
Use the program for free.  I only request that I receive some comments and
suggestions.  If you sell a program using my library, I request that my name
at least be mentioned somewhere in the docs.

I believe that all of the functions do work, and in my tests have not found any new
problems.  If you find any, by all means, please E-mail me.

Usage:

Simply use the same functions that you're used to.  The system unit is rebuilt to
utilize the Win95 long filenames.  Also utilized are 32-bit Move and FillChar
routines.  386 Instructions are used at several points, but since Win95 requires
a 386+ anyhow, this shouldn't be a problem.

New in Version 2.0:
The DOS unit has finally been added.
Note that there is a change to the SearchRec type in the dos unit:

  SearchRec = record
                Attr:  Longint;
                Creation: comp;
                Access: comp;
                Modif: comp;
                SizeH: Longint;
                Size:  Longint;
                Reserved:  comp;
                Name:  Array [0..259] of char;
                SName: Array [0..13] of char;
                Handle: word;
              end;

This is for obvious reasons.

Due to popular demand, I have also included the TPP.TPL and TPW.TPL files.


If you find any functions which do not use the functions properly, please E-mail me.

Known limitations:
All filename length restrictions are still in effect.  I am currently working on a
way around this problem.
In the dos unit, functions other than FindFirst/FindNext are not used as often
and hence have not been tested as extensively as others.  Please be aware of
the possibility (though slim) that there could be a problem.

Known bugs:
I am not entirely sure how TVision and ObjectWindows will react to the long
filenames.  Please be aware of this.

The GetDir function will return the path exactly the way it was typed in a
CD statement.

Example:
Say you make a program called GetDir, and put it in a Directory called "My Programs"
and you type

CD myprog~1
GETDIR

It will return
C:\myprog~1 instead of C:\My Programs

(If you type CD "My Programs", it will return it correctly)

This is the way Win95 returns the path, and I currently don't know
of a solution to the problem.

Bug Fixes:

A number of individuals reported a bug in the Rewrite procedure which I also
experienced.  I think that it is fixed and it appears to work correctly now.

Plans for the future:

Rewriting TurboVision and ObjectWindows libraries to take advantage of these
long names.
*** At this point, I'm not yet sure about how they will react to the
new functions...  any information or suggestions would be appreciated
--Better documentation (ie the new types, etc)
--Inclusion of the interface sections, where applicable

Note that I would include the source, but because not everyone is crazy about
assembler code, I don't think it's necessarily of general interest.
Also, it's HUGE.(around 1 meg)


Any questions, problems, suggestions, comments:
Please E-mail me at 8tkirchn@upper-merion.k12.pa.us

Special thanks:
SWAG for the 32-bit MOVE and FILLCHAR
Ralph Brown for his VERY useful Interrupt list
Everyone who e-mailed me about the Rewrite bug
