J_SCHULL@acc.haverford.edu (Jonathan Schull) (09/07/90)
function embedded in a writeln statement, for reasons mentioned in one of the postings--the function (which manipulated TextColor and TextBackground) is evaluated and executed before ANY of the writing happens. The following trick (suggested by a list member whose name I've lost) DOES work, but requires ANSI.SYS (Turbo's CRT unit is NOT needed). function UNDERLINE (s: string): string; begin UNDERLINE := #27 + '[4m' + s + #27 + '[0m'; end; {UNDERLINE} begin writeln('This is ',UNDERLINE('underlined!'),' This isnt'); writeln('It requires ANSI.SYS') end. =================================================================== One can also declare two constants, as follows const Uon=#27 + '[4m'; const Uoff=#27 + '[0m'; begin writeln('This is another way of ',UON,'underlining',UOFF,' using constants.'); writeln('It requires ANSI.SYS') end. I haven't tried implementing the writing-to-video-memory approach (and probably won't....).
jrwsnsr@nmt.edu (Jonathan R. Watts) (09/09/90)
J_SCHULL@acc.haverford.edu (Jonathan Schull) mentions a way to set underline using ANSI.SYS, and mentions that it does not require the CRT unit. Actually, it won't work if you use the CRT unit unless you disable CRT's default behavior of writing directly to the screen. - Jonathan Watts jrwsnsr@jupiter.nmt.edu (Internet address)