Introducing CalcText BASIC

Hi guys, I've been working on a project the last couple of days that ought to make writing text programs a little easier.

Basically, this allows you to easily write a program in TI-BASIC that displays text of the graph screen, without having to worry about running out of space space on the line or page. Currently just for the TI-84+ CE, a I've started working on a version for the TI-83/84+, though without owning one, won't be able to test (shouldn't be too hard though). The goal of CalcText is to be easy to use on the default settings, but highly customizable.

Repo at: https://github.com/ThroneUnknown/CalcText-BASIC

Note: CalcText requires Python 3.6+ to run which can be downloaded from www.python.org or you can use an online version

Basic Syntax (assuming default settings)
(y,x) Changes the position of the next text in pixels (see next command) to these coordinates. Can add + or minus before a number to increment instead of setting, or leave blank to not change number at all, eg. (,+3). Note that this coordinate is from the top left corner.
,insert text here Would return Text(x,y,"insert text here"
;;; Triggers the new page code immediately
,,, Triggers the new line code immediately
COLOR Just writing the name of the color will convert it into TextColor(color

More advanced commands can be found in README.txt
To run, syntax is python calctext.py [inputfile] [outputfile] in the command line.

Supported characters:
Anything that can be typed on the calculator with the exception to superscripts, subscripts, and the Greek characters (θ is supported though).

Let me know what features you would like added next, and have fun! Very Happy
Interesting. Could've saved you a good bit of effort on the character widths if you had searched for it: https://www.cemetech.net/forum/viewtopic.php?p=234692#234692

You may also be interested in BasicNote CE, which is an on-calc text editor which uses the variable pixel widths of each character to determine what can fit on each line, and word-wrap appropriately from there.

Anyway your program looks great so far!
Milestone 1 has been reached!

In this new version, several features have been added, most notably the ability to create custom tags. This allows you to automate the writing of other any tasks you want, not just the end of line and end of page behavior. Here's the full list of features:

  • Custom tags: write a tag with <a></a> (or any other single character of your choice), and call upon it when needed using its trigger, which can be defined via aTRIGGER @@@. Note that any string is valid as a trigger.

  • Multiple statements per line: Combine multiple commands in one line with the backtick (`), customizable with the SPLITCHAR [character] command, though strings should also work (untested). Note that any text created using the shortcut (default of ,) must be the ONLY command on a line, or else things either break, or don't go as planned.

  • New tag: <b></b>: Commands inside this tag are automatically executed at the beginning of each text statement using the shortcut, useful for creating bullet points.

Future changes if I ever get around to them...
Going forward, there are a couple features I would like to add to make this program more powerful as far as automating menial tasks go. Here are some:
  • Functions: think tags but they can take input in the form of some parameters and maybe even return values
  • Longer tag names: currently all tags must be a single character, expanding this would make commands more readable.
  • Preset tags: Have options to use preset tags, eg. for bullet points, lists, headers, etc.
  • Text Alignment: Add ability to center text or align it to the right.

As always, additional documentation can be found in readme.txt, and feel free to ask questions on this page.
Thats all for now! Smile
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement