TweetFollow Us on Twitter

ScriptTips II
Volume Number:5
Issue Number:1
Column Tag:HyperChat™

ScriptTips II

By Fred Stauder, HyperChat Editor, Zurich, Switzerland

on HyperChat

-- HyperEditorial

At Macworld in San Fransisco, I will be presenting the First Annual HyperChat Award. It will be judged in all areas and will be an award of excellence for a certain contribution to the overall Hypercard base. It will cover both Commercial and Non-Commercial products. So we hope to see you all at MacWorld.

-- Script Tips

This month I bring you couple of interesting script tips.

The first occurred to me when I was typing in the message box and I wished I could quickly type in an alias. The script first checks to see if procedure or function has the chosen name, this is done with the offset function.

If it exists it pops up alert and exits the routine.

Next I check to see if the routine to be aliased has parameters. This is done with the paramCount function. Then I put the script of the home stack, where alias is located, into a temp container and put the alias script after it. The last thing I do is to write the modified script back to the home stack.

-------------- Alias --------------
on alias New,Old,Param1,Param2,Param3,Param4,as many as you want
  if  offset(“on” && New,the script of me) >0
  then
    answer “It already exists”
    exit alias
  end if
  put the script of me into temp
  if the paramCount >2
  then
    repeat with x=3 to the ParamCount
      if x  the ParamCount
      then put param(x) & “,” after Pms
      else put param(x) after Pms
    end repeat
  else
    put empty into pms
  end if
  put “on” && New &&pms & return & Old &&pms & Return¬
  & “end” && New & return after temp
  set the script of me to temp
end alias
------All rights reserved Fred Stauder 1988------

The second Script tip is a popup menu field.

I here you groaning not another popup. Yes it is another popup but not an ordinary one. Firstly it is all in Hypertalk it is fast and you can do search’s of the fields unlike with an XCMD popup.

Here is how it works.

You have a locked field which you have put in the menu items. You set the size, justification, font etc. Note you must leave the top line blank i.e. a carriage return in it, I will explain why later. When the mouse is pressed on the field the field expands downwards and deletes line 1. You get what looks like the right side of fig. 1. You do the selection with the mouse, I will go into detail later, and when you release the mouse the selection gets copied before line 1. The reason I chose to do it this way is simple if you want to retain the order of your menu (which is important from a human interface guideline point of view) you have to store the selection in line one because that is the one displayed. I thought of storing what two lines were swapped and restoring them but it was too complicated.

So after the selection is copied into line 1 the rect of the field collapses again.

In the selection process I work out the line number by textheight and number of lines. This tells me what line I am on so all I have to do is say “select line x” right? Wrong. You can do that with right justification and it is just bearable, the selection doesn’t go quite to the edge of the field. With left or center justification the selection (hilite) stops at the end of the word. Annoying. I tried a number of approaches including pre calculating the character numbers for the selection. It was much too slow. So what I finally did is use the offset of the line to get the char number from the end of the line before to the line after. I encountered an error when I tried to get the offset of more lines than I had I got zero and offset reports the error. Not good enough. So I had to selectthe line in a different way. I did it the normal way because the last line always selects all the line not just the word on the line.

Once I have the selection I can do a number of things with them such as if the first line of the card field is .. the do this or that.

What can you do with this? Well as I have mentioned in a previous tip when you search for text it is faster than searching for a name of attribute of an object. So it is ideal for say preferences on an inventory program.

----PopupMenu Field--------------
on mousedown
  --Setup--
  put the rect of me into RectOfMeTemp
  put the topleft of me into MyTopLeft
  
  lock screen
  delete line 1 of me
  put the textheight of me into txtHt
  put number of lines of me into NumLines
  set Height of me to txtHt*NumLines+2
  set the topleft of me to MyTopLeft
  unlock screen
  
  -- This Routine does the Selection --
  ------------------------------------
  repeat until the mouse is up
    put trunc((the mouseV - top of me)/txtHt)+1 into sel
    if sel = numlines
    then
      select line sel of me
    else
      --check to see if mouse is in menu
      if the mouseloc is not within the rect of me
      then
        select empty
        exit repeat
      end if
      select char offset(line sel of me,me) to¬
      (offset(line sel+1 of me,me)-1) of me
    end if
  end repeat
  lock screen
  if the selection is not empty
  then
    if the selection is “one” then beep
    if last char of the selection is return
    then put the selection before line 1 of me
    else put the selection & return before line 1 of me
  else
    put return before line 1 of me
  end if
  
  set the rect of me to RectOfMeTemp
  unlock screen
  
  --This routine handles the Menu Items--
  --------------------------------------
  if line 1 of me is “one” then beep
  else if line 1 of me is “two” then flash(2)
  else if line 1 of me is “three” then beep 3
  ---- etc
  ---- etc
  --------------------------------------
  ---- or you can do it this way ------
  
  --do line 1 of me
  --------------------------------------
end mousedown


on five
  beep 5
end five
------All rights reserved Fred Stauder 1988------
--end HyperChat

 
AAPL
$97.67
Apple Inc.
+0.64
MSFT
$44.50
Microsoft Corpora
+0.10
GOOG
$589.02
Google Inc.
-4.33

MacTech Search:
Community Search:

Software Updates via MacUpdate

Vienna 3.0.0 RC 2 :be5265e: - RSS and At...
Vienna is a freeware and Open-Source RSS/Atom newsreader with article storage and management via a SQLite database, written in Objective-C and Cocoa, for the OS X operating system. It provides... Read more
VLC Media Player 2.1.5 - Popular multime...
VLC Media Player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, MP3, OGG, ...) as well as DVDs, VCDs, and various streaming protocols. It... Read more
Default Folder X 4.6.7 - Enhances Open a...
Default Folder X attaches a toolbar to the right side of the Open and Save dialogs in any OS X-native application. The toolbar gives you fast access to various folders and commands. You just click... Read more
TinkerTool 5.3 - Expanded preference set...
TinkerTool is an application that gives you access to additional preference settings Apple has built into Mac OS X. This allows to activate hidden features in the operating system and in some of the... Read more
Audio Hijack Pro 2.11.0 - Record and enh...
Audio Hijack Pro drastically changes the way you use audio on your computer, giving you the freedom to listen to audio when you want and how you want. Record and enhance any audio with Audio Hijack... Read more
Intermission 1.1.1 - Pause and rewind li...
Intermission allows you to pause and rewind live audio from any application on your Mac. Intermission will buffer up to 3 hours of audio, allowing users to skip through any assortment of audio... Read more
Autopano Giga 3.6 - Stitch multiple imag...
Autopano Giga allows you to stitch 2, 20, or 2,000 images. Version 3.0 integrates impressive new features that will definitely make you adopt Autopano Pro or Autopano Giga: Choose between 9... Read more
Airfoil 4.8.7 - Send audio from any app...
Airfoil allows you to send any audio to AirPort Express units, Apple TVs, and even other Macs and PCs, all in sync! It's your audio - everywhere. With Airfoil you can take audio from any... Read more
Microsoft Remote Desktop 8.0.8 - Connect...
With Microsoft Remote Desktop, you can connect to a remote PC and your work resources from almost anywhere. Experience the power of Windows with RemoteFX in a Remote Desktop client designed to help... Read more
xACT 2.30 - Audio compression toolkit. (...
xACT stands for X Aaudio Compression Toolkit, an application that encodes and decodes FLAC, SHN, Monkey’s Audio, TTA, Wavpack, and Apple Lossless files. It also can encode these formats to MP3, AAC... Read more

Latest Forum Discussions

See All

This Week at 148Apps: July 21-25, 2014
Another Week of Expert App Reviews   At 148Apps, we help you sort through the great ocean of apps to find the ones we think you’ll like and the ones you’ll need. Our top picks become Editor’s Choice, our stamp of approval for apps with that little... | Read more »
Reddme for iPhone - The Reddit Client (...
Reddme for iPhone - The Reddit Client 1.0 Device: iOS iPhone Category: News Price: $.99, Version: 1.0 (iTunes) Description: Reddme for iPhone is an iOS 7-optimized Reddit client that offers a refreshing new way to experience Reddit... | Read more »
Jacob Jones and the Bigfoot Mystery : Ep...
Jacob Jones and the Bigfoot Mystery : Episode 2 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Jacob Jones is back in Episode 2 of one of Apples 'Best of 2013' games and an App Store... | Read more »
New Trailer For Outcast Odyssey, A New K...
New Trailer For Outcast Odyssey, A New Kind of Card Battler Posted by Jennifer Allen on July 25th, 2014 [ permalink ] Out this Fall is a new kind of card battle game: Outcast Odyssey. | Read more »
Hay Day – Tip, Tricks, Strategies, and C...
Recently got into Supercell’s other huge hit, Hay Day and could do with some advice on what to do? We’ve got you covered with some helpful trips and tricks to bear in mind! Ticking Along One of the key things to keep in mind while building up that... | Read more »
Monster Head Review
Monster Head Review By Nadia Oxford on July 25th, 2014 Our Rating: :: FEEDING TIMEUniversal App - Designed for iPhone and iPad Racking up a high score with Monster Head is trickier than it first appears. The appeal wears out fairly... | Read more »
Garfield: Survival of the Fattest Coming...
Garfield: Survival of the Fattest Coming to iOS this Fall Posted by Jennifer Allen on July 25th, 2014 [ permalink ] Who loves lasagna? Me. Also everyone’s favorite grumpy fat cat, Garfield. | Read more »
Happy Flock Review
Happy Flock Review By Andrew Fisher on July 25th, 2014 Our Rating: :: HERD IT ALL BEFOREUniversal App - Designed for iPhone and iPad Underneath the gloss of Happy Flock’s visuals is a game of very little substance. It’s cute, but... | Read more »
Square Register Updates Adds Offline Pay...
Square Register Updates Adds Offline Payments Posted by Ellis Spice on July 25th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Looking For Group – Hearthstone’s Curse...
For the first time since its release (which has thankfully been a much shorter window for iPad players than their PC counterparts), Blizzard’s wildly successful Hearthstone: Heroes of Warcraft CCG is sporting some brand new content: the single... | Read more »

Price Scanner via MacPrices.net

Record Mac Shipments In Q2/14 Confound Analys...
A Seeking Alpha Trefis commentary notes that Apple’s fiscal Q3 2014 results released July 22, beat market predictions on earnings, although revenues were slightly lower than anticipated. Apple’s Mac’... Read more
Intel To Launch Core M Silicon For Use In Not...
Digitimes’ Monica Chen and Joseph Tsai, report that Intel will launch 14nm-based Core M series processors specifically for use in fanless notebook/tablet 2-in-1 models in Q4 2014, with many models to... Read more
Apple’s 2014 Back to School promotion: $100 g...
 Apple’s 2014 Back to School promotion includes a free $100 App Store Gift Card with the purchase of any new Mac (Mac mini excluded), or a $50 Gift Card with the purchase of an iPad or iPhone,... Read more
iMacs on sale for $150 off MSRP, $250 off for...
Best Buy has iMacs on sale for up to $160 off MSRP for a limited time. Choose free home shipping or free instant local store pickup (if available). Prices are valid for online orders only, in-store... Read more
Mac minis on sale for $100 off MSRP, starting...
Best Buy has Mac minis on sale for $100 off MSRP. Choose free shipping or free instant local store pickup. Prices are for online orders only, in-store prices may vary: 2.5GHz Mac mini: $499.99 2.3GHz... Read more
Global Tablet Market Grows 11% in Q2/14 Notwi...
Worldwide tablet sales grew 11.0 percent year over year in the second quarter of 2014, with shipments reaching 49.3 million units according to preliminary data from the International Data Corporation... Read more
New iPhone 6 Models to Have Staggered Release...
Digitimes’ Cage Chao and Steve Shen report that according to unnamed sources in Apple’s upstream iPhone supply chain, the new 5.5-inch iPhone will be released several months later than the new 4.7-... Read more
New iOS App Helps People Feel Good About thei...
Mobile shoppers looking for big savings at their favorite stores can turn to the Goodshop app, a new iOS app with the latest coupons and deals at more than 5,000 online stores. In addition to being a... Read more
Save on 5th generation refurbished iPod touch...
The Apple Store has Apple Certified Refurbished 5th generation iPod touches available starting at $149. Apple’s one-year warranty is included with each model, and shipping is free. Many, but not all... Read more
What Should Apple’s Next MacBook Priority Be;...
Stabley Times’ Phil Moore says that after expanding its iMac lineup with a new low end model, Apple’s next Mac hardware decision will be how it wants to approach expanding its MacBook lineup as well... Read more

Jobs Board

*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
WW Sales Program Manager, *Apple* Online St...
**Job Summary** Imagine what you could do here. At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring Read more
Lead Software Engineer, *Apple* Online Stor...
**Job Summary** Imagine what you could do here. At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring Read more
Manager, *Apple* Fullfillment Operation (AF...
…cross-functional teams to drive the highest level of program management quality for Apple . You will help plan launch strategy and demand generation programs with Read more
Project Manager / Business Analyst, WW *Appl...
…a senior project manager / business analyst to work within our Worldwide Apple Fulfillment Operations and the Business Process Re-engineering team. This role will work Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.