TweetFollow Us on Twitter

Dialoger
Volume Number:5
Issue Number:11
Column Tag:Kelly's Corner

Dialoger™ Helps HyperCard

By Dave Kelly, MacTutor Editorial Board

A dialog with HyperCard

Are you getting tired of only being able to create dialogs with only 3 possible replies. HyperTalk supplies the “Answer” statement which displays a dialog box containing a prompt and one, two, or three buttons. The “Ask” statement displays a dialog box containing a question and an edit box for the user to type a response. For very simple responses these statements may be good enough, but what do you do if you want a more complex dialog?

You could write your own XCMD or XFCN to display a custom dialog that you could create with ResEdit, but why re-invent the wheel? Introducing Dialoger™ from theResult Software Inc. At the heart of Dialoger™ is a set of XCMDs and XFCNs which provide versatility and flexibility. Dialoger™ is a productivity tool. The Dialoger™ package consists of four stacks, 3 of which provide help and examples.

The Dialog Maker stack is the tool provided to create dialogs which can then be exported to any stack along with a button with a script to call the dialog. This stack provides a tool palette which lets you create the custom dialog on a HyperCard card. The tools let you create the items used by the dialog. The limitation here is that even though you can create as many items as you have room for, you may only manipulate (or modify) items 3-16 from your HyperCard script. A bit of planning and this won’t be too much of an inconvenience.

The Push Button Tool lets you create a new push button. The limitation here is that the first item of any dialog should always be an ‘OK’ push button and the second item should be a ‘Cancel’ push button. If you don’t want an ‘OK’ or ‘Cancel’, you can define the size to zero and make the item virtually invisible. Since you can only manipulate items 3-16, it is recommended that the first two items be defined as ‘OK’ and ‘Cancel’.

The Radio Button and Checkbox Tools allow you to create radio and Checkbox controls for the dialog. Radio buttons may be grouped together such that only one button may be selected at a time by ordering the buttons next to each other in the item list. You can re-order the item list by clicking the create button.

The editable text and static text tools are for providing text in the dialog. User text placeholders (such as ^0, ^1, ^2, and ^3) may be used to replace text when the dialog is called (in your script) or text items may be editable or static. The usertext tool is an alternative to the static text. It is not restricted to begin in the default font; any font and size may be specified.

The icon and picture tools allow you to use icons or pictures in your dialog. When you click on these tools, a list of ICONs or PICTs from the current stack are shown. An open button allows you to open another stack to use ICON or PICTs from there. ICONs or PICTs from other applications or files need to be moved to a stack using ResEdit or ResCopy (which comes with Dialoger™).

The box tool is used to create boxes which you can have direct control over how the box will be displayed (such as pen pattern, fill pattern, etc.) from your script. However, you will not have control until the dialog is created and the box item must still be between item 3 and 16 to be able to set the patterns, etc.

The Popup Tool creates a new Popup menu item for your dialog box. The menu items are included in the button script when you export the dialog to your stack.

The List tool is used to create list items.

Buttons are also available to create ICON, PICT and SICN (small icons) from any part of the HyperCard window.

‘Import’ button will import existing dialogs into HyperCard for editing. ‘Create’ will create DLOG and DITL resources from the HyperCard card. Before creating the dialog you may re-order the items to the order you want them to appear. You may also specify the type of dialog that you want to create. The ‘Show’ button will give you a quick preview of what the dialog will look like. This gives you a chance to see what needs to be modified in the dialog before actually exporting to your stack. The ‘Export’ button allows you to install your dialog and pre-defined button script into your stack. You may also export the Dialoger XCMDs and associated XFCNs into your stack.

Dialoger™ Scripts

The Dialog Maker stack creates the dialog and a script which you can build upon to link your stack and dialog(s) together. The Dialoger XCMD is call with a HyperTalk ‘Put’ or ‘Get’ statement:

  put Dialoger(“Example”& return & “on exampleHit”¬
  ,”” ¬ --Placeholder replacement text
  , “”¬ --Radio Button “Deep Dish”
  , “”¬ --Radio Button “Thin’n Crispy”
  , “”¬ --Checkbox “Home Delivery”
  , “”¬ --Icon “20086”
  , “”¬ --Button “Motto ”
  , “userBox Black,None,Copy”& CR &” Style “¬ --Box (Black pen, None 
fill)  “ Style “
  , “userText New York,18,White”& CR &”Peter’s Pizza Palace<B<U”¬ --Text 
“Peter’s Pizza Palace”
  , “userList Geneva,12”  & CR & List1¬ --List “Anchovies”
  , “”¬ --Editable Text “”
  , “”¬ --Static Text “Name:”
  , “userPop”  & CR & PopUp1¬ --PopUp “Small”
  , “”¬ --Static Text “Size:”
  , “”¬ --Static Text “Toppings”
  , “userBox Gray,None,Copy”¬ --Box (Gray pen, None fill)
  ) into dResult
  
  -- Beyond Limit: , “”¬ --Card Picture

Each parameter of the function corresponds to each item in the dialog. Parameters 3-16 may be modified when the dialog is called, any others are beyond the limits of the function. The status of each item in the dialog is returned by the function and (in this case) placed into the variable dResult. Each line of dResult corresponds to the status of each item in the dialog at the time it was closed. dResult might look like this:

OK

true
false
true




3,4,5,6,7
Dave

Small

The ‘OK’ above indicated that item one of the dialog was selected. Item 2 was not selected. Item 3 was true, 4 was false, 5 was true. The list item (item 10) had items 3,4,5,6, and 7 selected. Item 11 was the editable text field; Dave was returned. The Popup menu item ‘Small’ was selected in item 13.

Since the scripts are pre-defined by the Dialog Maker stack, implementing the dialogs is a breeze. The dialogs may be customized even more and controlled by a script handler even when the dialog is still active. The “on exampleHit” statement in the dialoger function will generate a HyperCard message “exampleHit” which may be handled as desired even when the dialog is still active.

Additional commands are available to give even more flexibility to the dialogs. For example, you can use the ‘ResIDList’ or ‘ResNameList’ to get all the names or IDs of a specified resource type. This would be useful to get the names of all fonts to put in a menu or a list. The weakest aspect of Dialoger™ is the manual. theResult Software has recognized that this is a weak point and will eventually update the manual. An experienced program will still have no trouble figuring out how things work, but still may have to dig a little to find out what each function/command does. There is a help stack which gives an overall tutorial of Dialoger™ and a Commands stack which gives syntax and a description of some of the XFCNs which may be used in conjunction with the dChanger, and dialoger XFCNs. Not all functions are listed anywhere in the Dialoger package, though may be useful to you. The following XCMDs and XFCNs are found in the Dialoger package:

XCMDs:

CloseResFork: (example: closeResFork(fNum)

CoSortInt: (Don’t know what this does)

dChanger: this function is used to change items in a dialog.

DisplayPict: assumed that this displays PICTs

GetPicture: assumed that his gets PICTs

ResCopyQuick: (example: resCopyQuick fromFile,toFile,”PICT”,(short name of obj) )

SetCursor2: sets cursors

XFCN’s:

AfterChar: (example: put AfterChar(quote, strName) into var ) this will put all characters after the specified character into the variable.

BeforeChar: (example: put BeforeChar(quote, strName) into var )this will put all characters before the specified character into the variable.

ChangeStr: (Don’t know what this does)

dActivate: (example: get dActivate() ) used to activate modeless dialogs

dBreaker: (Don’t know what this does).

dBubble: (example: get dialoger(dBubble() & return & “dismiss”) according to the manual, this is used in the closeStack script for modeless dialogs to help determine which dialogs are still open so they can be dismissed.

dContents: (example: put dContents(dialog) into dIntermResult) gets the contents of the dialog at any one moment.

Dialoger: (see example above) displays dialogs and returns the contents of the dialog when dialog is dismissed.

dMaker: (example: get dMaker(dInfo, iTypes, iRects, iTexts, getsHits)

Dragger: Don’t know what this does.

FileName: (example: get fileName(“STAK”, “Select stack to install dialog in:”) ) uses standard get file dialog to get a file name.

FontHeight : (Example: put fontHeight(( textfont of obj), (textSize of obj)) into fH ) gets font height

FontName: gets font name

iMaker: create icons out of any part of the card (example: iMaker(“”,it) ) uses it as the icon’s name.

NewFileName: (example: get newfilename (“Report Name:”) get a new file name using standard get file dialog and use the parameter as the default.

OpenResFork: put openResFork(fName) into fNum

PictRect :(example: get pictRect(rID)

put item 4 of it - item 2 of it into dH

put item 3 of it - item 1 of it into dV ) get the coordinates of a PICT rectangle

pMaker: creates a PICT out of any part of the card (example: pMaker(“”,it) ) uses it as the PICT’s name.

ResIDList: (example: get resIDList(fName,rType) gets IDs from file name fName which have resource type rType.

ResNameList: similar to ResIDList, but gets resource names instead of IDs.

ResSortedList: sorts resource list.

rInfo: Don’t know how this works

sMaker: creates small icons out of any part of the card (example: sMaker(“”,it) ) uses it as the small icon’s name.

StringWidth: (example: put stringWidth(short name of obj,”chicago”,12) into oldPixLen ) gets a portion of a string.

StripItem: Don’t know how this works

TestBed: Don’t know how this works

UnScrunch: Don’t know how this works

Dialoger™ is in fact an ingenious productivity tool which should help you in all your stack development efforts. I recommend it for anyone who uses HyperTalk. Hopefully this overview has given you a good feel for what Dialoger can do for you. Questions regarding Dialoger may be referred to the address below:

Dialoger™ for HyperCard® is available from:

theResult Software, Inc.

616-D Guilford College Road

Greensboro, NC 27409

Fax (919) 855-6931

(919) 294-5034

Price: $94.29 single license version

or add $55 to upgrade to unlimited runtime version:

$150.00 unlimited runtime, (developer version)

includes HyperCard version 1.2.2 and is

NOT COPY PROTECTED!!

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Dropbox 193.4.5594 - Cloud backup and sy...
Dropbox is a file hosting service that provides cloud storage, file synchronization, personal cloud, and client software. It is a modern workspace that allows you to get to all of your files, manage... Read more
Google Chrome 122.0.6261.57 - Modern and...
Google Chrome is a Web browser by Google, created to be a modern platform for Web pages and applications. It utilizes very fast loading of Web pages and has a V8 engine, which is a custom built... Read more
Skype 8.113.0.210 - Voice-over-internet...
Skype is a telecommunications app that provides HD video calls, instant messaging, calling to any phone number or landline, and Skype for Business for productive cooperation on the projects. This... Read more
Tor Browser 13.0.10 - Anonymize Web brow...
Using Tor Browser you can protect yourself against tracking, surveillance, and censorship. Tor was originally designed, implemented, and deployed as a third-generation onion-routing project of the U.... Read more
Deeper 3.0.4 - Enable hidden features in...
Deeper is a personalization utility for macOS which allows you to enable and disable the hidden functions of the Finder, Dock, QuickTime, Safari, iTunes, login window, Spotlight, and many of Apple's... Read more
OnyX 4.5.5 - Maintenance and optimizatio...
OnyX is a multifunction utility that you can use to verify the startup disk and the structure of its system files, to run miscellaneous maintenance and cleaning tasks, to configure parameters in the... Read more
Hopper Disassembler 5.14.1 - Binary disa...
Hopper Disassembler is a binary disassembler, decompiler, and debugger for 32- and 64-bit executables. It will let you disassemble any binary you want, and provide you all the information about its... Read more
WhatsApp 24.3.78 - Desktop client for Wh...
WhatsApp is the desktop client for WhatsApp Messenger, a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS. WhatsApp Messenger is available for... Read more
War Thunder 2.33.0.135 - Multiplayer war...
In War Thunder, aircraft, attack helicopters, ground forces and naval ships collaborate in realistic competitive battles. You can choose from over 1,500 vehicles and an extensive variety of combat... Read more
Iridient Developer 4.2 - Powerful image-...
Iridient Developer (was RAW Developer) is a powerful image-conversion application designed specifically for OS X. Iridient Developer gives advanced photographers total control over every aspect of... Read more

Latest Forum Discussions

See All

A Legitimate Massage Parlor, I Swear – T...
In this week’s Episode of The TouchArcade Show we talk about some of the major new releases on mobile this week including Warframe, we go over all the major news that came out from the Nintendo Direct Partner Showcase on Wednesday, we read our one... | Read more »
TouchArcade Game of the Week: ‘Rainbow S...
I feel like I am in a fever dream right now. What is this game that I’m playing? It’s a Rainbow Six game? But it’s all cutesy, and cartoony, and also kind of psychedelic? How is this a real thing? Well, it’s no fever dream, it is indeed a real thing... | Read more »
SwitchArcade Round-Up: ‘Promenade’, ‘Cho...
Hello gentle readers, and welcome to the SwitchArcade Round-Up for February 23rd, 2024. It’s Friday, so we have to check out the remaining releases of the week. Not so many big ones today, but a healthy crop nonetheless. After summarizing all the... | Read more »
Steam Deck Weekly: Gundam Breaker 4 and...
Welcome to this week’s slightly shorter edition of the Steam Deck Weekly. I was a bit unwell this week so no reviews in this edition, but there is a lot of news and new Steam Deck Verified and Playable games to catch up on. I have something special... | Read more »
The 10 Best Run-And-Gun Games for Ninten...
The year 2024 is a rare one, because it is a year with a brand-new Contra game. Contra: Operation Galuga might be the freshest face on the block when it comes to Nintendo Switch run-and-gun action games, but it’s hardly fighting that war alone.... | Read more »
Version 1.4 of Reverse: 1999 will be lan...
Free up your diary for February 29th, as Bluepoch has announced the impending release of the award-winning Reverse: 1999s Version 1.4 update. The Prisoner in the Cave is an Ancient Greece-themed update with new recruits, gameplay modes, and plenty... | Read more »
Premium Mobile RPG ‘Ex Astris’ From ‘Ark...
Arknights developer Hypergryph’s premium RPG Ex Astris () recently had its release date confirmed, and we finally have an extended gameplay showcase. | Read more »
Apple Arcade Weekly Round-Up: Updates fo...
Following yesterday’s big Hello Kitty Island Adventure update, a few more notable game updates and events have gone live on Apple Arcade. Cypher 007 () has gotten its first content update in a few months taking you to Egypt for five new levels... | Read more »
‘Thunder Ray’ and ‘Hime’s Quest’ Are Now...
Crunchyroll has pushed two new games into the Crunchyroll Game Vault including Purple Tree Studio’s Thunder Ray which was already on iOS before as a premium release. Shaun even reviewed it last year. Read his review here. The second game is Poppy... | Read more »
Adorable Kitty-Collector Sequel ‘Neko At...
Ya’ll. This October will mark the ten-year anniversary of Hit Point launching Neko Atsume, the adorable kitty collecting sim that has become a runaway success and essentially created a sub-genre of cozy pet-collecting life sim games. Sure, the... | Read more »

Price Scanner via MacPrices.net

16-inch M3 Max MacBook Pro on sale for $300 o...
Amazon is offering a $300 instant discount on one of Apple’s 16″ M3 Max MacBook Pros today. Shipping is free: – 16″ M3 Max MacBook Pros (36GB/1TB/Space Black): $3199, $300 off MSRP Their price is the... Read more
Apple M2 Mac minis on sale for $100 off MSRP...
B&H Photo has Apple’s M2-powered Mac minis in stock and on sale for $100 off MSRP this weekend with prices available starting at $499. Free 1-2 day shipping is available to most US addresses: –... Read more
Apple Watch SE on sale for $50 off MSRP this...
Best Buy has all Apple Watch SE models on sale this weekend for $50 off MSRP on their online store. Sale prices available for online orders only, in-store prices may vary. Order online, and choose... Read more
Deal Alert! Apple 15-inch M2 MacBook Airs on...
Looking for the lowest sale price on a new 15″ M2 MacBook Air? Best Buy has Apple 15″ MacBook Airs with M2 CPUs in stock and on sale today for $300 off MSRP on their online store. Prices valid for... Read more
Amazon discounts iPad mini 6 models up to $12...
Amazon is offering Apple’s 8.3″ WiFi iPad minis for $100-$120 off MSRP, including free shipping, for a limited time. Prices start at $399. Amazon’s prices are among the lowest currently available for... Read more
Apple AirPods Pro with USB-C discounted to $1...
Walmart has Apple’s 2023 AirPods Pro with USB-C in stock and on sale for $199.99 on their online store. Their price is $50 off MSRP, and it’s currently one the lowest prices available for new AirPods... Read more
Apple has 14-inch M3 MacBook Pro with 16GB of...
Apple has 14″ M3 MacBook Pros with 16GB of RAM, Certified Refurbished, available for $270-$300 off MSRP. Each model features a new outer case, shipping is free, and an Apple 1-year warranty is... Read more
Save $318-$432 on 16-inch M3 Max MacBook Pros...
Apple retailer Expercom has 16″ M3 Max MacBook Pros on sale for $318-$432 off MSRP when bundled with a 3-year AppleCare+ Protection Plan. Discounts are available for Silver models as well a Space... Read more
New today at Apple: 16-inch M3 Pro/M3 Max Mac...
Apple is now offering 16″ M3 Pro and M3 Max MacBook Pros, Certified Refurbished, starting at $2119 and ranging up to $530 off MSRP. Each model features a new outer case, shipping is free, and an... Read more
Apple is now offering $300-$480 discounts on...
Apple is now offering 14″ M3 Pro and M3 Max MacBook Pros, Certified Refurbished, starting at $1699 and ranging up to $480 off MSRP. Each model features a new outer case, shipping is free, and an... Read more

Jobs Board

Part-time *Apple* and Peach Research Assist...
…and minimum qualifications: + Assist with planting, pruning, and harvesting of apple and peach trees + Conduct regular maintenance tasks to ensure optimal Read more
Housekeeper, *Apple* Valley Villa - Cassia...
Apple Valley Villa, part of a senior living community, is hiring entry-level Full-Time Housekeepers to join our team! We will train you for this position and offer a Read more
Sublease Associate Optometrist- *Apple* Val...
Sublease Associate Optometrist- Apple Valley, CA- Target Optical Date: Feb 22, 2024 Brand: Target Optical Location: Apple Valley, CA, US, 92307 **Requisition Read more
Sublease Associate Optometrist- *Apple* Val...
Sublease Associate Optometrist- Apple Valley, CA- Target Optical Date: Jan 24, 2024 Brand: Target Optical Location: Apple Valley, CA, US, 92307 **Requisition Read more
Housekeeper, *Apple* Valley Village - Cassi...
Apple Valley Village Health Care Center, a senior care campus, is hiring a Part-Time Housekeeper to join our team! We will train you for this position! In this role, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.