TweetFollow Us on Twitter

String Width XCMD
Volume Number:5
Issue Number:3
Column Tag:HyperChat™

Related Info: Quickdraw

String Width XCMD

By Fred Stauder, HyperChat Editor, Zurich, Switzerland

Note: Source code files accompanying article are located on MacTech CD-ROM or source code disks.

Here Come the Clones

Well the time has finally arrived, we have HyperCard Clones. Congratulations, Bill and the gang; imitation is the sincerest form of flattery.

I predicted over a year ago that HyperCard is the MacPaint of MultiMedia. The question now is who will make the Pagemaker of MultiMedia? The scene is now set for a rapid increase in the performance and features wars. Will they be compatible? How can you compete against a bundled product. This is probably sounding like DeJa vu to the people who have been with the Mac from the start.

Should you rush out and start to develop on the clones or should you wait for Apple’s version? I feel it will take some teething time to get the compatabilities right, but eventually they will be compatible. I will have a report on the clones next month. What about Hypertalk? Is it here to stay? My prediction is a definite, “Yes”. I also find it a pain to program in Hypertalk sometimes to do things that would be faster and more concise in C or Pascal. The beauty of Hypertalk is that it can be expanded to become more like English. I feel it will eventually evolve into a description language; something like this:

If this button is clicked then I will get the stuff from the stack with the funny pictures until you tell me I have found the right one.

How can I program like this you say, you won’t. First Let’s look at what the Programming Agent is telling us. The initial section, “If this button is clicked”; not very specific unless you want to know the details; I can click it or handle it on mouseDown or mouseUp. If it is not important in this case, don’t bother to be specific. The same goes for the next bit about stuff. If I can’t remember what stuff it was, it will fill in the details. If I am “reading” (you actually interact with the code) for the first time that someone else has written, the agent will give me a broad outline or specifics if I ask for them.

If this becomes reality do we need programmers anymore? The answer is “NO”. We will not need people agonizing over syntax; what we will need is designers of applications. There is a big difference.

Will the whizz bang of the new HyperCards and Clones make our lives easier? The answer is “No”. There will be more commands to remember, and it will get harder before it gets easier. The programming should get easier as the functionality increases. MacDraw II is a good example; it actually reduced the number of menu items. Are you listening Microsoft?

The other thing is that people have not mastered black and white graphics on a small screen, so we will see horrors during the teething period.

The bottom line is can we keep up to the Clones especially if they all have there own script extensions which are similar but not the same. What we need is a background interpreter engine that will be able to recognize all the various nuances. We have computers to make things easier for us so let them remember so we don’t have to.

String Width XCMD

Last month I showed you an example of a gestural device. It was a bit complicated to set up with different words in the message box because the width of the words has to be calculated by looking at the mouseH manually. I wrote a simple XCMD that given a string returns the width in pixels in the result.

{$R-}
(* strWidth -- sample HyperCard external command
 that gets the width of a string.  
 Written in MPW Pascal by Fred Stauder for MacTutor 1989.
pascal :Sources:XCMD:strWidth.p 
link -o AJS:test -rt XCMD=7002 -sn 
Main=strWidth :Sources:XCMD:strWidth.p.o 
{MPW}PLibraries:PasLib.o -m ENTRYPOINT *)
{$S strWidth }   { Segment name must be same as command name. }
UNIT Fred_Stauder;
INTERFACE
USES MemTypes, QuickDraw, OSIntf, ToolIntf, PackIntf, PasLibIntf, HyperXCmd;

PROCEDURE ENTRYPOINT(paramPtr:XCmdPtr);
IMPLEMENTATION
TYPE Str31 = String[31];
PROCEDURE strWidth(paramPtr:XCmdPtr);FORWARD;
 PROCEDURE ENTRYPOINT(paramPtr:XCmdPtr);
 BEGIN
 strWidth(paramPtr);
 END;
 PROCEDURE strWidth(paramPtr:XCmdPtr); 
 VAR
 tempStr: Str255;
 tempInt: Integer;
{$I XCmdGlue.inc } {includes the glue routines}
 PROCEDURE Error(errStr:Str255); {return an error message}
 BEGIN {put error into ‘the result’}
 paramPtr^.returnValue := PasToZero(errStr);
 EXIT(strWidth); {leave the XCMD}
 END; {Error}  
 PROCEDURE ParamCheck;
 CONST  paramCount: Integer;
 VAR  params:  Integer;
 BEGIN
 params := paramPtr^.paramCount;
 IF (params <> paramCount)
 THEN Error(‘strWidth “String” or Container’);
 END; {ParamCheck}
 BEGIN {Main}
 CheckParamCount;
 ZeroToPas(paramPtr^.params[1]^,tempStr);{get first Param}
 tempInt := StringWidth(tempStr) ; {get the width}
 tempStr := NumToStr(tempInt);
 paramPtr^.returnValue := PasToZero(tempStr);
 END; {Main}
END. {strWidth}

 
AAPL
$570.56
Apple Inc.
+13.59
GOOG
$609.46
Google Inc.
+8.66
MSFT
$29.11
Microsoft Corpora
-0.65
MacNews Search:
Community Search:
view counter

view counter
view counter
view counter
view counter
view counter
view counter
view counter
view counter

Fruit Ninja Gets New Update With Powerup...
Fruit Ninja is about to get its biggest update yet to celebrate its second anniversary on Thursday, May 24th. The key new element in the game appears to be that players will now be able to earn an in-game currency, called starfruit, that can be used to buy new powerups from new characters Gutsu and Truffles, introduced in the new trailer produced... | Read more »
Fotor – CameraBag Review
Fotor – CameraBag Review By Jennifer Allen on May 23rd, 2012 Our Rating: :: PLENTIFULiPhone App - Designed for the iPhone, compatible with the iPad A photography app that wants to be able to do everything that could ever be asked of it.   | Read more »
playGO AP1 is the Next Generation of Aud...
With all of Apple’s relatively recent success in the smartphone and tablet market, we can forget sometimes that what kicked off their modern dominance was a device that simply played music. BICOM, Inc. has been recognizing how important music is to the company with their playGo series of iOS receiver systems. The newest model, the playGo AP1, is... | Read more »
Monkey Pong Review
Monkey Pong Review By Angela LaFollette on May 23rd, 2012 Our Rating: :: BALL BUSTING ACTIONiPhone App - Designed for the iPhone, compatible with the iPad Help the hungry monkey reach all the fruit by bouncing a ball in this family-friendly arcade game.   | Read more »
Heroes & Generals Enters Closed Beta
Creators of Hitman, Roto-Moto, has launched a closed beta of their game, Heroes & Generals. The game is a massively multiplayer first-person shooter involving online fighting between the Axis and Allied forces in Europe. | Read more »
FeedFriendly Review
FeedFriendly Review By Angela LaFollette on May 23rd, 2012 Our Rating: :: EASY TO USEUniversal App - Designed for iPhone and iPad Combine the top three social network newsfeed updates into one location with the help of FeedFriendly.   | Read more »
Favorite 4: Euro 2012 Apps
In a matter of weeks, one of the biggest soccer tournaments out there begins: Euro 2012. Qualification is over and 16 European teams are all lined up to prove which one is the best of the bunch. As a Brit, I’m ever hopeful that England will achieve glory but regardless of what happens, I’ll be enjoying seeing some high quality action. In honor of... | Read more »
Zombie Farm 2 Review
Zombie Farm 2 Review By Rob LeFebvre on May 23rd, 2012 Our Rating: Universal App - Designed for iPhone and iPad Take on the role of a social game farmer who plants both crops AND zombies in this sequel to the original hit, Zombie Farm.   Developer: The Playforge | Read more »
Facebook Pages Manager Does Exactly What...
Sick of hearing about the Facebook IPO? Want to hear about something actually related to the Facebook product? Well, I have good news then. Facebook has launched a new app that will come in handy for users who manage Facebook Pages. | Read more »
Score! Classic Goals Review
Score! Classic Goals Review By Jennifer Allen on May 23rd, 2012 Our Rating: :: GOAL!Universal App - Designed for iPhone and iPad Relive some classic goals by creating them in this addictive soccer game.   | Read more »
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.