The Latest Changes To SiMPLE



(Revision: 2009 September 14)

Several minor problems were corrected, one of which occurred when an Ultra-SiMPLE user tried to specify a window that was too large to fit onto the screen. (Also, running a program in a window under Vista would cause unnecessary error messages to be displayed. This too has now been fixed.)

In addition, a file ("Libraries.txt") is now included in the SiMPLE folder. It is an abridged list of the most commonly used Tasks/Functions in the libraries.

Also, a new task has been added to the Ultra-SiMPLE system library:


Name:          Savescreen (Int xul, Int yul, Int xlr, Int ylr, Text path)
               Savescreen (Text path)

Type:          Task

Operation:     Saves the specified region of the current screen to a file
               as a 24-bit BMP image. (If no region is specified, saves the
               entire screen.)

Enter with:    xul, yul -  the upper-left corner of the region.
               xlr, ylr -  the lower-right corner of the region.
               path -      the path to the output file.


(Revision: 2009 September 28)

It is now possible to pre-compile your tasks in "Drag & Drop" mode (similar to what "Command-line" mode allows). To do so, just place all the task source listings that you wish to pre-compile into a single text document. Then change that file's extension from ".TXT" to ".SRC", and drop the file onto the "Drop SiMPLE Listing Here" icon. (Click here to read more.)


(Revision: 9.10.14)

"Drag & Drop" mode now displays the version number (i.e., the date of the revision) for the copy of SiMPLE that is currently being used.

Several new tasks and functions have been added to the Ultra-SiMPLE system library:


Name:                   Readquitkeyc (Int key)
                        Readquitkeyc 


Type:                   Task

Operation:              Tests to see if the specified key has been pressed.
                        If so, a small window appears and asks the user to
                        confirm that the program is to be immediately termi-
                        nated.

Calling parameter:      key:  the specified key. (If no key is specified,
                              any key will work.)

Note:                   (This task uses auxiliary screen #7.)
_____________________________________________________________________________

Name:                   Messagebox (Text message)

Type:                   Task

Operation:              Displays a small window containing a message,
                        along with an "OK" button. It then waits for the
                        user to click the button.

Calling parameter:      message: the message to be displayed

Examples:               messagebox ("This is a one-line message.")
                        messagebox ("This is a\ntwo-line message.")

Note:                   (This task uses auxiliary screen #7.)
_____________________________________________________________________________

Name:                   Querybox (Text question)

Type:                   Int function

Operation:              Displays a small window containing a "yes or no"
                        question, along with a "Yes" button and a "No"
                        button. It then waits for the user to respond.

Calling parameter:      question: the "yes or no" question beeing asked

Returns:                1, if the "Yes" button was clicked (or if the "Y"
                           key was pressed).
                        0, if the "No" button was clicked (or if the "N"
                           key was pressed).

Note:                   (This function uses auxiliary screen 7.)
_____________________________________________________________________________

Name:                   Confirmquit ( )

Type:                   Int function

Operation:              Displays a small window containing the message:

                           "Are you sure you want to quit?"

                        along with a "Yes" button and a "No" button.
                        It then waits for the user to respond.

Returns:                1, if the "Yes" button was clicked (or if the "Y"
                           key was pressed).
                        0, if the "No" button was clicked (or if the "N"
                           key was pressed).

Note:                   (This function uses auxiliary screen 7.)


(Revision: 9.10.22)

SiMPLE now works in Windows 7 (just like it does in Windows Vista).

The "Drop SiMPLE Listing Here" icon has been changed from an apple to a target:

The name of the "OUTPUT" file (created by the "Output" task) has been changed to "OUTPUT.TXT".


(Revision: 9.11.02)

In Pro-SiMPLE all disk files are accessed through "channels" (disignated by the letters A-G). To help maintain compatibility with Pro-SiMPLE, Ultra-SiMPLE now provides you with the option of using this same "channel" method for accessing disk files.

When using a flash drive, the "Fetch The Proper Icons" program now produces a much smaller black window (displaying the word "Working . . ." in yellow letters), and places it in the upper-left corner of the screen.

The "ReadMe.html" document (for use with a flash drive) has been expanded to include more information.

Some of the files inside the "SiMPLE" folder (and some of its subfolders) have been reorganized.


(Revision: 9.12.03)

Am error in Pro-SiMPLE's declaration of the "Ellipse" task has been fixed.

The "PULSATE.EXE" program has been removed from the "SiMPLE Samples" folder. (It didn't work correctly on some computers.)


(Revision: 9.12.31)

The following function has been added to the Pro-SiMPLE and Ultra-SiMPLE system libraries:


Name:                   Keyintext (Text question, Int timeout)

Type:                   Text function

Operation:              Displays a question on the screen and then waits
                        for user input of a text string, followed by the
                        Enter key. If the Enter key is not pressed in the
                        allotted time, the function returns a a text char-
                        acter whose Ascii value is -1.

Calling parameters:     question: the question to be displayed
                        timeout:  the number of seconds allotted
                                  for the user to respond

Example:                question = "Which planet is closest to the sun? "
                        answer = keyin text (question, 5)
                        If (answer = char(-1)) Display "Out of time!"
                        Else
                           If (answer ~ "mercury") Display "Correct!"
                           Else Display "Wrong!"
                        Endelse

(Revision: 10.2.14)

It is now possible to play sounds by directly accessing the midi CONTROLER. To support this capability, The following new tasks have been added to the Ultra-SiMPLE system library:


Name:                   Openmidi

Type:                   Task

Operation:              Opens the midi controler.
_____________________________________________________________________________

Name:                   Playnote (Int voice, Int note, Int dur)

Type:                   Task

Operation:              Plays the specified musical note at maximum volume.

Enter with:             voice - the voice to be used for the note.

                                    1 = Acoustic Grand Piano
                                    2 = Bright Acoustic Piano
                                    3 = Electric Grand Piano
                                    4 = Honky-tonk Piano
                                    5 = Electric Piano 1
                                    6 = Electric Piano 2
                                    7 = Harpsichord
                                           (etc.)

                        note -  the note to be played.
                                (60 = Middle C, 0 = silence)

                        dur -   the duration of the note (in milliseconds).

                                (If the 'note' parameter is greater than 0,
                                the note will stop playing abruptly after
                                the specified duration. If the 'note' para-
                                meter is less than 0, the note will be sus-
                                tained until the next non-silent note is en-
                                countered.)
_____________________________________________________________________________

Name:                   Closemidi

Type:                   Task

Operation:              Closes the midi controler.
_____________________________________________________________________________

                                     Example:

The following program will play a "do-re-mi" sequence of notes (in the key
of C) on a Harpsichord, with each note lasting for one second:

                        open midi
                        play note (7, 60, 1000)
                        play note (7, 62, 1000)
                        play note (7, 64, 1000)
                        close midi
_____________________________________________________________________________

For more "exotic" applications (such as playing chords), the following tasks
are also available:
_____________________________________________________________________________

Name:                   Startmidi (Int chan, Int voice, Int note, Int vol)

Type:                   Task

Operation:              Starts playing the specified musical note.

Enter with:             chan -   the midi channel (0-15) in which
                                 the note is to be played.

                        voice -  the voice to be used for the note:

                                    1 = Acoustic Grand Piano
                                    2 = Bright Acoustic Piano
                                    3 = Electric Grand Piano
                                    4 = Honky-tonk Piano
                                    5 = Electric Piano 1
                                    6 = Electric Piano 2
                                    7 = Harpsichord
                                           (etc.)

                        note -   the note to be played.
                                 (60 = Middle C, 0 = silence)

                        vol -    the volume (0-127) to be used for the note.
_____________________________________________________________________________

Name:                   Stopmidi

Type:                   Task

Operation:              Stops playing all midi sounds.
_____________________________________________________________________________

                                     Example:

The following program will use channels 0, 1, and 2 to play a quiet 3-note
Grand Piano chord (in the key of C) for two seconds:

                        open midi
                        start midi (0, 1, 60, 32)
                        start midi (1, 1, 64, 32)
                        start midi (2, 1, 67, 32)
                        delay (2000)
                        stop midi
                        close midi

(Revision: 10.2.18)

Color #6 in Ultra-SiMPLE did not display correctly. (It contained too much green.) This bug has now been fixed.

When running a SiMPLE program in a window, the mouse cursor would sometimes be erroneously shown as an hour glass. This bug has now been fixed.

NEW: Each of the 16 "Standard Colors" can now be expressed either by a number in the range 0 - 15 (just as before), or by its name:

NumberName
0Black
1Dark Blue
2Dark Green
3Dark Aqua
4Dark Red
5Dark Violet
6Dark Yellow
(or Brown)
7Gray
8Dark Gray
9Blue
10Green
11Aqua
12Red
13Violet
14Yellow
15White

Notice that the first letter of each word in the color's name must be upper case.

Example:

                  solid color (Dark Red)
                  solid circle (300, 200, 100)

NEW: Each of the "Special" keys on the keyboard ("Esc", "Tab", "Backspace", etc.) can now be expressed either by a number (just as before), or by its name:

NumberName
8Backspace
9Tab
13Enter
27Esc
274Alt
315 - 324F1 - F10
327Home
328Up Arrow
329Page Up
331Left Arrow
333Right Arrow
335End
336Down Arrow
337Page Down
338Insert
339Delete
389 - 390F11 - F12

Notice that the first letter of each word in the key's name must be upper case.

Example:

                  wait quitkey (Esc)

(Revision: 10.2.25)

The RGB values of the 16 "Standard Colors" in Ultra-SiMPLE have been slightly adjusted so as to exactly match the RGB values of the corresponding colors in Pro-SiMPLE.

A somewhat major bug was discovered in both the "Messagebox" task and in the "Querybox" function. If these modules were to be invoked in an Ultra-SiMPLE program that used the on-screen graphics buttons, a conflict could occur. These problems have now been fixed.

Some bugs in SiMPLE's translator were discovered and fixed.

The numerical values of the "voices" in Ultra-SiMPLE's midi tasks were off by one. (E.g., a "Church Organ" was 19 instead of the 20 that it should have been.) All of the midi voices have now been corrected.

The functionality of Ultra-SiMPLE's virtual screens has been made more robust.

A new function has been added to the Ultra-SiMPLE system library:

Name:                   Verifyfolder (Text path)

Type:                   Int function

Operation:              Does the folder (specified by path) exist and,
                        if so, is it writable? (If "path" is a null string,
                        the folder being specified is the current device's
                        root directory.)

Returns:                0:  The folder was not found
                        1:  The folder was found but it is not writable
                        2:  The folder was found and it is writable

(Revision: 10.3.01)

The previous version of SiMPLE (10.2.25) incorrectly displayed the version number as 10.2.23.

The previous version had incorrectly set the initial display mode for the Ultra-SiMPLE. (It would display all output onto the user's desktop.) This has now been corrected.


(Revision: 10.3.10)

None of Ultra-SiMPLE's "keyin" functions ("Keyintext", "Keyinint", etc.) were working correctly. Those problems have now been fixed.

When expressing the names of colors, the first letter of a color's name MUST be an upper case letter. But, if the color's name consists of two words (such as "Dark" and "Blue"), the second word can now be either upper or lower case (e.g., "Dark Blue" or "Darkblue")

When expressing the names of keys on the keyboard, the first letter of a key's name MUST be an upper case letter. But, if the key's name consists of two words (such as "Left" and "Arrow"), the second word can now be either upper or lower case (e.g., "Left Arrow" or "Leftarrow")



  [ Webmaster | FAQ's | Home Page | Contact Us ]