Sheerpower Logo B.1  Variables, Data Types, Database access, and Declaring
First and foremost, have fun when programming with Sheerpower. It is fast. It is intuitive.

Variable names
User variable names must start with a letter and can include letters, numbers, the underscore ("_"), and an embedded dollar sign ("$"). Names are case-regardless. This means that Account is the same as AccOUNT. If a variable name consists of multiple words, by convention each word is separated by an underscore.

Primitive Data Types
  • Real -- A number having up to 18 digits to the left of the decimal and 16 to the right. To support business applications, Sheerpower uses Perfect Precision Math which eliminates rounding errors when performing simple math operations.
  • String -- Characters, such as a person's name, city name, and also arbitrary binary 8-bit data.
  • Integer -- A whole number without fractional digits.
  • Boolean -- A logical of true (1) or false (0). Used in conditional statements.
  • Dynamic -- Can be any data type. Adjusts its data type according to use.
  • Database access -- expressed by table_name(field_name)
Of these, the most commonly used data types are REAL, STRING, and BOOLEAN -- in that order. For business applications, INTEGER and DYNAMIC data types are less frequently used and rarely even needed. The default data type is REAL.

All database access goes through the table_name(field_name) syntax. For example print payroll(salary) will fetch the current payroll table record, lock it if needed, extract the salary field, and print out its contents. The statement payroll(salary) = 1234.56 will fetch the current record, lock it, and store the value 1234.56 into the payroll salary field. The modified record will be written and unlocked when needed using a "lazy write" method that guarantees the integrity of the table.
This process makes Sheerpower immune to SQL injection attacks. For details, go here.

Variables with a dollar sign "$" suffix default to being a string. Those with a percent sign "%" suffix default to being an integer. And those with a question mark "?" suffix default to being a boolean. Unsuffixed, undeclared variables are assumed to be declared as real.
print 1.2 - 1.0 tax_rate = 5.5 fullname$ = 'Sally Sue' is_wonderful? = true counter% = 50 declare dynamic answer declare real inches declare string address declare integer frogs declare boolean is_great inches = 55.6 print inches

You can also require that all variables be declared. In this case, undeclared variables will cause compile-time errors.
option require declare

Declaring Default Output Formatting
There are some variables that when printed you always want specific formatting to be used. For example, with a variable that contains cash, every time it is printed, you might want to include a dollar sign, commas, and also rounded to two decimal digits. For details on print formats, see the SPRINTF() function
declare format '$%.2m' cash cash = 123456.7 print 'The value is: ';cash The value is: $123,456.70
Custom Data Types
A custom data type is defined by: TYPE typename datatype [format 'format string']

After being defined, custom data types can be utilized in place of any primitive data type. If you declare a variable with a custom data type, any attempt to assign a different custom data type to that variable will generate a compile-time error. Custom data types also improve the readability of your code, making it easier to maintain in the long run.
type money format '$%.2m' declare refund money refund = 123456.728 print 'Your refund is: ';refund >> Your refund is: $123,456.73 type miles declare distance miles distance = 45 // The code below generates a compiler error // because refund is a type of money and distance is a type of miles refund = distance
Hide Description

    

       


      

Enter or modify the code below, and then click on RUN

Looking for the full power of Sheerpower?
Check out the Sheerpower website. Free to download. Free to use.
Wide screen