SheerPower® 4GL -- Beyond BASIC --

SPDEV FAQ

FREE!! Download SheerPower 4GL NOW! Documentation SheerPower 4GL Technical Support Options FAQ
Discussion Forum   Sample Programs Contact Us
General Questions

Development Environment Questions

Programming Questions

SheerPower License Questions

Uninstall/Repair Questions

SheerPower 4GL Home

Sheerpower Rapid Development Environment Questions

Q. What is a GOLD key?
A. The GOLD key is a specially mapped key used to create many of the special keystrokes available in SPDEV. The [Esc] (escape) and the [Num-Lock] (numbers lock) keys on your physical keyboard are GOLD keys.

See Appendix F - Keystrokes for SheerPower Rapid Development Environment for complete details on how to use the GOLD key and other special keystrokes in SPDEV.

Q. Can I map my own keystrokes in SPDEV?
A. Yes. In SPDEV, click on Options in the toolbar, then choose Keystroke Function Mappings. The keyboard mapping tool will open where you can select the keystrokes and define function to associate with them. See Appendix H in the documentation for more information.

Q. How exactly does the programming GOLD/A keystroke work?
A. The GOLD/A keystroke in SPDEV is used to ALIGN CODE according to both equal signs "=" and colons ":". GOLD/A works in two ways:

1) aligns code within a highlighted (selected) piece of code
2) aligns code while the cursor is placed in the code, without a selection made

In the first case of highlighted code, SPDEV begins at the first line and proceeds to the last line, looking first for equal signs, then for colons. After all the code is scanned for the right-most locations of these symbols, the lines are rewritten with the symbols aligned. For example:

         payrate = 45
         payor_name$ = client(name)
        

This would become:

         payrate     = 45
         payor_name$ = client(name)
        

And the same with colons:

        

open structure pay: name '@pay' open structure client_master: name '@client'

becomes:

         open structure pay          : name '@pay'
         open structure client_master: name '@client'
        

In the case that no code or text is highlighted and GOLD/A is pressed, SPDEV begins by scanning backwards looking for the FIRST MOST line containing an equal sign. Then SPDEV scans forward for the LAST MOST line that contains an equal sign. At that point the re-alignment is formed as in the above examples.

Next, SPDEV searches for the first most and last most lines containing colon symbols. Once these are found, the lines of code are rewritten to align the colons.

The alignment does not go across code that is missing an equal sign (or in the COLON scan, missing a colon).

          payname$ = 'fred'
          rate = 45
          print 'got rate of '; rate
          deductions_this_month = 10
        

If GOLD/A is pressed while the cursor is on the code "rate = 45", then just the payname$ and rate lines will be aligned. Why? Because alignment stops when the "print" statement is scanned as that line does not contain any equal sign symbol.

Q. Can SheerPower make .EXE files?
A. SheerPower 4GL is an "incremental compiler". This means that when given SOURCE CODE, SheerPower compiles it into BYTE CODE (just like the popular JAVA language does), and then runs the compiled code using the SP4GL VIRTUAL MACHINE. The virtual machine is free (as is SheerPower 4GL). The Virtual Machine allows users to run SheerPower applications without having to install the entire rapid development environment.

If you want to distribute SheerPower applications, but want to HIDE the source code, SheerPower has a DEPLOY option. The DEPLOY option generates a .SPRUN file that:

  • hides your source code
  • can be password protected
  • is in a format where it can be emailed as text

In summary, SheerPower 4GL does not generate an .EXE file. Instead, SheerPower 4GL uses a Virtual Machine to run the applications.


Questions, comments and suggestions are welcome!



Copyright (c) 2003-2016 Touch Technologies, Inc. All rights reserved.
Parts of the SheerPower technology are U.S. patented under patent#s 6822586, 7149765, and 8164492