|
SheerPower®
4GL
-- Beyond BASIC --
FAQ |
| FREE!! Download SheerPower 4GL NOW! | Documentation | SheerPower 4GL Licenses and Support | FAQ |
| Discussion Forum | Voice Tours and Tutorials | Sample Programs | Contact Us |
| General Questions |
SheerPower Programming Questions
Q.
Are variables in SP4GL case sensitive?
Q.
Can I do port I/O and serial port control operations from
SheerPower?
Then go to the end of that chapter to the section called Communication Port Support. Once the COM port has been opened, you just PRINT or INPUT to/from the COM port. When INPUTTING, if there is no data you will get back a zero-length string.
Q.
I create programs that generate "gcode", the language of CNC machines
used all over the world to fabricate countless items used in daily life.
I need very precise math. Can SheerPower's math provide me with the
precision that I need?
Also on that webpage is a link to an IBM sponsored site that explains in GREAT DETAIL the failing of "floating point math" in delivering accurate results. A very simple program that you can try in any programming language is:
x = 301.840002 - 301.000001 if x = .840001 then print "Perfect precision!" else print "Not quite right...sorry." end if When using "C" or Visual BASIC or most any programming language, you will get the "Not quite right...sorry" message. With SheerPower 4GL you will, of course, get the "Perfect precision!" message.
Q.
Are there any caveats or pitfalls that the user should know about in the
SheerPower 4GL math engine?
A good example of a "pitfall" is the infamous behavior of a program when
the dreaded zero denominator is executed. I have had almost every
oddity happen, from total lockup to huge number answers. Many programs
will spit out a "divide by zero" error, but some do not.
Re: the zero denominator error--SheerPower 4GL will give a "division by zero" error.
Q.
Does the Sending Email feature support Bcc and marking emails as a
high priority (set a flag)?
Q. Can I use Javascript rollovers with
SheerPower's Input Dialogbox statement?
To see how this is done, check out the CGI Interface section in the documentation: http://www.ttinet.com/doc/sp4gl/sheerpower_068.html#cgi_int
Q.
I need to read several records of 121 characters out of a binary
file. In BASIC I would use the Input$ function. Since there is no Input$
function in SheerPower, how can I reach the same goal ?
open file myfile: name 'somefile.xxx', unformattted line input #myfile: rec$ // read a "chunk" of binary data firstbytes$ = left(rec$, 121) // Just the first 121 bytes Where 'somefile.xxx' is the name of your binary file.
Q.
How do I send output to a printer in SheerPower 4GL? I would like to
use your program to create a simple database program that generates
purchase orders and invoices.
// Create your output text file:
outfile$ = 'myfile.txt'
open file out_ch: name outfile$, access output
for i=1 to 100
print #out_ch: i, sqr(i)
next i
close #out_ch
// Now print it out to the default printer
pass print: outfile$
end
The other way to do this is to output HTML code instead. Then envoke the browser to display and print it:
// Create your output html file
outfile$ = 'myfile.html'
open file out_ch: name outfile$, access output
print #out_ch: '<html><body>'
print #out_ch: '<table border=3 bgcolor=lightblue>'
for i=1 to 100
print #out_ch: '<tr>'
print #out_ch: '<td>'; i; '<td>'; sqr(i)
print #out_ch: '</tr>'
next i
print #out_ch: '</table>'
print #out_ch: '</body></html>'
close #out_ch
// Now have the browser handle it
pass url: outfile$
end
Q.
What is an example of the code to use to login to a URL with a username
and password, and then go to a different URL within that site and gather
the HTML code from that page?
login_url$ = 'http://some_url.com/'
user$ = 'username'
pass$ = 'password'
open_url$ = 'http://some_url.com/newpage.html'
// log them in
open file http_ch: name 'http-post://' + quote$(login_url$),
data 'ulogin='+user$ +
'&uhaslo=' + pass$
close #http_ch
// grab data from webpage
open file http_ch: name open_url$
// Now display all of the html that we get back
do
line input #http_ch, eof eof?: rec$
if eof? then exit do
print rec$
loop
end
Q.
Can all the SUBMIT buttons in a Dialogbox form be removed?
We have on our "wishlist" a request to eliminate all user buttons from the Dialogbox forms.
Q. When using the <select> tag in a dialogbox, is
it possible to get
the dropdown default choice to be a variable passed via an existing
data file? For example, having a form containing a <select>
drop-down list to select your age, and you can choose any age, save
the form, then later return to the form and see your last choice
displayed as the default option.
form_menu$ = '<form>'
form_menu$ = form_menu$ + 'Age: <select name=age>'
form_menu$ = form_menu$ + '<option value="_age_">_age_'
form_menu$ = form_menu$ + '<option value="21">21'
form_menu$ = form_menu$ + '<option value="22">22'
form_menu$ = form_menu$ + '<option value="23">23'
form_menu$ = form_menu$ + '</select>'
form_menu$ = form_menu$ + '</form>'
last_age$ = "23"
do
default_age$ = last_age$
default_form$ = replace$(form_menu$,'_age_='+default_age$)
input dialogbox default_form$: choice$
if _exit then exit do
for item = 1 to pieces(choice$, chr$(26))
z0$ = piece$(choice$, item, chr$(26))
varname$ = element$(z0$, 1, '=')
value$ = element$(z0$, 2, '=')
select case varname$
case 'age'
last_age$ = value$
end select
next item
loop
end
Q. Why is your compiler so slow when I run the following code?:
x = 1
y = 1.000001
for i = 1 to 100000000
x = x * y
next i
print x
All of the math is done in software (no hardware machine instructions because those lose precision instantly). With SheerPower 4GL you will *never* have penny rounding errors and incorrect answers. The hardware math is MUCH faster -- but always wrong with dealing with dollars and cents.
Q.
What is ARSBACKUP and ARSRESTORE?
ARSRESTORE restores .ARS_BACKUP files back to the original .ARS file. Their syntax is just like COPY. But the behavior is different in these ways:
For example, inside the Command Prompt program window:
// backup everything c:\sheerpower\ars\arsbackup *.* d:\backups\payroll\ // backup just the ARS files c:\sheerpower\ars\arsbackup d:\payroll\*.ars d:\newpayroll\ For advanced backups and restores, you can specify a COMMAND FILE: ARSBACKUP - include backupfile.ars_cmd This TEXT FILE consists of one or more text lines. Each line has the format of: INPUTSPEC OUTPUTSPEC ARSBACKUP gathers together ALL of the INPUTSPEC files and synchs them before starting the backup. This allows .ARS files to be synched and backed-up when they are in multiple folders. Note: For ARSBACKUP to be efficient, the ARS files should be in NON-SHARED folders. ARS files in SHARED FOLDERS will be LOCKED for the duration of the backup! (In non-shared folders no files are locked even while the backup is running -- providing 24/7 application operations).
Q.
Can I play .WAV files with SheerPower?
for i = 1 to 3
media '@yes.wav'
next i
media '@sorry.wav'
end
This example can be found in:
Q.
How do you handle scientific calculations with your limited range of
real numbers?
Q.
In SPDEV, is there a way to get line numbers to appear next to the
lines to aid in debugging?
For now, when there is an error, you can double-click on the error text in the SPDEV output window (the BUILD tab at the bottom) -- and it will take you to the error line.
Q.
How do I find EXCEPTION errors in my file easily?
Then you can use the ALT/DOWN keystroke and move down the file to the line in the routine that the exception occurred:
Just enter the line# offset from the exception. For example, if the exception error was: Division by zero at DO_TOTALS.0005 You would choose "DO_TOTALS" -- then ALT/DOWN and enter in a 5.
Q.
Does SheerPower 4GL have a GUI editor?
INPUT DIALOGBOX '<sheerpower src="location of your HTML form">': resp$ statement in SheerPower 4GL to use the FORM that you created with some HTML GUI editor.
Q.
How can I write recursive routines?
recursive routine xxxx... end routine This will make it clear to the code maintenance people that the intent is for recursion.
Q.
On Windows 98, I am trying to run a SheerPower sample ODBC program
but I get the error "failed to load resource DLL odbcint.dll". How do
I fix this?
Q.
How do I append data to a file in SheerPower?
open file myfile_ch: name 'myfile.txt', access outin
do
line input #myfile_ch, eof eof?: z0$
if eof? then exit do
loop
print #myfile_ch: 'This is a new line added to the file'
close #myfile_ch
Q.
How do I precompile a .SPINC file?
This functionality will be more fully integrated at a later date.
Q.
How do I change the default fonts inside a DIALOGBOX or MENU?
Options -- Colors or Fonts The "Menus..." and "Menu Headings..." options allow you to make changes to the default font settings for menus. Alternatively, you can use "input dialogbox" and create a drop down SELECT menu in a dialogbox window, where you can put in your own background image, colors and different fonts. See Chapter 9 in the SheerPower documentation: To change the default appearance of a DIALOGBOX, open the console window by clicking on its icon in the SPDEV toolbar (the blue square with a lightning bolt through it) and choose: Options -- Colors or Fonts The "Dialog Box Input..." and "Dialog Box Display..." options allow you to make changes to the default font settings for dialogboxes.
Q.
Will changing the colors and font in the console window stay even
during distribution to other computers?
sp4gl_xxxx.ini Where "xxxx" is the name of user's LOGIN name. This .INI file can be found in your SheerPower folder--the default installation location is: c:\sheerpower
Tell us what YOU think about:
|