Tired of checking for new tutorials, tips, links and downloads? Subscribe to the Rev-Updates RSS feed and get updates whenever new content appears on this page!

Tips and Tricks
Tips and Tricks
The following tips and tricks were culled from personal experience and from the MetaCard/Revolution community. Known bugs and workarounds ("bug tips") are noted with the bug icon (Bug Tip), and new additions are noted with the "check this out" icon (New Tip):
Jump to Section:
AppleScript Mac OS 9 Mac OS X Windows Linux
ascr001 - Activating QuicKeys from AppleScript Mac Only Mac OS X
ascr002 - Avoiding the “Please locate...” Dialog Box For Locating an App Mac Only Mac OS X
ascr003 - Calling AppleScript Functions From an AppleScript File Mac Only Mac OS X
ascr004 - Emulating "Send to Program" Mac Only Mac OS X
ascr005 - Helpful Hints On Executing AppleScript Mac Only Mac OS X
ascr006 - Creating a Custom AppleScript Dictionary For a Revolution Application Mac Only Mac OS X
Arrays
arry001 - Understanding Arrays Mac OS 9 Mac OS X Windows Linux
arry002 - Creating 'Union', 'Intersection', 'Difference', and 'Complement' Arrays Mac OS 9 Mac OS X Windows Linux
Audio
aud001 - Playing Multiple Sounds In a Row Mac OS 9 Mac OS X Windows Linux
aud002 - Sound Recording Suggestions Mac OS 9 Mac OS X Windows Linux
aud003 - Bug Tip Workaround for Audio Chopped Off When Switching 'filename' of Player Mac OS 9 Mac OS X Windows Linux
aud004 - Workaround for Sound Drop-Out in OS X Mac OS X
aud005 - Reading ID3v1 Tags From MP3s Mac OS 9 Mac OS X Windows Linux
aud006 - Creating Audio 'Tooltips' Mac OS 9 Mac OS X Windows Linux
Button Tricks
btn001 - Getting the 'FormattedWidth' of a Tab Button Mac OS 9 Mac OS X Windows Linux
btn002 - Making "Outlook-Style" Buttons Mac OS 9 Mac OS X Windows Linux
CGI
cgi001 - Setting up MC/Rev as a CGI in Linux Linux
Clipboard
clip001 - How to Empty the Clipboard Mac OS 9 Mac OS X Windows Linux
Custom Properties
prop001 - Using 'setProps' With a Custom Property Set Mac OS 9 Mac OS X Windows Linux
prop002 - Setting Custom Properties From Within One (Revised!) Mac OS 9 Mac OS X Windows Linux
prop003 - Viewing Data in Custom Property Sets Mac OS 9 Mac OS X Windows Linux
prop004 - Retrieving the Keys of a Custom Property Set Mac OS 9 Mac OS X Windows Linux
prop005 - New Tip Moving Arrays Into and Out of Custom Property Sets Mac OS 9 Mac OS X Windows Linux
Databases
data001 - How To Connect To a Valentina Database Mac OS 9 Mac OS X Windows
data002 - How To Connect to a mySQL Database Mac OS X
data003 - Valentina "Gotchas" Mac OS 9
data004 - Overcoming mySQL Connection Problems Mac OS 9 Mac OS X Windows Linux
data005 - Handy Handlers for mySQL Mac OS 9 Mac OS X Windows Linux
Deployment
dply001 - Building a Time Limited Demo Mac OS 9 Mac OS X Windows Linux
dply002 - Creating Custom Icons for Your Standalones and Stacks Mac OS 9 Mac OS X Windows
dply003 - (Nearly) Unbreakable Keyfile Encryption Mac OS 9 Mac OS X Windows Linux
dply004 - Credit Card Processing With Revolution Mac OS 9 Mac OS X Windows Linux
Disk Information
disk001 - Retrieving the Volume Serial Number Windows
disk002 - Determining if an Application is Running From a Local or Network Drive Mac OS 9 Mac OS X
disk003 - How to Eject All Removable Disks Mac OS 9 Mac OS X
disk004 - Getting the Name of the Boot Volume Mac OS 9 Mac OS X Windows
disk005 - Checking To See if a Drive is Empty (Revised!) Windows
disk006 - Creating a Hybrid CD Mac OS X
Environment
env001 - Getting the MAC Address Mac OS 9 Mac OS X Windows Linux
env002 - Memory Usage in MetaCard/Revolution Mac OS 9
env003 - What is the 'systemVersion' for Different Flavors of Windows? Windows
env004 - Shutting Down/Restarting Windows Windows
env005 - Determing if Your Stack is Running under Intel/Rosetta Mac OS X
env006 - Installing SheepShaver Mac OS X
env007 - Vista "Gotchas" You Should Know About Vista
Externals/DLLs
ext001 - Supported HyperCard Callbacks for XCMDs/XFCNs Mac OS 9
ext002 - Using Non-Rev DLLs With Revolution Mac OS 9
ext003 - Loading Externals the Easy Way Mac OS 9 Mac OS X Windows Linux
Field Tricks
fld001 - Highlighting Text on MouseOver Mac OS 9 Mac OS X Windows Linux
fld002 - List Fields: Workaround for Disabled Scrollbars Mac OS 9 Mac OS X Windows Linux
fld003 - List Fields: Scrolling to a Line on Keypress Mac OS 9 Mac OS X Windows Linux
fld004 - Bug Tip Scrolling Fields in RealPC Have Redraw Issues Mac OS 9 Mac OS X
fld005 - Truncating Styled Text in Columnar List Fields Mac OS 9 Mac OS X Windows Linux
fld006 - Type-to-Match in a List Field Mac OS 9 Mac OS X Windows Linux
fld007 - Making a Numbers-Only Field Mac OS 9 Mac OS X Windows Linux
fld008 - Making Password Field Showing Images Instead of Bullets Mac OS 9 Mac OS X Windows Linux
fld009 - Unlimited Undos For Text Fields Mac OS 9 Mac OS X Windows Linux
File/Folder Manipulation
file001 - Launching Acrobat Viewer Mac OS 9 Mac OS X Windows
file002 - Getting a List of Visible Files Mac OS X
file003 - Setting Directories With Spaces in the Path Mac OS X
file004 - Setting Document Associations in Windows Windows
file005 - Setting Document Associations in OS X Mac OS X
file006 - How 'the filename' Works With Stacks and Standalones Mac OS X
file007 - Providing a Complete Hierarchical File Listing (Directory Walking) Mac OS 9 Mac OS X Windows Linux
file008 - Get the Directory of the Main Stack with AppPath() Function Mac OS 9 Mac OS X Windows Linux
file009 - Opening a Folder on the Desktop Mac OS 9 Mac OS X Windows
file010 - 'specialFolderPath' Codes Mac OS 9 Mac OS X Windows
file011 - Changing a File’s Visibility Mac OS 9 Mac OS X
file012 - Viewing PDF Files Mac OS X
file013 - Moving Files To The Trash Mac OS X
Graphics/Images
imag001 - Getting the Original Height and Width of an Image Mac OS 9 Mac OS X Windows Linux
imag002 - Rotating an Image to Follow the Mouse Mac OS 9 Mac OS X Windows Linux
imag003 - Understanding ImageData, MaskData and AlphaData Mac OS 9 Mac OS X Windows Linux
imag004 - Making a Single Color Transparent Using MaskData Mac OS 9 Mac OS X Windows Linux
imag005 - Making an Image Translucent Using AlphaData Mac OS 9 Mac OS X Windows Linux
imag006 - Reading the Width and Height of a JPEG File Mac OS 9 Mac OS X Windows Linux
imag007 - How to Export a Card Image (Not a Screenshot!) Mac OS 9 Mac OS X Windows Linux
imag008 - Hide Animated GIFs to Improve Performance Mac OS 9 Mac OS X Windows Linux
imag009 - Creating Custom Image Masks Programmatically Mac OS 9 Mac OS X Windows Linux
imag010 - How to Make a Pie Chart Mac OS 9 Mac OS X Windows Linux
Inter-Application Communication
iac001 - Communicating With Microsoft Excel from Revolution (Revised!) Mac OS 9 Mac OS X Windows
iac002 - Communicating With Microsoft Outlook from Revolution Windows
Internet/Sockets
inet001 - Use of 'shell' to Launch a URL in Windows Windows
inet002 - Setting the User-Agent in Web Communications Mac OS 9 Mac OS X Windows Linux
inet003 - Use of 'Open Location' To Open Email/Web URLs Mac OS 9 Mac OS X
inet004 - Creating a Directory on an FTP Server Mac OS 9 Mac OS X Windows Linux
inet005 - Launching a local HTML File Mac OS 9 Mac OS X
inet006 - Setting Environment Variables With httpHeaders Mac OS 9 Mac OS X Windows Linux
inet007 - Getting a Directory Listing From an FTP Server Mac OS 9 Mac OS X Windows Linux
Keyboard
keys001 - Trapping F13 through F15 Mac OS 9
Languages/Localizing
lang001 - Things To Be Aware of When Developing For Multiple Languages Mac OS 9 Mac OS X Windows Linux
lang002 - Getting Language Settings Windows
lang003 - Determining the Active OS Language Mac OS X Windows
Linux
lin001 - Things to Be Aware of When Developing For Linux Linux
lin001 - Getting Themes Working in Revolution Linux
Menus
menu001 - Trapping the Quit <application> Menu Item Mac OS X
menu002 - Unicode/Localized Menus in OS X Mac OS X
menu003 - How to Add Menus Without the Stack Resizing Mac OS 9 Mac OS X Windows Linux
menu004 - Creating Context Menus For Selected Text in a Field Mac OS 9 Mac OS X Windows Linux
Mouse
mous001 - Polling the Mouse (vs. 'repeat until the mouse is...') — Offsite Link Mac OS 9 Mac OS X Windows Linux
mous002 - Handling Drag-and-Drop From Outside Revolution Mac OS 9 Mac OS X Windows Linux
mous003 - Getting the 'ClickWord' Mac OS 9 Mac OS X Windows Linux
mous004 - Tracking the Mouse Loc While Another App is Frontmost Mac OS 9 Mac OS X Windows Linux
Ports/Modem
port001 - Dialing a Phone Number With the modem: Port Mac OS 9 Mac OS X Windows Linux
Process Management
proc001 - Making an App Come to the Foreground Mac OS 9 Mac OS X Windows
proc002 - Getting a List of Running Applications Mac OS 9 Mac OS X Windows
proc003 - Hiding a Process (Making a Backgrounded App) Mac OS X
proc004 - Determining Whether an Application Process is Hidden Mac OS 9 Mac OS X Windows
proc005 - Understanding Processes Mac OS 9 Mac OS X Windows
proc006 - Turning Your Standalone Into a Windows Service Windows
proc007 - New Tip Making Your Own App Come To the Foreground Mac OS 9 Mac OS X
QuickTime
qtim001 - Determining if a Movie is Playing Mac OS 9 Mac OS X Windows Linux
qtim002 - Preloading QuickTime to Eliminate Startup Delay Mac OS 9 Mac OS X Windows Linux
Revolution Functions
rev001 - Using revGoURL to Make a mailto: Link Mac OS 9 Mac OS X Windows Linux
Scripting Tricks
scrp001 - Calling Functions in Other Objects Mac OS 9 Mac OS X Windows Linux
scrp002 - Finding Out When a User Finishes Resizing a Stack (Revised!) Windows
scrp003 - The Beauty of "Pass By Reference" Mac OS 9 Mac OS X Windows Linux
scrp004 - Using Sort to Rearrange the Contents of Each Line in a List Mac OS 9 Mac OS X Windows Linux
scrp005 - Increasing Script Performance, Part I Mac OS 9 Mac OS X Windows Linux
scrp006 - Increasing Script Performance, Part II Mac OS 9 Mac OS X Windows Linux
scrp007 - Increasing Script Performance, Part III Mac OS 9 Mac OS X Windows Linux
scrp008 - Making Modal (but non-blocking) Progress Dialogs Mac OS 9 Mac OS X Windows Linux
scrp009 - Using MouseUp Instead Of MenuPick Mac OS 9 Mac OS X Windows Linux
scrp010 - Setting the Location of the Ask/Answer Dialogs Mac OS 9 Mac OS X Windows Linux
scrp011 - Selecting After the Text of an Ask Dialog Mac OS 9 Mac OS X Windows Linux
Command Line/Shell Info
shel001 - How To Do 'shell' Functions in OS X Mac OS X
shel002 - Using the 'start' Shell Command Windows
Stack Construction
stk001 - Creating and Maintaining Data Storage Stacks Mac OS 9 Mac OS X Windows Linux
stk002 - Popup Stacks: How to Handle Them Mac OS 9 Mac OS X Windows Linux
stk003 - Relayering a Grouped Control to the Top of Its Group Mac OS 9 Mac OS X Windows Linux
String Manipulation
str001 - Custom Sorting — The Easy Way Mac OS 9 Mac OS X Windows Linux
str002 - Displaying Ellipses For Long Button Labels Mac OS 9 Mac OS X Windows Linux
str003 - Deleting Empty Lines From a Container Mac OS 9 Mac OS X Windows Linux
Windows
win001 - Setting Binary Data in the Registry Windows
win002 - Using Rundll32 For Administrative Functions Windows
win003 - Bug Tip Getting the Right Background Pattern in Windows XP Windows
XML
xml001 - Retrieving Bundle Data From an Application's Info.plist File Mac OS X