Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Lotus 1-2-3 compatible spreadsheet for terminals with physics unit engine

License

NotificationsYou must be signed in to change notification settings

freakout42/macrocalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

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.

6 Install options

  1. 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.

  2. 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.

  3. 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.

  4. RPM package install
    Downloadmacrocalc-<releasetag>.i386.rpm and
    sudo 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

  5. 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

  6. 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.

Non-ascii characters

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

Getting started

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.

Using units

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.

License

Simplified BSD LicenseCopyright (c) 2024, Axel K. ReinholdAll rights reserved.

[8]ページ先頭

©2009-2025 Movatter.jp