Software

Projects and Externals for SuperCard

The software on this page is made using SuperCard by Solutions Etcetera, an easy-to-use software development tool similar to the venerable HyperCard for Mac. Its intuitive scripting language is based on English words and is simple to learn. It also has a host of powerful modern features. Additional capabilites can be added to SC with plug-ins called ‘externals’.

You can download my example projects listed below and explore them on your Mac with SuperCard (trial available). Also listed are externals which add extra functionality to SuperCard, in example projects which show how they work. The externals can be transferred into your own projects using the Resource Manager utility in SC. Most of them require SC 4.6 or higher.

Made with SuperCard

SQLite

This is an updated version of Tomas Franzén’s external that allows control of SQLite databases. It is a universal binary and supports SC 4.6.

FSIterator

This can generate and save a catalogue of the contents of a folder, several folders or a hard disk into an SQLite database. It is designed for SuperCard 4.7. It can be set to ignore invisible files. Data returned includes file name, file extension (separate from file name if required), Finder label, modfied date, created date, size, type, creator, path (POSIX and HFS), whether item is inside a package, and whether an item is a file, folder, package, alias to file or alias to directory. Card messages are sent to SuperCard during indexing so you can update a progress bar.

Address Book Items

This contains a bundle external which can search your Mac OS X Address Book. Name, birthday, email addresses, addresses and numbers are returned. There are various search and filtering options. The external can also list records of a specified type, or list all records from the Address Book. The project explains how to extract the different elements you need from the data returned. Universal 4.6 external also included.

Spelling Checker Externals

These are universal externals for SC 4.6. One returns all the locations and lengths of misspelt words in a string, the other provides a list of guesses for a misspelt word.

Icon For File To Picture Data

Universal External for SC 4.6, requiring Mac OS 10.5 or higher. This takes a path to a file or folder and fetches its icon. It scales it smoothly to the desired pixel size, using the best representation for the icon size you want. You can then set the pictureData of a graphic to the returned icon image.

Path Conversion Externals

SC likes file names in paths to be truncated after 31 characters and have a special code number at the end of the file name. If you want a path with the full names of all your files, the FullNamesPath external can convert the speical SC style path to this. The FSSpecHFSPath external does the opposite, and can take a path from Mac OS X with long file names and convert all these into the truncated versions which SC commands will like.

Repeating Date

This external finds a repeating date. You give it an event start date, and how often the event repeats, e.g. once weekly or every eight days, and a test date. It can then find the nearest repeat to the test date, either before or after the test date.

Scale and Insert Image in Field

Universal External for SC 4.6. Takes an image file, scales it to a specified size, and inserts it into a field.

CLUT Browser

This contains a bundle external which can draw a colour palette into an SC draw graphic when given a list of colour values. A colour palette containing a CLUT table can be displayed using the CLUTs external, or you can make a custom colour palette by specifying a list of RGB colour values. You can specify the number of columns you want the palette to have, and the size of the swatches. This allows you to draw large or small palettes, tall narrow ones, wide short ones, square ones, basically any rectangular shape you want to fit your interface. If a single swatch is specfied, the external can draw a flat area of any colour.

PixelColor External

This external was created by Mark Lucas and updated by Chilton Webb. It can read the colour value of any pixel on screen at the mouse pointer location, and return it in RGB, hexadecimal or Web-safe hexadecimal. It can also return the closest colour in the CLUT table to the one picked off the screen. This external is now universal binary and supports SC 4.6 and higher.

Circular Dial Project

Circular dial gadgets are great but tricky to make. This one returns the degrees into a field should that information be needed. There is an explanation of the simple trigonometry used with diagrams.Now includes drawing of stars and polygons.

Drawing Program Test

This is a testbed for a vector drawing program with transfrom palette and colour mixer. It is also an experiment in building an ideal graphics package interface, with palettes that slide away at the touch of a button.

Guides Snapper

This project contains code that creates automatic guides that allow you to align an object selected with the pointer tool to other objects in the window, as you drag or resize the object. If you have used Interface Builder you will find the system similar. Thanks to Dave Saunders and Lorenz Tschudi.

Perl Matcher

This lets you search a piece of text using any Perl regular expression. The search will find each instance of a match in the text and return its length and the position of the rightmost character of each match in the text. The code used is explained.

Time Between Dates

A project which calculates the number of years, months and days between two given dates. Contains some useful date calculation functions.

Notifications with Growl

Allows your SuperCard projects to send notifications with Growl.

DirX

Lists directory information, includes long Mac OS X style names for files.

Fake List

An experiment for faking a list with alternating bars of background colour like in iTunes.

Alpha Gradients

This test project alters the picturedata of a graphic, creating a gradient of transparency in the image. It is a bit slow at the moment, but it works.

Drag Shuffler

Drag around an item and see others move out of the way and make a place for it.

Spelling Tester

Originally this was an A-Level project made with AMOS Pro on an Amiga. It was more fully-featured and there was a separate program for teachers to keep track of their pupils’ progress with tests. I ported the tester to HyperCard and gave it a radical crazy interface- not quite as nice and clear as the original! One day I might implement it properly, but until then, play about with this version which is working OK in SuperCard but still looks like a HyperCard stack. It will show you how you’ve misspelt a word if you make a mistake, for instance, where you have left out a letter.