Friday, December 19, 2008
Tip of the Day #4: Dynamically Changing Themes in R:BASE Application (.RBA)
Section: Additional PROPERTY and GETPROPERTY Commands
Supported Versions:
. R:BASE 7.6 for Windows (Build: 7.6.5.31229 or higher)
. R:BASE C/S:I 7.6 for Windows (Build: 7.6.5.31229 or higher)
. R:BASE Turbo V-8 for Windows (Build: 8.0.19.31229 or higher)
. R:BASE eXtreme (v9) for Windows (Build: 9.0.1.11229 or higher)
Current versions of R:BASE for Windows allow you to design and
distribute the stand alone R:BASE Application (.RBA) files using
the "Applications" module of R:BASE Database Explorer.
While in Application designer, you may elect to use Application
Theme by checking the [ ] Use Theme option and then selecting
your favorite theme from among the list of supported themes.
Did you know that now you can dynamically change the R:BASE
Application (.RBA) theme using the following PROPERTY command?
Example 01:
-- Start
-- Application: On After Start Action
CLEAR VARIABLE vThemeName
SET VAR vThemeName TEXT = NULL
IF (CVAL('NetUser')) <> 'Razzak' THEN
PROPERTY RBA_FORM THEMENAME 'Sports Blue'
PROPERTY RBA_FORM CAPTION 'Using Sports Blue'
ELSE
PROPERTY RBA_FORM THEMENAME 'R:BASE Rocks!'
PROPERTY RBA_FORM CAPTION 'Using R:BASE Rocks!'
ENDIF
RETURN
-- End
Example 02:
-- Start
-- Application: On After Start Action
IF (CVAL('DATABASE')) <> 'RRBYW16' OR (CVAL('DATABASE')) IS NULL THEN
CONNECT RRBYW16 IDENTIFIED BY NONE
ENDIF
CLEAR VARIABLE vUserThemeName,vThemeCaption,vDefaultTheme
SET VAR vUserThemeName TEXT = NULL
SET VAR vThemeCaption TEXT = NULL
SET VAR vDefaultTheme TEXT = 'Convergence'
SELECT UserThemeName, ThemeCaption INTO +
vUserThemeName INDIC ivUserThemeName, +
vThemeCaption INDIC ivThemeCaption +
FROM UserThemes WHERE UserName = (CVAL('NetUser'))
IF vUserThemeName IS NULL THEN
SET VAR vUserThemeName = .vDefaultTheme
SET VAR vThemeCaption = .vDefaultTheme
ENDIF
PROPERTY RBA_FORM THEMENAME .vUserThemeName
PROPERTY RBA_FORM CAPTION .vUserThemeName
RETURN
-- End
Enjoy the R:BASE you have always wanted!
Very Best R:egards,
Razzak.