|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5017 (0x1399)
Types: TextFile
Names: »MCVARS.PAS«
└─⟦505fbc898⟧ Bits:30002732 Turbo Pascal 5.0 for C-DOS Partner
└─⟦this⟧ »MCALC\MCVARS.PAS«
æ Copyright (c) 1985, 88 by Borland International, Inc. å
unit MCVARS;
interface
uses Crt;
æ$IFOPT N+å
type
Real = Extended;
const
EXPLIMIT = 11356;
SQRLIMIT = 1E2466;
MAXPLACES = 8;
MAXEXPLEN = 4;
æ$ELSEå
const
EXPLIMIT = 88;
SQRLIMIT = 1E18;
MAXPLACES = 4;
MAXEXPLEN = 3;
æ$ENDIFå
const
MSGHEADER = 'MICROCALC - A Turbo Pascal Demonstration Program';
MSGKEYPRESS = 'Press any key to continue.';
MSGCOMMAND = 'Press / for the list of commands';
MSGMEMORY = 'Memory Available:';
MSGLOMEM = 'Not enough memory to allocate cell.';
MSGERRORTXT = 'ERROR';
MSGEMPTY = 'Empty';
MSGTEXT = 'Text';
MSGVALUE = 'Value';
MSGFORMULA = 'Formula';
MSGAUTOCALC = 'AutoCalc';
MSGFORMDISPLAY = 'Form';
MSGFILENAME = 'Enter the file name of the spreadsheet:';
MSGNAME = 'Turbo Pascal MicroCalc Spreadsheet';
MSGCOLWIDTH = 'Enter the new column width:';
MSGNOOPEN = 'Can''t open the file.';
MSGOVERWRITE = 'The file exists. Do you want to overwrite it?';
MSGFILELOMEM = 'Not enough memory for entire spreadsheet.';
MSGNOMICROCALC = 'That is not a Turbo Pascal MicroCalc spreadsheet.';
MSGBADREALS = 'The reals in the file are in a different format.';
MSGNOEXIST = 'The file does not exist.';
MSGGOTO = 'Enter the cell to go to:';
MSGBADNUMBER = 'You must enter a number from';
MSGBADCELL = 'That is not a legal cell.';
MSGCELL1 = 'Enter the first cell to format:';
MSGCELL2 = 'Enter the last cell to format:';
MSGDIFFCOLROW = 'The row or the column must be the same.';
MSGRIGHTJUST = 'Do you want the cell right-justified?';
MSGDOLLAR = 'Do you want numbers in a dollar format?';
MSGCOMMAS = 'Do you want commas in numbers?';
MSGPLACES = 'How many decimal places should the number be rounded to?';
MSGCOLUMNS = 'Do you want to print in 132 columns?';
MSGPRINT = 'Enter the file name to print to, or press ENTER to print on the printer.';
MSGBORDER = 'Print the border?';
MSGLOADING = 'Loading...';
MSGSAVING = 'Saving...';
MSGSAVESHEET = 'Save current spreadsheet?';
MSGSTACKERROR = 'Parser stack overflow.';
MNU = 'Spreadsheet, Format, Delete, Goto, Col, Row, Edit, Utility, Auto, Quit';
COMMAND = 'SFDGCREUAQ';
SMNU = 'Load, Save, Print, Clear';
SCOMMAND = 'LSPC';
CMNU = 'Insert, Delete, Width';
CCOMMAND = 'IDW';
RMNU = 'Insert, Delete';
RCOMMAND = 'ID';
UMNU = 'Recalc, Formula display, Toggle 43-line mode';
UCOMMAND = 'RFT';
MAXCOLS = 100; æ Maximum is 702 å
MAXROWS = 100;
LEFTMARGIN = 3;
MINCOLWIDTH = 3;
MAXCOLWIDTH = 77;
SCREENCOLS = 26;
DEFAULTWIDTH = 10;
DEFAULTFORMAT = $42;
MAXINPUT = 79;
TOPMARGIN = 5;
PARSERSTACKSIZE = 20;
TXTCOLOR = White;
ERRORCOLOR = 140; æ LightRed + Blink å
VALUECOLOR = LightCyan;
FORMULACOLOR = LightMagenta;
BLANKCOLOR = Black;
HEADERCOLOR = 79; æ White on Red å
HIGHLIGHTCOLOR = 31; æ White on Blue å
HIGHLIGHTERRORCOLOR = 159; æ White + Blink on Blue å
MSGAUTOCALCCOLOR = LightCyan;
MSGFORMDISPLAYCOLOR = LightMagenta;
MSGMEMORYCOLOR = LightGreen;
MSGHEADERCOLOR = LightCyan;
PROMPTCOLOR = Yellow;
COMMANDCOLOR = LightCyan;
LOWCOMMANDCOLOR = White;
MEMORYCOLOR = LightRed;
CELLTYPECOLOR = LightGreen;
CELLCONTENTSCOLOR = Yellow;
HIGHLIGHT = True;
NOHIGHLIGHT = False;
UPDATE = True;
NOUPDATE = False;
DOFORMAT = True;
NOFORMAT = False;
LEFT = 0;
RIGHT = 1;
UP = 2;
DOWN = 3;
TXT = 0;
VALUE = 1;
FORMULA = 2;
COLADD = 0;
COLDEL = 1;
ROWADD = 2;
ROWDEL = 3;
OVERWRITE = $80;
RJUSTIFY = $40;
COMMAS = $20;
DOLLAR = $10;
LETTERS : set of Char = Æ'A'..'Z', 'a'..'z'Å;
NULL = #0;
BS = #8;
FORMFEED = #12;
CR = #13;
ESC = #27;
HOMEKEY = #199;
ENDKEY = #207;
UPKEY = #200;
DOWNKEY = #208;
PGUPKEY = #201;
PGDNKEY = #209;
LEFTKEY = #203;
INSKEY = #210;
RIGHTKEY = #205;
DELKEY = #211;
CTRLLEFTKEY = #243;
CTRLRIGHTKEY = #244;
F1 = #187;
F2 = #188;
F3 = #189;
F4 = #190;
F5 = #191;
F6 = #192;
F7 = #193;
F8 = #194;
F9 = #195;
F10 = #196;
type
IString = StringÆMAXINPUTÅ;
CellRec = record
Error : Boolean;
case Attrib : Byte of
TXT : (T : IString);
VALUE : (Value : Real);
FORMULA : (Fvalue : Real;
Formula : IString);
end;
CellPtr = ^CellRec;
var
Cell : array Æ1..MAXCOLS, 1..MAXROWSÅ of CellPtr;
CurCell : CellPtr;
Format : array Æ1..MAXCOLS, 1..MAXROWSÅ of Byte;
ColWidth : array Æ1..MAXCOLSÅ of Byte;
ColStart : array Æ1..SCREENCOLSÅ of Byte;
LeftCol, RightCol, TopRow, BottomRow, CurCol, CurRow, LastCol,
LastRow : Word;
Changed, FormDisplay, AutoCalc, Stop, ColorCard : Boolean;
ColorTable : array Æ0..255Å of Byte;
ScreenRows : Byte;
OldMode : Word;
UMenuString : StringÆ80Å;
UCommandString : StringÆ3Å;
implementation
end.
«eof»