[comp.sys.mac.programmer] Turbo Pascal & Popup Menus

mfort@ub.d.umn.edu (Michael Fort) (11/08/90)

I have noticed that Turbo Pascal 1.0 only supports the toolbox calls from the
first three Inside Macintosh volumes.  Correct me, please, if I am wrong.
The other day, I noticed a line in some source I never saw before.  It read:

Procedure Debugger;
Inline $ff69;           <-- Trap number probably different.

So I figured that this is the external link to the outside world for Toolbox
calls.  I was hoping that someone could tell me if this is right.

More important, If I set up the PopupMenuSelect function, I am unsuccessful.
When I call this routine the way that Inside Volume 5 suggests, the function
seems to do nothing as though it were a return function.  Sorry that I can't
remember the page number, however it was the pseudo-code example in the Menu
Manager section.

As I don't have any other compilers, I need it to work on Turbo!

Email me, OR post it for other Turbo programmers,
Thanks ahead of time!
Mike Fort
mfort@ub.d.umn.edu, OR mfort@cpe.d.umn.edu

lemke@radius.com (Steve Lemke) (11/09/90)

mfort@ub.d.umn.edu (Michael Fort) writes:

}I have noticed that Turbo Pascal 1.0 only supports the toolbox calls from the
}first three Inside Macintosh volumes.  Correct me, please, if I am wrong.

No, that's probably right.  Borland did, however, release ONE upgrade to
Turbo Pascal, (1.1?) that provided minimal support for the Mac SE and II.

}The other day, I noticed a line in some source I never saw before.  It read:
}
}Procedure Debugger;
}Inline $ff69;           <-- Trap number probably different.
}
}So I figured that this is the external link to the outside world for Toolbox
}calls.  I was hoping that someone could tell me if this is right.

Actually, my guess would be that that was simply inline code to call the
trap that activates the debugger (MacsBug, etc.).  Thus if you have a line
in your code that reads "Debugger;" you will drop into MacsBug - handy for
debugging a certain part of code that seems to have a problem.

}More important, If I set up the PopupMenuSelect function, I am unsuccessful.
}When I call this routine the way that Inside Volume 5 suggests, the function
}seems to do nothing as though it were a return function.  Sorry that I can't
}remember the page number, however it was the pseudo-code example in the Menu
}Manager section.

Well, you really should get the upgrade - if they still sell it it will cost
you about $15.  However, and I'm sure just about any other Mac programmers
would agree, your $15 would be MUCH better spent towards the purchase of
THINK Pascal.  Just about anythink you might like about Turbo is probably
also a feature in THINK Pascal (and probably better).  In addition, Symantec
actively supports THINK Pascal;  Borland does NOT actively support Turbo
Pascal.  THINK Pascal is current, and will probably soon even work in System
7.0b1.  Don't hold your breath with Turbo - they haven't done anything with
it in over two years.

}As I don't have any other compilers, I need it to work on Turbo!

Well, I still stick to my main point - you should upgrade.  I feel qualified
to recommend this as I spent my hard-earned cash (while finishing college) on
Turbo Pascal (big mistake) and the upgrade, too (bigger mistake), and finally
on THINK Pascal (best programming environment I ever bought!).  I've since
upgraded from THINK Pascal 2.0 to 3.0, and to 3.01 - Symantec releases small
updates periodically to fix little things, but (to date) are free and are
widely distributed electronically.  Which system would YOU rather program in?

}Thanks ahead of time!

No problem.

}Mike Fort
}mfort@ub.d.umn.edu, OR mfort@cpe.d.umn.edu
-- 
----- Steve Lemke, Engineering Quality Assurance, Radius Inc., San Jose -----
----- Reply to: lemke@radius.com     (Note: NEW domain-style address!!) -----

chou@cs.washington.edu (Pai Chou) (11/09/90)

In article <1363@radius.com> lemke@radius.com (Steve Lemke) writes:
>mfort@ub.d.umn.edu (Michael Fort) writes:
>Well, I still stick to my main point - you should upgrade.  I feel qualified
>to recommend this as I spent my hard-earned cash (while finishing college) on
>Turbo Pascal (big mistake) and the upgrade, too (bigger mistake), and finally
>on THINK Pascal (best programming environment I ever bought!).  I've since
>upgraded from THINK Pascal 2.0 to 3.0, and to 3.01 - Symantec releases small
>updates periodically to fix little things, but (to date) are free and are
>widely distributed electronically.  Which system would YOU rather program in?

That's funny, I have just the opposite experience.  I started with
Turbo, but everybody told me how wonderful THINK Pascal was, so I
bought it.  I hardly used it.  I prefer the Turbo setup: one single
compiler and no other baggage files (units) messing up my directory.
Its size is also amazingly small.  I find myself getting a lot more
work done with Turbo than with THINK.  Well, it's just my personal
experience.  Am I the only one that prefers Turbo over THINK?

Pai Chou
chou@june.cs.washington.edu

gsm@mitre.org (Gio Marzot) (11/09/90)

In article <13685@june.cs.washington.edu> chou@cs.washington.edu (Pai 
Chou) writes:
> Am I the only one that prefers Turbo over THINK?

I have used both and cast my whole-hearted vote for -ThinkPascal.As 
mentioned before the support alone may be justification enough.But there 
is also the Think Class Library, the Class Browser, the debugger (LightsBug) etc. A great environment in which to learn and utilize OOP. It may be ,
as you say, that Turbo may be more wieldy for small scale development.
But I find the ThinkP environment fairly easy to navigate and as full featured
as I have need.

PS. Not affiliated with Symantec and only personal opinions stated
PPS. Popups no problem.

G.Marzot


Responsibility for the views expressed here
belongs only to myself and not to any organization.

torrie@Neon.Stanford.EDU (Evan James Torrie) (11/10/90)

chou@cs.washington.edu (Pai Chou) writes:

>That's funny, I have just the opposite experience.  I started with
>Turbo, but everybody told me how wonderful THINK Pascal was, so I
>bought it.  I hardly used it.  I prefer the Turbo setup: one single
>compiler and no other baggage files (units) messing up my directory.
>Its size is also amazingly small.  I find myself getting a lot more
>work done with Turbo than with THINK.  Well, it's just my personal
>experience.  Am I the only one that prefers Turbo over THINK?

  I'd say so...  You have to remember that Borland has basically dropped 
all Mac development for the past two years - although they haven't told anyone,
they are supposedly going to formally announce their withdrawal from the
Mac market very soon.

  That means that Turbo lacks all the new interfaces/libraries to the neat
things Apple has stuck in the System over the past two years (like
32-bit QD, Midi manager, all of the new System 7 stuff etc).

  If you're programming simple command-line type interfaces, you're probably
fine with Turbo.  Anything more than that, and Think is the only way to go.

-- 
------------------------------------------------------------------------------
Evan Torrie.  Stanford University, Class of 199?       torrie@cs.stanford.edu   
Jim Bolger - a National landslide of incompetence

chou@cs.washington.edu (Pai Chou) (11/10/90)

In article <1990Nov9.192322.22179@Neon.Stanford.EDU> torrie@Neon.Stanford.EDU (Evan James Torrie) writes:
>  That means that Turbo lacks all the new interfaces/libraries to the neat
>things Apple has stuck in the System over the past two years (like
>32-bit QD, Midi manager, all of the new System 7 stuff etc).
>
>  If you're programming simple command-line type interfaces, you're probably
>fine with Turbo.  Anything more than that, and Think is the only way to go.

Well, I don't do any "command-line" type interface at all;
my programs are just as Mac'ish as they can be.  I have been
able to add some new stuff such as script manager unit using
Apple's supplement files without any modification.  

If all you have is a MacPlus/SE without a hard disk, then
I think Turbo is a good development environment.  There are
many students out here who can't afford the luxury of a 32-bit
QD Mac which can cost many times their tuition.

Pai Chou

d88-cbr@dront.nada.kth.se (Christian Beijner) (11/10/90)

In article <13685@june.cs.washington.edu> chou@june.cs.washington.edu (Pai Chou) writes:
>That's funny, I have just the opposite experience.  I started with
>Turbo, but everybody told me how wonderful THINK Pascal was, so I
>bought it.  I hardly used it.  I prefer the Turbo setup: one single
>compiler and no other baggage files (units) messing up my directory.
>Its size is also amazingly small.  I find myself getting a lot more
>work done with Turbo than with THINK.  Well, it's just my personal
>experience.  Am I the only one that prefers Turbo over THINK?
>
>Pai Chou
>chou@june.cs.washington.edu

I also prefer Turbo, this is due to several reasons.

1) The projects in Think. Every time you compile something in
    Think it creates a project file which is larger than the resulting
    application would be.
   Just by considering the number of "small" Pascal programs I have
   I can figure out that If I had made them all in Think, I would
   have had Think project on my HD and nothing else.
  
   Also anyone creating and above all changing the appearance of
   the order of files in Think projects know this can be a complete
   pain. (I have Think experience from using it on the work)
   
2) Speed.
   Compiling Turbo programs are a real joy compared to Think.
   According to Thinks ads etc., both programs should compile
   at the same speed, but they didnt mention the link times
   which easily exceed the compile time on Think.

3) Formatting.
   I mean really, why should programmers be hit over their fingers
   for wanting to format programs their own way.
   Think automatically formats my text its way. (There are
        options on this, but they are few and there is no "shut off")
   My Turbo programs become shorter and more easily read.

4) Pascal interpreting:
      When choosing pascal Think lacked such Pascal features as.
      1) Intervals in case. You had to write 1,2,3,4,5,6 etc.
       (They have it now)
      2) Otherwise. You simply have to have it when programming
         in Think.
      3) Standard operations on all types.
             You cant write:
             $00FF and $FF00
             'Hello '+'there'
             #13                  (This is chr(13))

5) Pros of Think
   1) The debugger.
      

6) Cons of Turbo
    1) Cant handle arrowkeys (this IS a big minus)
    2) Will not be updated.
          
7) Cons of both:

When I started programming I used PolyPascal (made by the original
   programmer of Turbo Pascal, a dane)
There was something called "Typed constants"
You wrote something like this:
CONST  prompt:string(.20.)='Please do this and this';

This created a reseved space in the CODE segment where this constant
existed. The advantage was that the constant was initialized, existed
during runtime, and COULD be modified as a variable. (Not quite a constant)

Why have none of the Pascal implementers included this beautiful feature.
(For any programmer not seeing the usefulness of this, take a look of
  the initializing part of one of your programs, how many variables
   you initialize to the same value with normal constants or time-consuming
   resource-leading)

Sorry bout the long letter but I cannot understand how Think got this big.
/Chris

Jim.Lynch@f444.n161.z1.FIDONET.ORG (Jim Lynch) (11/15/90)

I work in C and have used Think and Turbo C; I don't like the editors of 
either one and I prefer Turbo's policy of reporting more than one error and 
allowing you to select an error and see the point in the text where the error 
occured, however for some reason the development seems to be faster in Think; 
I think the reason for that is because I'm always running under MultiFinder.
-Jim

--  
Jim Lynch - via FidoNet node 1:125/777
    UUCP: ...!uunet!hoptoad!fidogate!161!444!Jim.Lynch
INTERNET: Jim.Lynch@f444.n161.z1.FIDONET.ORG