Jim Limburg wrote:
G-Day all
Don't know if anyone could use this, but I developed it
and thought it might be useful.
Basically it let's you in 3 statements set the size of
the RBase window -- with a litle forethought...
The 3 statements go like this:
SET VAR var_defaultsize TEXT = NULL
SET VAR var_scrminus INTEGER = 2
RUN setscrsize IN YOUR_APP.APX
or like this:
SET VAR var_defaultsize TEXT = '800,600'
SET VAR var_scrminus INTEGER = 0
RUN setscrsize IN YOUR_APP.APX
What each does is explained here:
var_defaultsize --- is what you would set as your choice of what the
--- you always want the size of the screen to be
--- if all else fails.
--- IF this is set to NULL Then you will get a FULL
--- SCREEN set as your default.. If users screen
--- is 1280 by 960 then it would set RBGSIZE to
--- CENTER CENTER 1280 96
--- NOTE: you have to put a comma between your
--- screen size choices...
var_scrminus --- If you want the users screen to be basically 2
--- sizes smaller by whatever resolution they have
--- then set it to 2. This way it uses about the
--- same amount of screen size regardless of
--- the users settings.
--- IF this is set to 0 and you don't have a
--- default set like
--- SET VAR var_defaultsize TEXT = NULL then
--- it will always set the users screen size to
--- FULL SCREEN.. whatever the users screen
--- size is.
RUN setscrsize IN YOUR_APP.APX
--- I put YOUR_APP.APX so you could just copy the
--- COMMAND BLOCK into your apx file and state
--- what ever it's name is.
--- Of course you could even copy it without
--- the first 2 lines and use the variables and
--- code inline if you want..
--- FEEL FREE
OTHER NOTES:
--- There is the line CLEAR VAR vm% at the end of
--- this code so it will clear all variables
--- starting with vm
--- The two variables var_defaultsize, and
--- var_scrminus you have to clear.
--- DISCLAIMER --
--- I am not responcible for the results of
--- this code and such in any manner...
--- I'm sure there might be some setting I have
--- not covered in this code. You can add them
--- in if you need them.
--- ONE BIG NOTE.. is that I have this code set up for users
--- who are not using resolutions less than
--- 800,600... this is pretty much about the
--- smallest most people would go anyway.
Jim Limburg
$COMMAND
setscrsize
SET VAR vm_screensize = (CVAL('ScreenSize'))
SET VARIABLE vm_horiz TEXT = (SSUB(.vm_screensize,1))
SET VARIABLE vm_vert TEXT = (SSUB(.vm_screensize,2))
--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=-
-- PROGRAM NAME: setscrsize command block
--
-- AUTHOR: Jim Limburg
-- Tuftco Corporation
-- 2318 Holtzclaw Ave, Chattanooga, TN 37404
-- Voice: 423-698-8601 Fax: 423-698-0842
--
-- PURPOSE: This will set the screen size to whatever the users
-- default screen size. We can alter this by
decreasing
-- the settings by incrementing the variable
-- var_ScrMinus. When var_ScrMinus is set at 0 then
-- whatever rbase returns as it's screen size in the
-- statement:
-- SET VAR vm_screensize = (CVAL('ScreenSize'))
-- which is in the code below, will be what the
-- settings for RBGSIZE will be set to. If
-- var_ScrMinus is incremented up by 1 or 2 or 3
-- it will decrease the size of the default
-- screen resolution for rbase.
-- If you set var_scrminus to a setting that it cannot
-- handle then it will default to FULL SCREEN.
--
-- IS RUN BY: IN CODE using a statement like so:
-- SET VAR var_scrminus INTEGER = 0
-- SET VAR var_defaultsize TEXT = '800,600'
-- RUN setscrsize IN scrsize.rtc
--
-- RETURNS: SETS the RBase sessions screensize
--
-- Ver. Compat.: RBase6.5++ or whenever RBGSIZE command was
-- introduced
--
-- MODIFICATION HISTORY
-- Created: 8/28/2001
--
--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=-
IF var_scrminus 0 THEN --Means that we are setting the size smaller
--than what the users screen size is.
SWITCH ( .vm_horiz )
CASE '800'
SET VAR vm_horiz = '800'
SET VAR vm_vert = '600'
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert -- 800 x 600
BREAK
CASE '1024'
SWITCH ( .var_scrminus )
CASE 1
SET VAR vm_horiz = '800'
SET VAR vm_vert = '600'
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert -- 800 x 600
BREAK
DEFAULT
IF var_defaultsize IS NOT NULL THEN
SET VARIABLE vm_horiz = (SSUB(.var_defaultsize,1))
SET VARIABLE vm_vert = (SSUB(.var_defaultsize,2))
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ELSE
--This sets it to whatever the present screen size is
--Like using the FULL SCREEN RESTORE
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ENDIF
BREAK
ENDSW
BREAK
CASE '1152'
SWITCH ( .var_scrminus )
CASE 1
*(Drop to a 1024 x 768 resolution)
SET VAR vm_horiz = '1024'
SET VAR vm_vert = '768'
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
BREAK
CASE 2
SET VAR vm_horiz = '800'
SET VAR vm_vert = '600'
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert -- 800 x 600
BREAK
DEFAULT
IF var_defaultsize IS NOT NULL THEN
SET VARIABLE vm_horiz = (SSUB(.var_defaultsize,1))
SET VARIABLE vm_vert = (SSUB(.var_defaultsize,2))
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ELSE
--This sets it to whatever the present screen size is
--Like using the FULL SCREEN RESTORE
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ENDIF
BREAK
ENDSW
BREAK
CASE '1280'
SWITCH ( .var_scrminus )
CASE 1
*(Drop to a 1024 x 768 resolution)
SET VAR vm_horiz = '1152'
SET VAR vm_vert = '864'
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
BREAK
CASE 2
*(Drop to a 1024 x 768 resolution)
SET VAR vm_horiz = '1024'
SET VAR vm_vert = '768'
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
BREAK
CASE 3
SET VAR vm_horiz = '800'
SET VAR vm_vert = '600'
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
BREAK
DEFAULT
IF var_defaultsize IS NOT NULL THEN
SET VARIABLE vm_horiz = (SSUB(.var_defaultsize,1))
SET VARIABLE vm_vert = (SSUB(.var_defaultsize,2))
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ELSE
--This sets it to whatever the present screen size is
--Like using the FULL SCREEN RESTORE
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ENDIF
BREAK
ENDSW
BREAK
DEFAULT
IF var_defaultsize IS NOT NULL THEN
SET VARIABLE vm_horiz = (SSUB(.var_defaultsize,1))
SET VARIABLE vm_vert = (SSUB(.var_defaultsize,2))
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ELSE
--This sets it to whatever the present screen size is
--Like using the FULL SCREEN RESTORE
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ENDIF
BREAK
ENDSW
ELSE
IF var_defaultsize IS NOT NULL THEN
SET VARIABLE vm_horiz = (SSUB(.var_defaultsize,1))
SET VARIABLE vm_vert = (SSUB(.var_defaultsize,2))
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ELSE
--This sets it to whatever the present screen size is
--Like using the FULL SCREEN RESTORE
SET RBGSIZE CENTER CENTER &vm_horiz &vm_vert
ENDIF
ENDIF
CLEAR VAR vm%
RETURN