TweetFollow Us on Twitter

Buttons and Edits
Volume Number:1
Issue Number:5
Column Tag:BASIC SCHOOL

Buttons and Edit fields

By Dave Kelly

Well, now that we know how to use windows, we should discuss what to put in them. Besides the usual printing of output, our Macintosh provides us with what are known as BUTTONs and EDIT FIELDs.

In MS Basic 2.0 the syntax is:

BUTTON  button-id,state [ ,title,
 rectangle [,type ]]
BUTTON CLOSE n
EDIT FIELD field-id [,default, rectangle [,[type][,justify ]]]
EDIT FIELD CLOSE field-id

The id parameter identifies the button or edit field number. BUTTON states are: 0=Button inactive,dimmed on the screen,1=Button active, not selected, 2 =Button active, selected. Title is a string expression that is displayed inside or beside the identified BUTTON. The BUTTON type paramenter identifies the type of BUTTON, 1=A simple push button, 2=A check box, 3=A radio button. The EDIT FIELD default is the string expression to be edited. Cut and paste editing can be used to edit the default string. Type indicates one of four editing formats. Types are: 1=Draw a box around the rectangle to be edited-Return keys not allowed, 2=Draw a box around the rectangle and allow return keys, 3=No box around edit field-Return keys not allowed, 4=No box around the rectangle and allow return keys. When using types 1 and 3 the edit field has wrap around (no return keys are allowed). The justify parameter specifies the justification of the text in the EDIT FIELD, 1=Left Justify, 2=Center Justify, 3=Right Justify. Now we’re ready to program.

Well, almost. If you remember from our discussion of WINDOWs, the rectangle parameter specifies the location of the window on the Macintosh screen. The rectangle parameter in BUTTON and EDIT FIELD statements specifies the location of the BUTTON or EDIT FIELD in the current output window. It has the form (x1,y1)-(x2,y2), same as for WINDOW, (x1,y1) is the upper left corner of the current window and (x2,y2) is the lower right corner of the window. Sounds easy at first, but here’s the catch: for every program you write you have to figure out where on the screen you want to put each BUTTON or EDIT FIELD. This can be quite a pain, especially if you have alot to put in your window. Since there is no one rectangle for every application, you must be the judge of what you think “looks” good. This is true for all program development on the Mac. All of positions for the dialog boxes and window that we see in the finder and in other applications had to be decided the same way.

The program, Rectangle Sizer should be an aid to anyone experimenting with the positions and sizes of BUTTONs and EDIT FIELDs. When the program starts you may select BUTTONS or EDIT FIELDS from the Type Selection menu. The function menu allows you to add additional BUTTONs or EDIT FIELDS or erase. You may change the size of the output window and move it around, then select Window dimensions from the function menu and the program will print the current width and height of the output window. As you place BUTTONs or EDIT FIELDs in the window, the program will display the current rectangle cooredinates. You may want to experiment and write down the coordinates for use in your program. If you want to use different fonts and sizes you can add a menu for that if you wish. This would be useful in programming the EDIT FIELDs. The BUTTONs always use 12 point Chicago. Therefore the rectangle size must be 12 point or more or part of the text will be clipped off. To use other fonts with BUTTONs you should print text beside the BUTTON. (You may have to move the desired fonts to your BASIC disk as only the bare minimum of fonts comes on the disk). It would take some experimenting to get things just right, however. You should experiment with the different BUTTON types and sizes to see what happens. A useful utility brought to you by MACTUTOR.


‘    Rectangle Sizer    
‘    By Dave Kelly
‘    ©MACTUTOR 1985

‘Set up menus
MENU 6,0,1,”Function”
MENU 6,1,0,”Add or Change Button #”
MENU 6,2,1,”Erase Button”
MENU 6,3,0,”-”
MENU 6,4,0,”Add or Change Edit Field #”
MENU 6,5,1,”Erase Edit Field”
MENU 6,6,0,”-”
MENU 6,7,1,”Window dimensions”
MENU 6,8,1,”Quit”
MENU 7,0,1,”Type Selection”
MENU 7,1,1,”Buttons”
MENU 7,2,1,”Edit Fields”
MENU 7,3,2,”No Selection”
rect%=0:bnumber%=0:enumber%=0
ON MENU GOSUB menuevent : MENU ON
WINDOW CLOSE 1
WINDOW 2,,(2,280)-(510,340),3: CLS
WINDOW  1,”Rectangle Sizer Window”,  (2,40)-(510,275)
ON MOUSE GOSUB mouseevent
‘Watch for mouse click
MOUSE ON
pause:GOTO pause

mouseevent:
MOUSE OFF: MENU OFF: x=MOUSE(0) xstart=MOUSE(3): ystart=MOUSE(4)

loop:
x=MOUSE(0)
IF x>=0 THEN exitloop’ Loop until button is        released
xend=MOUSE(5):yend=MOUSE(6)
IF rect%=1 AND bnumber%>0 THEN     BUTTON bnumber%,State,Title$, 
 (xstart,ystart)-(xend,yend),Type
IF rect%=2 AND (yend-ystart<=0) THEN yend=ystart+1
IF rect%=2 AND (xend-xstart<15) THEN xend=xstart+16
IF rect%=2 AND enumber%>0 THEN
 EDIT FIELD enumber%,default$,     (xstart,ystart)-(xend,yend), 
 EditType,Justify
CLS:WINDOW OUTPUT 2:LOCATE 1,1
IF rect%=1 THEN
 PRINT”Rectangle”;bnumber%; ELSE
 PRINT “Rectangle”;enumber%;
PRINT “is:  (“;xstart;”,”;ystart;”)-(“;xend;             “,”;yend;”)”:WINDOW 
1
GOTO loop

exitloop:
WINDOW OUTPUT 2
LOCATE 1,1:IF rect%=1 THEN  PRINT”Rectangle”;bnumber%; ELSE
 PRINT “Rectangle”;enumber%;
PRINT “is:  (“;xstart;”,”;ystart;”)-(“;xend;
 “,”;yend;”)”: WINDOW OUTPUT 1
MOUSE ON: MENU ON: RETURN
menuevent:
menunumber=MENU(0)
IF menunumber=7 THEN menu7
IF menunumber<>6 THEN RETURN
menuitem=MENU(1): MENU
ON menuitem GOSUB Changebutton,    Erasebutton, blank, Changeedit, 
 Eraseedit, blank, Windowsize, Quit
RETURN

blank:RETURN  ‘This will never happen, but just in case...

menu7: menuitem=MENU(1)
IF menuitem=1 THEN MENU 7,3,1:MENU 7,1,2: MENU 7,2,1: MENU     
 6,1,1: MENU 6,4,0: rect%=1:IF     bnumber%=0 THEN GOSUB       
 changebutton
IF menuitem=2 THEN MENU 7,3,1:MENU 7,1,1: MENU 7,2,2: MENU     
 6,1,0: MENU 6,4,1: rect%=2:IF     enumber%=0 THEN GOSUB changeedit
IF menuitem=3 THEN MENU 7,3,2:MENU 7,1,1: MENU 7,2,1: MENU     
 6,1,0: MENU 6,4,0: rect%=0
RETURN

Changebutton:
WINDOW 2: CLS:INPUT “Enter Button  number:”,bnumber%
IF bnumber% <=0 GOTO Changebutton
GOSUB Startbutton: WINDOW 1: RETURN

Erasebutton:WINDOW 2:CLS
INPUT”Erase which number”;E%
CLS:WINDOW 1: BUTTON CLOSE E%
RETURN

Changeedit:
WINDOW 2: CLS
INPUT”Enter Edit Field number:”,   enumber%
IF enumber%<=0 GOTO Changeedit
GOSUB Startedit: WINDOW 1: RETURN
Eraseedit:
WINDOW 2: CLS
INPUT”Erase which Edit Field  number”;E%: CLS: WINDOW 1
EDIT FIELD CLOSE e%: RETURN

Quit: WINDOW CLOSE 2:MENU RESET:END

Startbutton:
CLS:PRINT “Enter Button #”;bnumber%;
INPUT” Title:”,Title$
In2:INPUT “Enter Type (1=Push button,  2=Check box, 3= Radio button):”,
 Type
IF Type < 1 OR Type >3 GOTO In2
In3:INPUT “Enter State (0=Inactive,  1=Active/not selected,    
 2=Active/selected):”,State
IF State <0 OR State >2 GOTO In3
CLS:RETURN

Startedit:
CLS:PRINT “Enter Edit Field #”;enumber%;
INPUT” Default (CR=None) :”,default$
e2:INPUT “Enter Type (1=Draw box/no CR,            2=Draw box/CR, 3=No 
Box/no CR,  4=No Box/CR):”,EditType
IF EditType < 1 OR EditType >4 GOTO e2
e3:INPUT “Enter Justify mode (1=Left Justify, 2=Center text, 3=Right 
 Justify):”,Justify
IF Justify <1 OR Justify >3 GOTO e3
CLS:RETURN

windowsize:
WINDOW OUTPUT 1:winwidth= WINDOW(2)
winheight=WINDOW(3)
WINDOW OUTPUT 2: LOCATE 2,1:PRINT  “Window width=”;winwidth;” height=”; 
 winheight;
WINDOW OUTPUT 1:RETURN

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Art Text 3.2.3 - $49.99
Art Text is graphic design software specifically tuned for lettering, typography, text mockups and various artistic text effects. Supplied with a great variety of ready to use styles and materials,... Read more
RapidWeaver 7.5.1 - Create template-base...
RapidWeaver is a next-generation Web design application to help you easily create professional-looking Web sites in minutes. No knowledge of complex code is required, RapidWeaver will take care of... Read more
PDFKey Pro 4.3.9 - Edit and print passwo...
PDFKey Pro can unlock PDF documents protected for printing and copying when you've forgotten your password. It can now also protect your PDF files with a password to prevent unauthorized access and/... Read more
ClamXav 2.15.2 - Virus checker based on...
ClamXav is a popular virus checker for OS X. I have been working on ClamXav for more than 10 years now, and over those years, I have invested a huge amount of my own time and energy into bringing... Read more
TechTool Pro 9.5.3 - Hard drive and syst...
TechTool Pro has long been one of the foremost utilities for keeping your Mac running smoothly and efficiently. With the release of version 9, it has become more proficient than ever. TechTool... Read more
Safari Technology Preview 11.1 - The new...
Safari Technology Preview contains the most recent additions and improvements to WebKit and the latest advances in Safari web technologies. And once installed, you will receive notifications of... Read more
Google Chrome 61.0.3163.91 - 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
Dropbox 35.4.20 - Cloud backup and synch...
Dropbox is an application that creates a special Finder folder that automatically syncs online and between your computers. It allows you to both backup files and keep them up-to-date between systems... Read more
GraphicConverter 10.5 - $39.95
GraphicConverter is an all-purpose image-editing program that can import 200 different graphic-based formats, edit the image, and export it to any of 80 available file formats. The high-end editing... Read more
Chromium 61.0.3163.91 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. Version 61.0.3163.91: Release notes were unavailable... Read more

Stormbound: Kingdom Wars guide - how to...
Stormbound: Kingdom Wars is an excellent new RTS turned card battler out now on iOS and Android. Lovers of strategy will get a lot of enjoyment out of Stormbound's chess-like mechanics, and it's cardbased units are perfect for anyone who loves the... | Read more »
The best AR apps and games on iOS right...
iOS 11 has officially launched, and with it comes Apple's ARKit, a helpful framework that makes it easier than ever for developers to create mobile AR experiences. To celebrate the occassion, we're featuring some of the best AR apps and games on... | Read more »
Phoenix Wright: Ace Attorney - Spirit of...
Phoenix Wright: Ace Attorney - Spirit of Justice 1.00.00 Device: iOS Universal Category: Games Price: $.99, Version: 1.00.00 (iTunes) Description: ************************************************※IMPORTANT※・Please read the “When... | Read more »
Kpressor (Utilities)
Kpressor 1.0.0 Device: iOS Universal Category: Utilities Price: $4.99, Version: 1.0.0 (iTunes) Description: The ultimate ZIP compression application for iPhone and iPad. - Full integration of iOS 11 with support for multitasking.-... | Read more »
Find out how you can save £35 and win a...
Nothing raises excitement like a good competition, and we’re thrilled to announce our latest contest. We’ll be sending one lucky reader and a friend to the Summoners War World Arena Championship at Le Comedia in Paris on October 7th. It’s the... | Read more »
Another Lost Phone: Laura's Story...
Another Lost Phone: Laura's Story 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Another Lost Phone is a game about exploring the social life of a young woman whose phone you have just... | Read more »
The Witness (Games)
The Witness 1.0 Device: iOS Universal Category: Games Price: $9.99, Version: 1.0 (iTunes) Description: You wake up, alone, on a strange island full of puzzles that will challenge and surprise you. You don't remember who you are, and... | Read more »
Egg, Inc. guide - how to build your gold...
Egg, Inc.'s been around for some time now, but don't you believe for one second that this quirky clicker game has gone out of style. The game keeps popping up on Reddit and other community forums thanks to the outlandish gameplay (plus, the... | Read more »
The best deals on the App Store this wee...
Good news, everyone! Your favorite day of the week has arrived at last -- it's discount roundup day! This fine Wednesday evening we're gathering up the hottest deals on the App Store. We've got action platformers, we've got puzzle games, we've got... | Read more »
Morphite (Games)
Morphite 1.08 Device: iOS Universal Category: Games Price: $7.99, Version: 1.08 (iTunes) Description: | Read more »

Price Scanner via MacPrices.net

OWC USB-C Travel Dock with 5 Ports Connectivi...
OWC have announced the new OWC USB-C Travel Dock, the latest addition to their line of connectivity solutions. The USB-C Travel Dock lets you connect its integrated USB-C cable to a Mac or PC laptop... Read more
Pelican Products, Inc. Unveils Cases For All...
Pelican Products, Inc. has announced the launch of its full line of cases including Voyager, Adventurer, Protector, Ambassador, Interceptor (for the Apple iPhone 8 and 8 Plus backwards compatible... Read more
$100 off new 2017 13-inch MacBook Airs
B&H Photo has 2017 13″ MacBook Airs on sale today for $100 off MSRP including free shipping. B&H charges NY & NJ sales tax only: – 13″ 1.8GHz/128GB MacBook Air (MQD32LL/A): $899, $100 off... Read more
Apple restocks Certified Refurbished 13-inch...
Apple has Certified Refurbished 2015 13″ MacBook Airs available starting at $719 and 2016 models available starting at $809. An Apple one-year warranty is included with each MacBook, and shipping is... Read more
Is iPhone X Really The Future Of The Smartpho...
Should iPhone X even be called a telephone? It does of course support telephony and texting, but its main feature set is oriented to other things. It is also debatable whether it makes any rational... Read more
OtterBox Announces Full Case Lineup for iPhon...
Apple revolutionized the smartphone industry 10 years ago with the original iPhone, and OtterBox has set the standard of protection from the very beginning by protecting every generation of iPhone.... Read more
LifeProof Introduces What’s NEXT Cases for iP...
LifeProof built its reputation on sleek, ultra-protective iPhone cases. From 360-degree coverage to the first screenless waterproof case, the protection pioneer has always pushed the limits.... Read more
Apple Refurbished 2016 15-inch MacBook Pros a...
Apple has Certified Refurbished 2016 15″ Touch Bar MacBook Pros available starting at $1949. An Apple one-year warranty is included with each model, and shipping is free: – 15″ 2.7GHz Touch Bar Space... Read more
Wednesday deal: 15-inch MacBook Pros for up t...
B&H Photo has 2017 15″ MacBook Pros on sale for $150-$200 off MSRP. Shipping is free, and B&H charges sales tax in NY & NJ only: – 15″ 2.8GHz MacBook Pro Space Gray: $2199, $200 off MSRP... Read more
2.6GHz Mac mini on sale for $599, $100 off MS...
B&H Photo has the 2.6GHz Mac mini (MGEN2LL/A) on sale for $599 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more

Jobs Board

Full time *Apple* Hardware Tech needed - ma...
…high level of attention to detail Ethics, integrity and trust Be a geek & Previous Apple experience a must. Previous Apple Retail or other Apple Specialist Read more
Development Operations and Site Reliability E...
Development Operations and Site Reliability Engineer, Apple Payment Gateway Job Number: 57572631 Santa Clara Valley, California, United States Posted: Jul. 27, 2017 Read more
*Apple* Store - Technical Specialist - Apple...
…customers purchase our products, you're the one who helps them get more out of their new Apple technology. Your day in the Apple Store is filled with a range of Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* News Product Marketing Mgr., Publish...
Job Summary The Apple News Product Marketing Manager will work closely with a cross-functional group to assist in defining and marketing new features and services. Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.