• MacTech Network:
  • Tech Support
  • |
  • MacForge.net
  • |
  • Apple News
  • |
  • Register Domains
  • |
  • SSL Certificates
  • |
  • iPod Deals
  • |
  • Mac Deals
  • |
  • Mac Book Shelf

MAC TECH

  • Home
  • Magazine
    • About MacTech in Print
    • Issue Table of Contents
    • Subscribe
    • Risk Free Sample
    • Back Issues
    • MacTech DVD
  • Archives
    • MacTech Print Archives
    • MacMod
    • MacTutor
    • FrameWorks
    • develop
  • Forums
  • News
    • MacTech News
    • MacTech Blog
    • MacTech Reviews and KoolTools
    • Whitepapers, Screencasts, Videos and Books
    • News Scanner
    • Rumors Scanner
    • Documentation Scanner
    • Submit News or PR
    • MacTech News List
  • Store
  • Apple Expo
    • by Category
    • by Company
    • by Product
  • Job Board
  • Editorial
    • Submit News or PR
    • Writer's Kit
    • Editorial Staff
    • Editorial Calendar
  • Advertising
    • Benefits of MacTech
    • Mechanicals and Submission
    • Dates and Deadlines
    • Submit Apple Expo Entry
  • User
    • Register for Ongoing Raffles
    • Register new user
    • Edit User Settings
    • Logout
  • Contact
    • Customer Service
    • Webmaster Feedback
    • Submit News or PR
    • Suggest an article
  • Connect Tools
    • MacTech Live Podcast
    • RSS Feeds
    • Twitter

ADVERTISEMENT
Volume Number:6
Issue Number:7
Column Tag:Kelly's Corner

Function Junction & Pyro

By Dave Kelly, MacTutor Editorial Board

Function Junction & Pyro

Attention ZBasic programmers! The Function Junction train has now arrived on track number one. Function Junction consists of a variety of useful subroutines (including source code) for ZBasic. It’s a great way to save some time in your software development. Function Junction is reasonably priced at $79.95. Unless you don’t mind “re-inventing the wheel”, Function Junction is for you.

The Function Junction routines cover a variety of topics. There are functions covering system operations such as the “Environs” subroutine and string manipulation functions. Functions are provided for doing stack manipulation and reading the status of modifier keys. Other functions help manage dialogs, windows, text edit fields, and icon animation. You can include Windoids in your program with the Windoid subroutine. (Windoids are the little windows like HyperCard uses to display tools). Several functions handle math operations such as calculating days between dates or finding the factorial of a number (and others). Each function or subroutine includes an example that demonstrates how the routine works.

The 94 page manual lists a brief explanation of each routine alphabetically. There aren’t any examples in the manual. This would be bad except that the disk is full of examples of how to use the functions. The disk examples are well labeled and easy to follow. The manual is a good reference book for the functions.

There are 10 PostScript related routines. These routines are only useful if you have access to a PostScript compatible printer. A program called “The Effector” generates ten LaserWriter text effects in either hard copy (printed on a PostScript printer) or Encapsulated PostScript Format (EPSF), PostScript Escape, or stand-alone PostScript files. In addition the 10 PostScript routines can be pasted into your own program code to be used as you like. These routines are:

/* 1 */

PicHndl& = FN AgindragPS (MyString$, X, Y, FontSize)
PicHndl& = FN Arcjustify (MyStr$, X, Y, Radius, FontName$, FontSize)
PicHndl& = FN BoxitPS ( MyString$, X, Y, FontName$, FontSize)
PicHndl& = FN DoubleOutlinePS ( MyString$, X, Y, FontName$, FontSize 
)
PicHndl& = FN EoclipPS (ForeGround$, BackGround$, X, Y, FontName$, FontSize 
)
MyPic&  = FN MafiaFontPS&(MyString$, X, Y, FontName$, fontSize)
PicHndl& = FN ShinyFontPS& ( MyString$, X, Y, FontName$, FontSize )
PicHndl& = FN SmearPS&(MyString$, X, Y, FontName$, FontSize)
PicHndl& = FN SpinPS&( MyString$, X, Y, FontName$, FontSize)
PicHndl& = FN ThreeDPS&(MyString$, X, Y, FontName$, FontSize)

The PostScript routines are not very useful without a PostScript printer. With a printer, the routines can be very useful. The real meat of Function Junction is provided in the other functions. A list of the functions available is provided below. The names of the functions are self explanatory in most cases:

Brads = FN Angle2Brads (Angle! )
Radians!  = FN Angle2Radians  (Brads )
NewCursor = FN AutoCursor (ContentCursor )
ChartError = FN BarChart (ArrayStart, TotalItems, T, L, B, R  )
BestMatch  = FN BestMatchStr (Target$, ArrayStart, NumComps, CaseSensitive 
)
Area  = FN CalcArea (Length, Height, Type )
Calculation = FN CalcCone (Radius, Height, Side, Type )
Calculation = FN CalcCylinder (Radius, Height, Type )
XPos  = FN CenterTxt (Mytext$ )
BooleanFlag  = CheckDate (DateStr$  )
FN Chk1Item (MenuID, ItemID  )
Combos  = FN Combinations& (NumItems&, GroupSize&  )
Bool  = FN CommandDown
FullPath$  = FN ConvertWDRef$ (FileName$, WDRefNum )
Day  = FN Date2Day (DateStr$ )
MYDATE# = FN Date2Julian# (DateStr$ )
Month = FN Date2Month (DateStr$ )
Year = FN Date2Year (DateStr$ )
WeekDay$ = FN DayOfWeek$(DateStr$ )
DaysBTween = FN DaysBetweenDates (Date1$, Date2$  )
FN DefaultFldr (Vol  )
Degrees!   = FN DegreeCOS(Angle!  )
Degrees!   = FN DegreeSIN(Angle!  )
OBJ  = FN DeleteFromStack (IndexNum, ITEM  )
Bytes&  = FN DiskSpace&
FN DrawScale (Draw, Horz, Percent, Size )
DialogAct  = FN EditFldArrow (DialogAct  )
FN EncryptTxt(Key$, Encrypt  )
F# = FN Factorial (Number&  )
FN FormatWnd (WindowNum )
FN FrameButton (ButtonName$  )
BrushRegion&  = FN GetBrush
Var&= FN GetLong&(Handle&, Offset )
ResString$ = FN GetResString (ResID, StrNum )
Var% = FN GetWord(Handle&, Offset )
FN IndexAppend(IndexNum, StrToApnd$  )
MyDate$ = FN Julian2Date$ (Julian# )
FN Launch
FN LINEGRAPH (ArrayStart, TotalItems, T, L, B, R  )
MyDate$ = FN MDY2Date$ (Month, Day, Year )
ItemName$ = FN MenuItemName$ (MenuNum, ItemNum )
Bool  =  FN MouseInWnd (LocalY, LocalX, Wnd  )
Bool  = OptionDown
Word$  =  FN ParseWord$ (Source$, Sep$  )
PartPath$  = FN PathNameFromDirID$ (DirID&, WDRefNum )
FN PlaySound (SndName$  )
 OBJ  = FN PullStack (IndexNum )
FN PunchIcon (IconID, LeftPos, TopPos )
MyString$  = FN Purge$ (Subject$, Approved$  )
StackPtr   = FN PushStack (IndexNum, OBJ  )
OBJ  = FN ReadFromStack (IndexNum, ITEM  )
Repcount = FN ReplaceStr (Find$, Replace$, Arraystart, TotalItems  )
FN ScrollingHelp (RectPtr&, ResID, HelpBtn )
FN SelectionRect (RectPtr& )
Bool  = FN ShiftDown
FN Stats (ArrayStart, TotalItems )
Words  =  FN WordCount (Start, TotalStr, Sep$  )

All this and more Function Junction also comes with a “Special Font” which can be used for programming. The font contains slashed zeros and special border characters for putting borders around remarks. Several files are included on the disk which included charts and tips for using your Macintosh. Function Junction is a great addition to ZBasic!

By the way, Ariel Publishing also publishes a ZBasic newsletter called MacZ. Some subjects that have been covered include dealing with PICT resources, regions, Text Edit, PostScript, SysEnvirons, animation using icons, using the List Manager, managing large screens, and resource management. Subscriptions are 1 year for $35, 2 years for $65 (more for foreign). They also offer a disk quarterly containing all of the text and source code for that quarter. As with Function Junction, the routines could be developed by anyone, but it is far better to use what others have to offer than to re-invent the wheel.

Available from:

Ariel Publishing

P. O. Box 398

Pateros, WA. 98846

(509) 923-2249

Price: $79.95

Pyro 4.0

New for all the Pyromanics Pyro version 4.0. Is it the same old Pyro? The modular screen saver wars are here. Rather than comparing the features of After Dark and Pyro, I’ll mention a few things about Pyro and leave the decision to you. I’m reasonably sure that both products with be “leap-frogging” one another for awhile.

The modules: The original Pyro included only two modules, the clock and the original fireworks. The new Pyro includes these and several new modules. My favorite is the Aquarium (a showcase of multicolored fish) and a new fireworks module, called “Fireworks Too”. The modules can be selected or deselected from the control panel. Each time the screen goes to sleep, a different module comes up. That is, there are usually two modules initialized. If the screen is asleep and the Macintosh has activity which slows the animation of the primary module to an unacceptable level, the secondary module kicks in. This avoids the flicker that may occur when there is some activity.

The manual is the first of a kind: there is instructions for installing Pyro with System 7.0. The remainder of the manual describes how to use Pyro as a user. There is no printed instructions for developing Pyro Modules, but there is information and sample source code on the disk for developers (C and Pascal).

The source code included with Pyro includes a Pyro library of service routines for C and Pascal. These routines are documented in files included on the disk which you must print out to use. It would have been nicer to have the documentation printed up in the manual, but since most users are probably not programmers the extra printing would have been a waste. The documentation is absolutely necessary to write your own module.

For Mac Plus or SE users Pyro will also display a screen saver upon shut down which immediately turns on to hide the “safe to switch off” message. This is a nice touch.

If you are already a Pyro owner then you should certainly upgrade. It’s definitely worth the $15 for the upgrade. If you don’t own a screen saver, then get one. After Dark and Pyro both provide a excellent way to keep your screen from permanent “burn-in”. I like some features about both After Dark and Pyro. I just wish I could have the best of both. The rumor has it that there might be an After Dark module to run Pyro modules???

Pyro is available from:

Fifth Generation Systems

10049 N. Reigal

Baton Rouge, LA. 70809

(800) 873-4384

Price: $39.95, upgrades $15

 
MacTech Only Search:
Community Search:

 
 
 

 
 
 
 
 
  • SPREAD THE WORD:
  • Slashdot
  • Digg
  • Del.icio.us
  • Reddit
  • Newsvine
  • Generate a short URL for this page:



MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797
MacTech is a registered trademark of Xplain Corporation. Xplain, "The journal of Apple technology", Apple Expo, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, Apple Expo, MacTech Central, MacTech Domains, MacNews, MacForge, and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.
 
Nov. 20: Take Control of Syncing Data in Sow Leopard' released
Nov. 19: Cocktail 4.5 (Leopard Edition) released
Nov. 19: macProVideo offers new Cubase tutorials
Nov. 18: S Stardom anounces Safe Capsule, a companion piece for Apple's
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live