DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦371f061a1⟧ TextFile

    Length: 5017 (0x1399)
    Types: TextFile
    Names: »MCVARS.PAS«

Derivation

└─⟦505fbc898⟧ Bits:30002732 Turbo Pascal 5.0 for C-DOS Partner
    └─⟦this⟧ »MCALC\MCVARS.PAS« 

TextFile


æ 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»