[futurebasic] re: edit field to text/styl resources

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : March 2000 : Group Archive : Group : All Groups

From: Bowerbird@...
Date: Sun, 26 Mar 2000 01:39:10 EST
'   brian-
'   sorry i didn't dig this out earlier for you.
'   don't know if it's better or worse than what you've got,
'   but it's always worked ok for me.
'   -bowerbird
'

CLEAR LOCAL FN AddResource (resHndl&, resType&, resID, resNm$)
LONG IF FN GETHANDLESIZE (resHndl&) <> 0
oldResH& = FN GET1RESOURCE (resType&, resID)
IF oldResH& THEN CALL RMVERESOURCE (oldResH&)
CALL ADDRESOURCE (resHndl&, resType&, resID, resNm$)
CALL WRITERESOURCE (resHndl&)
CALL DETACHRESOURCE (resHndl&)
END IF
END FN : REM AddResource

CLEAR LOCAL FN SaveTEXTStyl (efID, resID)
GET FIELD efHndl&, efID 
LONG IF efHndl& = 0
PRINT "error: getting edit field text";
STOP
XELSE
' get text & styl sizes
resSize% = FN GETHANDLESIZE (efHndl&)
txtSize% = efHndl&..top%
stylSize% = resSize% - txtSize% - 2
' save TEXT resource
resHndl& = FN NEWHANDLE (txtSize%)
LONG IF resHndl& = 0 AND SYSERROR <> _noErr
PRINT "error creating 'text' resource";
STOP
XELSE
BLOCKMOVE [efHndl&] + 2, [resHndl&], txtSize%
FN AddResource (resHndl&, _"TEXT", resID, "")
' now save styl resource
osErr = FN SETHANDLESIZE (resHndl&, stylSize%) 
BLOCKMOVE [efHndl&] + txtSize% + 2, [resHndl&], stylSize%
FN AddResource (resHndl&, _"styl", resID, "")
DEF DISPOSEH (resHndl&)
END IF
KILL FIELD efHndl&
END IF
END FN : REM SaveTEXTStyl