3 cols in the table UserParams:
ParamUserID TEXT 16
UserParamName TEXT 24
UserParamValue TEXT 64 (that might be a little long for form coordinates, but I store other stuff in that col too, e.g. emails addrs)
Each user can store their own size & locations
EEP for "Save" caption button:
SET VAR vTempText TEXT = NULL
GETPROPERTY RBASE_FORM LEFT 'gMainMenuLeft'
UPDATE UserParams SET UserParamValue = .gMainMenuLeft +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'gMainMenuLeft'
IF SQLCODE <> 0 THEN
INSERT INTO +
UserParams (ParamUserID,UserParamName,UserParamValue) +
VALUES (.gUserID,'gMainMenuLeft',.gMainMenuLeft)
ENDIF
GETPROPERTY RBASE_FORM TOP 'gMainMenuTop'
UPDATE UserParams SET UserParamValue = .gMainMenuTop +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'gMainMenuTop'
IF SQLCODE <> 0 THEN
INSERT INTO +
UserParams (ParamUserID,UserParamName,UserParamValue) +
VALUES (.gUserID,'gMainMenuTop',.gMainMenuTop)
ENDIF
GETPROPERTY RBASE_FORM WIDTH 'gMainMenuWidth'
UPDATE UserParams SET UserParamValue = .gMainMenuWidth +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'gMainMenuWidth'
IF SQLCODE <> 0 THEN
INSERT INTO +
UserParams (ParamUserID,UserParamName,UserParamValue) +
VALUES (.gUserID,'gMainMenuWidth',.gMainMenuWidth)
ENDIF
GETPROPERTY RBASE_FORM HEIGHT 'gMainMenuHeight'
UPDATE UserParams SET UserParamValue = .gMainMenuHeight +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'gMainMenuHeight'
IF SQLCODE <> 0 THEN
INSERT INTO +
UserParams (ParamUserID,UserParamName,UserParamValue) +
VALUES (.gUserID,'gMainMenuHeight',.gMainMenuHeight)
ENDIF
RETURN
A "Mine" button restore the screen to the particular user's specs:
SELECT UserParamValue INTO vTempText vI +
FROM UserParams +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'MainMenuWidth'
PROPERTY RBASE_FORM WIDTH .vTempText
SELECT UserParamValue INTO vTempText vI +
FROM UserParams +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'MainMenuHeight'
PROPERTY RBASE_FORM HEIGHT .vTempText
SELECT UserParamValue INTO vTempText vI +
FROM UserParams +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'MainMenuLeft'
PROPERTY RBASE_FORM LEFT .vTempText
SELECT UserParamValue INTO vTempText vI +
FROM UserParams +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'MainMenuTop'
PROPERTY RBASE_FORM TOP .vTempText
I also have a button to minimize the form to just the caption bar:
PROPERTY RBASE_FORM HEIGHT 20
PROPERTY RBASE_FORM AUTOSCROLL 'FALSE'
Use can click the "Mine" button to restore the form to their spec.
Doug
MDRD wrote:
HiIs there a way for RBase to remember the form size and locationon the screen?ThanksMarc

