- Notifications
You must be signed in to change notification settings - Fork2
Lotus 1-2-3 compatible spreadsheet for terminals with physics unit engine
License
freakout42/macrocalc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
mc - MacroCALC is a Lotus 1-2-3 compatible character based spreadsheet thatsupports 100000 rows, 700 columns, 40 functions, display formats, file linking,macro programming, pipes and user definable functions. It runs on everyterminal or emulation that has a correct terminfo-entry. The user-interface isvery convenient and well-known by 1-2-3 users. Function- and arrow-keys andextended video attributes are supported.
MacroCALC is the only spreadsheet that manages units: 1 mile + 1 km = 1.62 miles;1 km / 1 hour * 30 sec = 8.33 m. This can be seen as a physical engine.It also has support of complex numbers with complex arithmetic and functions.So sqrt(-1) = i and E ^ (I * PI) + 1 = 0.
Build from source und install for one user only without sudo
Building mc needs an ANSI-C compiler with curses-lib, lex and yacc. Clone and./configure
followed bymake
. All programs are build into./dist/arx
andcan run without sudo-installation directly from the build-directory. To startthe spreadsheet simply:dist/arx/bin/321
- for a user-install you are done.Install systemwide
After build (1.)sudo make install
installs in/opt/arx/
. Nothing outside/opt/arx/
will be touched in any way by the installation. Removing mc is simplydone by a recursiverm -r /opt/arx
. For convenience/opt/arx/bin
should beadded to the PATH in a system appropriate manner.321
ormc
will then work.Binary with precompiled tarball
Download the released assetmc-<releasetag>-<platform>-<hardware>.tar.gz
foryour platform (lu-Linux l6-Linux64 fb-FreeBSD md-MacOS) and untar to/opt/arx
.Add/opt/arx/bin
to $PATH and you are done to use the system by321
ormc
.RPM package install
Downloadmacrocalc-<releasetag>.i386.rpm
andsudo rpm --nodigest --nofiledigest -i macrocalc-<releasetag>.i386.rpm
sudo ldconfig
After a relogin macrocalc will start by321
ormc
.
You need i686 glibc installed on 64bit machines:sudo yum install glibc.i686
Docker image
docker pull ghcr.io/freakout42/macrocalc:latest
export COLUMNS="$(tput cols)"
export LINES="$(tput lines)"
docker run -e COLUMNS -e LINES -e TERM -ti ghcr.io/freakout42/macrocalc:latest
Windows .exe Download
https://github.com/freakout42/macrocalc/releases/download/v10.53/mc-10.53-w3-i386.exe.zip
and unzip mc.exe and mc2wks.exe. Start it with any console with fullpathname or double-click it with the explorer.
The sourcecode of MacroCALC is from 1979 - there is no unicode (UTF-8) support.For international characters configure your terminal for an 8-bit codebase:
If you are using PuTTY you must set for the session:
Window->Translation->Remote character set = ISO-8859-15
With the MacOS Terminal application:
Settings->General->Profiles->International-> Text Encoding = Western (ISO Latin 9)X Set locale environment variables on startup
Start a local xterm with:
LC_ALL=en_US.iso885915 LANG=en_US.iso885915-US xterm
Navigate through the sheet with the arrow-keys. The dot (.) marks thebeginning and end of a range, which can be copied or manipulated with themenu by the slash (/). The apostrophe (') starts a text-cell, any otherkey a number or formula. Open "mc" and type (|v|
is the down-arrow-key):
. ' h e l l o |v|
you have marked A1 as range starting point and set A1 to text "hello".Lets enter some numbers and a formula:
1 |v| 2 |v| . a 2 + a 3 $ |v|
you have now A2=1 A3=2 A4=3 and A1..A4 as range. Now navigate to B1 and:
/ c |v| 3 |v| 4 |v|
you have copied the range A1..A4 to B1..B4 and set B2=3 B3=4 and B4=5.Why is B4=5 and not 3 or 7? Because you typed $ after a3 this makes ita relative cell reference [+0;-1] and refers to B3 in the copied formula.
REMEMBER TO START MacroCALC WITH THE-u
OPTION TO USE UNITS
To enter a value with an unit add the unit at the end enclosed incurly brackets. For example to enter 1 meter and 1 km and add both:
1 { m } |v| 1 { k m } |v| a 1 + a 2 |v|
you will see1001 m
as the result.
Simplified BSD LicenseCopyright (c) 2024, Axel K. ReinholdAll rights reserved.
About
Lotus 1-2-3 compatible spreadsheet for terminals with physics unit engine