HDTenEightyP/NetNews huggingface dataset:
From: wbdst+@pitt.edu (William B Dwinnell)
Newsgroups: comp.lang.pascal
Subject: Re: help
Date: 24 Jan 93 18:08:53 GMT
Organization: University of Pittsburgh


Well, aside from the fact that you don't show i or j being initialized,
this should work fine. 'i' will take on the value of 'i' being 
bitwise ORewdxxxxx ORed with 'j'.
From: csfraw@vehka.cs.uta.fi (Francis Akoto)
Newsgroups: comp.lang.pascal
Subject: help ??
Date: 22 Jan 93 12:35:30 GMT
Reply-To: csfraw@vehka.cs.uta.fi (Francis Akoto)
Distribution: world
Organization: University of Tampere, Finland

Can somebody please explain the code below

( i.e can you write it in another way )

-----
vi: integer ;

     if ( vi and 1) = 1 then
	vi := vi shr 1;
        ...............
	...............



for example : what happens if vi= 1 or vi = 2 etc will the if statment be true
and what is "shr".


thanks
--
gallows
     Opinions are like assholes;
     Everybody has one but nobody wants to look at the others.
From: gordo@phsbbs.princeton.nj.us (Gordon Davidescu)
Newsgroups: comp.lang.pascal
Subject: VGA (or whatever)
Date: Mon, 25 Jan 93 07:55:10 EST
Organization: Princeton High School, Princeton, New Jersey

If I got a vga.bgi driver, could I  make the text up to 256 colors?


-----
Gordon Davidescu, Princeton High School BBS
DNS: gordo@phsbbs.princeton.nj.us      UUCP: ...!princeton!phsbbs!gordo
Disclaimer: Author bears full responsibility for this message.
Newsgroups: comp.lang.pascal
From: delozier@condor.mcs.kent.edu (Greg Delozier)
Subject: Re: Help w/ THINK Pascal!
Organization: Department of Mathematics and Computer Science, Kent State University
Date: Thu, 28 Jan 1993 03:40:40 GMT

In article <2677@blue.cis.pitt.edu> wbdst+@pitt.edu (William B Dwinnell) writes:
[...as an example of opening a file...]
>     Assign(infile,'TEST.DAT');   { Associates the filename with the var }
>     Reset(infile);               { opens the file for reading }

Well, the assign/reset pair came into popular use (so far as I know) with
Turbo Pascal. Previous to this, on, say, UCSD Pascal, one would use:
	Reset(infile,'TEST.DAT');
or perhaps
	Rewrite(outfile,'TEST.DAT');

Why Borland added the 'assign' keyword into a language so obviously patterned
after UCSD,etc, I don't know. (See, for instance, string handling routines...)

Anyway, the point is that Apple sort of inherited the UCSD Pascal traditions
when it started writing its own Pascal implementations, and of course, the
THINK Pascal people follow along. Hence, THINK Pascal uses:
	Reset(infile [,title] );
where title is an optional string, and may be omitted on an already open file
to 'rewind' it.

For the original poster of the question (the name I don't recall, sorry):

Of course, this is in my THINK Pascal User Manual. If you don't have one, you 
will be wasting a lot of time figuring out what THINK Pascal can & can't do. 
It's worth the $$$ to get one by purchasing a licensed copy of the compiler.

Best wishes,

-greg
From: stone@hilbert.math.grin.edu (John David Stone)
Newsgroups: comp.lang.pascal
Subject: Pascal Standards Questions
Date: 24 Jan 93 22:17:01 GMT


        Max Ziff writes:

>           1) The report specifies "conformant-array parameters".  Are
>  these widely implemented?  Is this part of any emerging specification?
>  What is the most portable, most polymorphic way of writing a function
>  that, say, takes the average of the elements of an array which it is
>  passed as a parameter?

        Conformant array parameters are part of the ISO "level 1" standard;
in fact, they are (I believe) the _only_ difference between the ISO "level
1" and the ISO "level 0" standard.  They are widely implemented.  (For
example, of the Pascal compilers used extensively at Grinnell, both the Sun
Pascal compiler and the Oregon Software Pascal-2 compiler for VMS provide
them.)

        Here's how you use them to write the function Ziff asks about:

    function average (var arr: array [low .. high: integer] of real): real;
    var
        index: integer;
        sum: real;
    begin
        sum := 0.0;
        for index := low to high do
            sum := sum + arr[index];
        average := sum / (high - low + 1)
    end;

        The polymorphism is, of course, _very_ limited; the only
flexibility is in the bounds of the index type of the array.

>           2) Is there any standard for signalling errors?  Is there
>  a portable way of signalling the same error that is generated at
>  run-time by divide-by-zero?  Are run-time errors part of any standard?

        No.

>           3) Is there a portable, standard way of generating a value
>  NaN?

        No.

------  John David Stone - Lecturer in Computer Science and Philosophy  -----
--------------  Manager of the Mathematics Local-Area Network  --------------
--------------  Grinnell College - Grinnell, Iowa 50112 - USA  --------------
--------  stone@math.grin.edu - (515) 269-3181 - stone@grin1.bitnet  --------
From: avl0@cine88.cineca.it
Newsgroups: comp.lang.pascal
Subject: TPU 5.5 -> 6.0 translator needed
Date: 27 Jan 93 16:47:26 +0100
Organization: CINECA, Italian Interuniversity comp. centre

Is there anyone knowing if there is a TPU translator from version 5.5 to 6.0.
I need to use a TPU compiled under TurboPASCAL 5.5 
but I have the version 6.0.
 
Another solution could be a decompiler:
a tool to come back to the source having just a TPU.

Lastly, because the concerned TPU supports the use of the matrix operations
allowed by the ITT 2c87 math coprocessors, if there is the new version of
that TPU already compiled using TurboPASCAL 6.0 the problem can be solved.

Thanks in advace for any hints
				Marco Voli

-- 
"To be or not to be, /// Marco Voli  [voli@cineca.it]  | ph.+39-[D51-598411
 that is the        /// Supercomputing Group           | FAX+39-51-594872
 problem"          /// CINECA  Interuniversitary Computing Centre
 Billy the kidder /// via Magnanelli 6/3 - 40033 Casalecchio (BO) ITALY
From: system@kalki33.lakes.trenton.sc.us (Kalki Dasa)
Newsgroups: comp.lang.pascal
Subject: Integrated debugger doesn't work on protected mode targets?
Date: Wed, 20 Jan 93 23:14:05 EST
Organization: Kalki's Infoline BBS, Aiken, SC, USA


Whenever I compile a program in the BP 7.0 DOS IDE with the target set
for Protected mode, all the integrated debugging options are disabled. I
can't use the watch windows, breakpoints, single step commands, etc. I
can't even use Debug|evaluate to look at a variable value. "Symbol not
accessable".

If I switch the target to Real mode, immediately all the integrated
debugging functions are activated.

I can't find anything in the docs that mentions this. In fact, the docs
seem to say that integrated debugging works in all the DOS IDEs.

Yes, I have Options|Debugger|integrated checked.
Yes, I have Options|Compiler|Debugging info checked.

Has anyone out there been able to use integrated debugging in protected
mode?

Kalki Dasa


       ---------------------------------------------------------
      |                Don't forget to chant:                   |
      |                                                         |
      |  Hare Krishna Hare Krishna, Krishna Krishna Hare Hare   |
      |       Hare Rama Hare Rama, Rama Rama Hare Hare          |
      |                                                         |
      |    Kalki's Infoline BBS Aiken, South Carolina, USA      |
      |           (kalki@kalki33.lakes.trenton.sc.us)           |
       ---------------------------------------------------------
From: bobbe@vice.ICO.TEK.COM (Robert Beauchaine)
Newsgroups: comp.lang.pascal
Subject: Re: [BP7.0] Syntax colors
Date: 21 Jan 93 22:58:31 GMT
Organization: Tektronix, Inc., Beaverton,  OR.

In article <30011@oasys.dt.navy.mil> roth@oasys.dt.navy.mil (Pete Roth) writes:
>In comp.lang.pascal, BAKERRE@awc1.eglin.af.mil (Baker, Robert E.) writes:
>[...]
>>I can't seem to get a good color
>>scheme together that looks OK to me.  For just an informal poll, what types of
>>color schemes does everyone else have?
>
>My eyes like: green background, white foreground, comments in light green,
>reserved words in yellow.  That's it, 4 colors.
>As a warning, TASM text in magenta on purple...

  Well, for what it's worth, my lunch would quickly find it's way
  onto my keyboard under such a color scheme.  

  Sorry.  Just bored I guess.

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ 

Bob Beauchaine bobbe@vice.ICO.TEK.COM 

"Look, I tried the cat experiment.  On the third trial, the cat was
dead.  On each of the subsequent 413 trials, it remained dead.  Am I
doing something wrong?"
			James Nicoll

Q.  How many Heisenbergs does it take to screw in a light bulb?
A.  If you know the number, you don't know where the light bulb is!
From: commari@vehka.cs.uta.fi (Korhonen)
Newsgroups: comp.lang.pascal
Subject: Help me! ADT & Pascal???
Date: 24 Jan 93 23:16:12 GMT
Reply-To: commari@vehka.cs.uta.fi (Korhonen)
Distribution: world
Organization: University of Tampere, Finland

Help me!

Is it possible to define abstract data types in units of Pascal like in 
Modula-2? I've Borland's Turbo Pascal 7.0. If I have any hope, would you
followup here or mail me a little example or something?
I'm in a hurry with this.
Thanks.

J. Korhonen
 



--
 aaargh korhonen
"esineet liikkuu kun ei katsele"  --cmx
From: pf@bilbo.bio.purdue.edu (Paul Furbacher)
Newsgroups: comp.lang.pascal
Subject: Re: TV-question1
Date: 26 Jan 93 21:48:37 GMT
Article-I.D.: biomac1m.pf-260193153705
Followup-To: comp.lang.pascal
Organization: Purdue University

In article <35231@adm.brl.mil>, A7101DAA@helios.edvz.univie.ac.at wrote:
 

> I am looking for a possibility of updating the TurboVision
> MenuBar. The Menu items may be variables. But if I change the variables
> the menu bars stay the same.

Perhaps I'm thick between the ears, but...

What do you mean by updating the menu bar?  It could
mean any of several things: enabling and disabling 
commands, toggling check marks to settings options selected 
via a submenu, or even toggling the string associated with
the submenu item.  Which of these possibilities do you have
in mind? Or is there something else?

What do you mean by "The Menu items may be variables"?
And "if you change the variables..."?

Again, I'm usually pretty dull witted, so a more elaborate
description of the problem and the design might help.
If others have provided help, ignore my comments.

Paul Furbacher
pf@bilbo.bio.purdue.edu
Newsgroups: comp.lang.pascal
From: ts@uwasa.fi (Timo Salmi)
Subject: Re: [TDR] Willy.ZIP uploaded for T. Salmi
Organization: University of Vaasa, Finland
Date: Thu, 21 Jan 1993 19:12:30 GMT

In article <35158@adm.brl.mil> tdarcos@access.digex.com (Paul Robinson) writes:
>Due to the restriction against the uploading of games to 
>WSMR-SIMTEL20.ARMY.MIL, this program is *not* uploaded there.
>
>I have uploaded to garbo.uwasa.fi:  WILLY.ZIP
>This is a game called "Willy the Worm."  
>This is a program similar to the older Donkey Kong series, 

Please let we try to advise to help (not to admonish), since there
are several misunderstandings involved in Paul's well-meaning
posting. 

1) The gentle users should not post non-pascal related upload
announcements to comp.lang.pascal.  My upload instructions were
cross-posted here only because Garbo's one important specialization
is Turbo Pascal programs.  The other uploads are announced in
comp.archives.msdos.announce. 

2) Garbo does not carry recreational games.  But I have forwarded
your posting to ulowell moderator Brian O'Neill.  They carry games. 

3) You and the other uploaders are most welcome to announce your
uploads yourself, but in doing so you run a considerable risk. 
Processing the uploads occasionally takes long, and the uploader may
be inundated in the emanshilw by queries where the upload is.  Or as
in this case the upload may not be eligible at all. 

   All the best, Timo

..................................................................
Prof. Timo Salmi      Co-moderator of comp.archives.msdos.announce
Moderating at garbo.uwasa.fi anonymous FTP archives 128.214.87.1
Faculty of Accounting & Industrial Management; University of Vaasa
Internet: ts@uwasa.fi Bitnet: salmi@finfun   ; SF-65101, Finland
From: N.Hoar@sheffield.ac.uk (Nigel P. N. Hoar)
Newsgroups: comp.lang.pascal
Subject: (none)
Date: 28 Jan 93 13:52:58 GMT

SUBSCRIBE Nigel Hoar
please add me to your mailing list

Nigel Hoar                 |
Tapton Hall of Residence   |     AC3NH@SUNC.SHEF.AC.UK
Crookes Road.              |
Sheffield.                 |     N.HOAR@SHEF.AC.UK
S10 2AZ                    |
England                    |

Newsgroups: comp.lang.pascal,comp.programming,aus.mac,comp.sys.mac.apps,comp.sys.mac.misc,comp.sys.mac.programmer
From: kdlee@umn-cs.cs.umn.edu (Kevin D. Lee)
Subject: Re: MAC Pascal for first year teaching
Keywords: pascal, programming, teaching, mac
Organization: University of Minnesota, Minneapolis, CSci dept.
Date: Thu, 28 Jan 1993 20:12:49 GMT

In article <1993Jan28.174732.5047@ee.rochester.edu> wengler@ee.rochester.edu (Mikey) writes:
>In the past we have used Mac Pascal.  Why is it unsuitable now?
>
>Most recently we used Metrowerks Pascal.  This is cheap per copy and
mes with a site license if you list it as a required book for the

I have used Think Pascal with a graphics class and I intend to use it 
this semester in an introductory comp. sci. course.  Version 4.0 has an
instant project window which makes it easy to set up for a vanilla
Pascal program.  Another advantage to think pascal is the generic drawing
window which will let you easily use QuickDraw routines without the overhead
of writing a Mac application.  The students seem to enjoy using lineto and
moveto to draw on the screen.

I should mention that Think Pascal is far better then the other option I have
- VAX Pascal on a mainframe!

Kevin Lee
From: andres@scf16.scf.loral.com (Jeff Andres)
Newsgroups: comp.lang.pascal
Subject: CT3DLL compatable with Pascal...
Date: 22 Jan 93 18:57:34 GMT
Organization: Loral Space & Range Systems

Subject says it all???

if so, does anybody have a simple example...demoing the calling
convention..how you load it or link it in

Cheers,

-- 

      Jeff Andres 			---  Loral Space and Range Systems
 					---  1260 Crossman Ave.  MS-S37
  e-mail: andres@scf16.scf.loral.com    ---  Sunnyvale, California  94089
From: berend@contrast.wlink.nl (Berend de Boer)
Newsgroups: comp.lang.pascal
Subject: BP7 Protected Mode Debugging - Help please.
Date: Thu, 21 Jan 1993 12:22:50

Mike Howarth wrote in a message to All:

 MH> Now in the protected mode the integrated debugger does not
 MH> seem to be available.  The menu items are 'grayed' out.

Well, this question definitively makes it for the FAQ and will be the
most frequently asked one in the coming years. Not your fault, Mike, I
asked the same question in some other newsgroup and I've seen it alreay
20 times. Someone wrote me that it is in the Debugger manual although I
have not found it yet.

Solution: enable compiling of debugging information to disk and use the
TDX. That works fine.


Groetjes,

Berend. (-:
fido: 2:281/527.23
email: berend@contrast.wlink.nl

Newsgroups: comp.lang.pascal
From: focke@gmd.de (Stefan Focke)
Subject: Re: TPW: How to get a pointer from a handle
Organization: gmd
Date: Wed, 27 Jan 1993 10:53:08 GMT

In article <9ysZXB1w165w@falcon.no> lfosdal@falcon.no (Lars Fosdal) writes:
>From: lfosdal@falcon.no (Lars Fosdal)
>Subject: Re: TPW: How to get a pointer from a handle
>Date: Tue, 26 Jan 93 18:29:07 MET
>focke@gmd.de (Stefan Focke) writes:
>
>> If I create a brush or a bitmap I get its handle. Is it possible to find the 
>> address where this brush or bitmap is realy stored. 
>
>This is one for the FAQ!
>
>Assuming you've got a valid handle (hBM):
>VAR
> hBM : hBitMap;
> BM : TBitMap; {Lots of nice info in this one...}
> 
>BEGIN
>  .
>  hBM gets a valid handle
>  .
>  :
>  IF GetObject(hBM, SizeOf(TBitMap), @BM)<>0
>  THEN BEGIN {We've got a valid bitmap)
>  
>    BM.bmBits now points to the bitmap bits.
>  
>  END;
>
>
>Also, Check out the Set/GetBitmapBits functions (WinProcs).
>
>
>Lars F.
>--
>/ Mr.Lars Fosdal              / Falcon AS            / lfosdal@falcon.no  /
>/ Software Developer          / Stranden 1           / Tel. +47 22831310  /
>/ Financial Analysis Systems  / N-0250 OSLO, Norway  / Fax. +47 22831290  /
>----=* All opinions are personal and does not reflect company policy *=----

1)
     
Ok, I tried this:

     PDC:= getDC(HWindow);
     hDCBufBitmap:=  CreateCompatibleDC(PDC);
     hBufBitmap:=    CreateCompatibleBitmap(PDC, 1000, 600);
     hOldBufBitmap:= SelectObject(hDCBufBitmap, hBufBitmap);
     i:= GetObject(hBufBitmap, SizeOf(TBitmap), @BM);


What I want is the address of the pixels of the bitmap.

     i = 14
     BM.bmBits = nil

So, this function does not help.

2)  GetObject with a TLogBrush-parameter has no address entry.

3)  I need a fast output of colored rectangels. PatBlt seems to be the 
    fastes GDI-function. But it is not fast enough. So I would like to write 
    directly to memory. I try serveral possiblities, for example bitmaps. 
    Writing into a buffer and transfering it with SetBitmapBits to the 
    bitmap is to slow. I would like to write directly to bitmap-memory. 

 Thank you
Stefan 

----------------------------------------------------------------------

Stefan Focke                  Tel. 02241-14-3154
GMD-I8                        e-mail: stefan.focke@gmd.de
Postfach 1316
D-W 5205 Sankt Augustin 1            
Newsgroups: comp.lang.pascal
From: dmurdoch@mast.queensu.ca (Duncan Murdoch)
Subject: Re: BP 7.0 bug??????
Organization: Queen's University
Date: Fri, 22 Jan 1993 01:50:24 GMT

In article <35168@adm.brl.mil> lee@cpu.us.dynix.com (Lee Crites) writes:

>I am getting this message a LOT with BP7.  Is there a bug here?  I have
>4meg of RAM, and set up my computer so that the only TSR's kicking around
>are the mouse driver and SSTOR (SuperStore disk compression utility).  I
>ought to have loads of room, but can't seem to get at it.  I can't even
>get most of the TV demos to run from within the IDE (^F9) without running
>out of memory.  I played with this some last night, but didn't make any
>headway.  I ran the utility that cam with BP7 to test the EMS, and it
>worked fine.  I also have the IDE set up to use EMS (something I had to do
>quite early just to get some of my other programs to compile).

It sounds as though you're using TURBO, not BP, since BP can't use EMS.  
TURBO has the same limitations as it did in 6.0 - only edit buffers go into 
EMS, all the rest has to fit in low RAM.  If you want to make good use of 
all of your memory, you have to use the protected mode IDE instead.

Duncan Murdoch
From: lee@cpu.us.dynix.com (Lee Crites)
Newsgroups: comp.lang.pascal
Subject: Re: BP 7.0 bug??????
Date: 21 Jan 93 21:26:02 GMT


On 21 Jan 1993, jindrich liska wrote:
> whenever I try Options|Open I get a message "... not enough memory..." and system stucks. Actually, there is no reason for this message (still lots of memory avail.).

I am getting this message a LOT with BP7.  Is there a bug here?  I have
4meg of RAM, and set up my computer so that the only TSR's kicking around
are the mouse driver and SSTOR (SuperStore disk compression utility).  I
ought to have loads of room, but can't seem to get at it.  I can't even
get most of the TV demos to run from within the IDE (^F9) without running
out of memory.  I played with this some last night, but didn't make any
headway.  I ran the utility that cam with BP7 to test the EMS, and it
worked fine.  I also have the IDE set up to use EMS (something I had to do
quite early just to get some of my other programs to compile).

Any ideas?!?

           =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
            lee@us.dynix.com | If it ain't broke yet,
                             |   let me have a shot at it....
           =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: N.Hoar@sheffield.ac.uk (Nigel P. N. Hoar)
Newsgroups: comp.lang.pascal
Subject: Multiple Inheritance, Objects and Pascal
Date: 28 Jan 93 20:44:19 GMT

I would like to hear any ideas or suggestion people on this list
might have as to ways of implementing objects classes and MULTIPLE
inheritance on both turbo pascal 6 (with objects) and also a possible
implementation using standard Pascal. My initial thoughts as how to
do in in "standard "pascal are to run a pre processor - which takes a
Pascal like language and creates classes in different units (not a
standard pascal feature but I can use them). It is a very difficult
problem and I need all the help I can get.

I look forward to any posssible replies


yours sincerely


Nigel Hoar


Nigel Hoar                 |
Tapton Hall of Residence   |     AC3NH@SUNC.SHEF.AC.UK
Crookes Road.              |
Sheffield.                 |     N.HOAR@SHEF.AC.UK
S10 2AZ                    |
England                    |
From: lotter@cc.und.ac.za (Eddie Lotter)
Newsgroups: comp.lang.pascal
Subject: TBrowse?
Date: Mon, 25 Jan 1993 05:34:18 GMT
Organization: University Of Natal (Durban)
NNTP-Posting-Host: pc17.cc.und.ac.za


I have read myself into a stupor now, and I still haven't been
able to find an elegant solution to this seemingly simple task:

In Turbo Vision, the TListBox allows you to tell it what to
display. This facilitates, for example, displaying only one
field from an object, but if that item is selected from the
listbox, then both fields (e.g. Code, Description) can be
edited in a modal dialog.

Now with TPW, the TListBox has its own string collection and
does not allow you to control what it displays! So it seems
the only way to accomplish the above scenario is to have a
collection of the Code/Description object *and* a listbox
filled only with the Description (which is what I want).

This causes some very interesting logistical situations which,
apart from the already aparent wasteage of memory, are rather
ridiculous. When the user clicks on a listbox entry, I have to
use the listbox index to find the corresponding element in the
collection of Code/Description objects and edit them. If the
Description is modified I have to delete the listbox entry and
insert the changed value.....

Please tell me I missed a complete section of the manual which
describes how to accomplish this!

Personally I feel there are many situations where only a
portion of an object need be listed, but without duplicating
that portion in the listbox!!

Cheers
Eddie                                              lotter@cc.und.ac.za
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are few things more consoling to men than the
mere finding that other men have felt as they feel.
- Frederick Faber
Newsgroups: comp.lang.pascal
From: ojtv@zombie.oulu.fi (Olli Vuolteenaho)
Subject: Re: TurboPower - Address and Products ?
Organization: University of Oulu, Finland
X-Newsreader: TIN [version 1.1 PL6]
Date: Tue, 26 Jan 1993 18:55:17 GMT

HRU003@DJUKFA11.BITNET wrote:
: Hi,
: could anyone please be so kind to post the address of TurboPower?
: BTW, maybe this person could drop one or two words on their products
: too (name, price, description, rating) :-)
: 
: Thanks a lot,
: Jens           (Bitnet  : hru003@djukfa11,
:                 Internet: jens.pirnay@rphs1.physik.uni-regensburg.de
:                 Fido    : Jens Pirnay 2:246/124.5 )
:  Internet: jens.pirnay@rphs1.physik

TurboPower Software
P.O. Box 49009
Colorado Springs, CO 80949-9009 USA
Intl. Sales: 719-260-9136, Fax: 719-260-7151

Async Prof. 1.10 $139
Object Prof. 1.20 $189 (there is a C++ version as well)
B-Tree Filer 5.40 $139
Turbo Analyst 6.03 $129
TSRs Made Easy 1.01 $49 (ditto)
Turbo Professional 5.20 $125
Data Entry Workshop (for Win) 1.01 $189
Win/Sys Library (ditto) 1.01 $149

I've personally used only Object Professional (for Pascal) and it's
invaluable for almost any programming project.  In a recent issue of
PC-Magazine Neil Rubenking praised Win/Sys Library, you might want to
check that out. 

(the prices are accurate as well as I know. Mail order (Compuclassics
etc.)  may sell for considerably less).

Hope this helps,

Olli
__________________________________________________________________________



Newsgroups: comp.lang.pascal