Function Jct, Pyro
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. Its a great way to save some time in your software development. Function Junction is reasonably priced at $79.95. Unless you dont 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 arent 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, Ill mention a few things about Pyro and leave the decision to you. Im 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. Its definitely worth the $15 for the upgrade. If you dont 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