Hmm. that makes sense, Shawn. I'm not sure that adding the color doesn't dilute the function. I suppose it could return an array in the form:

$ok = GetScr(0,0,10)

$string = $ok[0]
$stringforeground = $ok[1]
$stringbackground = $ok[2]

; LEN($ok[0])=LEN($ok[1])=LEN($ok[2])

For $N = 1 to LEN($ok[0])
$character = SUBSTR($ok[0],$N,1)
$foreground = SUBSTR($ok[1],$N,1)
$foreground = VAL("&$foreground")
$background = SUBSTR($ok[2],$N,1)
$foreground = VAL("&$foreground")
Next

Something like this... using HEX to identify the color... although I'm not sure... it might be nice to specify in the function that you actually want the color attributes:

$ok = GetScr($x,$y,$numchars,Optional $color)

$color would be set to 1 if you want to return the background and 2 if you want to return the foreground color.... just a thought.

Brian