(42S, Free42) Unit Conversion Suite
02-05-2018, 02:00 PM (This post was last modified: 02-05-2018 03:27 PM by Werner.)
Post: #5
 Werner Senior Member Posts: 375 Joined: Dec 2013
RE: (42S, Free42) Unit Conversion Suite
(edited twice already to fix bugs in the printout ;-)
I'm almost done rewriting this completely, just to see if it could be done.
I define each unit category as a matrix. First column is the alpha data; second is the multiplier, in case of TEMP the third column is the additive constant.
So eg. TEMP will look like

Code:
"TEMP" [ 4x3 Matrix ] [[ "°C" 1 0 ]  [ "°F" 5.55555555556E-1 32 ]  [ "K" 1 273.15 ]  [ "R" 5.55555555556E-1 491.67 ] ]

Then I have a single column matrix with all categories that I call CCAT, so

Code:
"CCAT" [ 12x1 MATRIX  ] [[ "LENG"  ]  [ "AREA"  ]  [ "VOL"   ]  [ "TIME"  ]  [ "SPEED" ]  [ "ACCEL" ]  [ "MASS"  ]  [ "FORCE" ]  [ "ENERG" ]  [ "POWER" ]  [ "PRESS" ]  [ "TEMP"  ] ]

Then all we need is a routine that will build a menu (with paging if necessary) out of the first column of a matrix, and treats the item chosen.
And so I end up with a single program that can treat as many conversions as you like - just define new matrices as you go along and add categories.
The routine is not 100% finished, but it already works as it is, so yes, it can be done ;-). The only drawback is that Free42 does not allow you to export a matrix, only programs. So I'll have to provide a one-shot program that creates the matrices. Here's the current to-be-worked-on version for the interested:

Code:
>LBL "CONV"  CLX >LBL 12  INDEX "CCAT"  XEQ 13  RCL ".I"  X>=0?  GTO 00  CLV ".I"  CLV ".C"  CLV ".B"  EXITALL  RTN >LBL 00  STO ".C"  RCLEL  INDEX IND ST X  CLX  CF 22 >LBL 11  XEQ 13  RCL ".I"  X>=0?  GTO 00  RCL ".C"  GTO 12 >LBL 00  Rv  RCLEL  J+  RCLEL  J+  RCLEL  FS? 76  CLX  FC?C 22  GTO 00  +/-  RCL+ ST T  x  STO ".B"  X<> ST T  GTO 01 >LBL 00  X<>Y  RCL ".B"  X<>Y  /  + >LBL 01  CLA  ARCL ST X  +" "  ARCL ST Y  AVIEW  RCL ".I"  GTO 11 >LBL 13        -- Matrix Menu  STO ".I"  CLMENU  1  STO+ ST Y  STOIJ  -  KEY 9 GTO 09  XEQ 14  KEY 1 GTO 01  FS? 76  GTO 00  XEQ 14  KEY 2 GTO 02  FS? 76  GTO 00  XEQ 14  KEY 3 GTO 03  FS? 76  GTO 00  XEQ 14  KEY 4 GTO 04  FS? 76  GTO 00  XEQ 14  KEY 5 GTO 05  FS? 76  GTO 00  XEQ 14  KEY 6 GTO 06 -- key 7 and 8 only when 7 or more items  FC? 76  GTO 07 >LBL 00 -- we reached the end. We have more than 6 items when index>0  X=0?  GTO 10 >LBL 07  KEY 7 GTO 07  KEY 8 GTO 08 >LBL 10  MENU  STOP  GTO 10 >LBL 01  1  GTO 00 >LBL 02  2  GTO 00 >LBL 03  3  GTO 00 >LBL 04  4  GTO 00 >LBL 05  5  GTO 00 >LBL 06  6 >LBL 00  RCL+ ".I"  1  STOIJ  Rv  Rv  RTN >LBL 07        -- previous page  RCL ".I"  6  -  X>=0?  GTO 13          -- last page  1  ENTER  STOIJ  I-  RCLIJ  SIGN  -  STO ST Y  6  MOD  -  GTO 13  >LBL 08        -- next page  6  RCL+ ".I"  FS? 76  CLX  GTO 13        -- first page >LBL 09  -1  STO ".I"  RTN >LBL 14  CLA  RCLEL  Rv  ARCL ST T  I+  END

No .raw file as yet though.

Cheers, Werner
 « Next Oldest | Next Newest »

 Messages In This Thread (42S, Free42) Unit Conversion Suite - Dave Britten - 01-10-2018, 04:08 PM RE: (42S, Free42) Unit Conversion Suite - Logan - 02-02-2018, 02:44 AM RE: (42S, Free42) Unit Conversion Suite - Logan - 02-02-2018, 03:16 AM RE: (42S, Free42) Unit Conversion Suite - Dave Britten - 02-02-2018, 12:06 PM RE: (42S, Free42) Unit Conversion Suite - Werner - 02-05-2018 02:00 PM RE: (42S, Free42) Unit Conversion Suite - Logan - 02-05-2018, 03:28 PM RE: (42S, Free42) Unit Conversion Suite - Dave Britten - 02-05-2018, 08:31 PM RE: (42S, Free42) Unit Conversion Suite - Werner - 02-06-2018, 07:01 AM RE: (42S, Free42) Unit Conversion Suite - Dave Britten - 10-09-2018, 01:18 PM RE: (42S, Free42) Unit Conversion Suite - Logan - 10-09-2018, 01:21 PM RE: (42S, Free42) Unit Conversion Suite - Thomas Klemm - 10-11-2018, 08:10 PM RE: (42S, Free42) Unit Conversion Suite - Bernd - 10-16-2018, 07:29 PM RE: (42S, Free42) Unit Conversion Suite - Dave Britten - 05-03-2019, 03:24 PM RE: (42S, Free42) Unit Conversion Suite - Logan - 05-03-2019, 03:26 PM RE: (42S, Free42) Unit Conversion Suite - Dave Britten - 05-03-2019, 04:08 PM RE: (42S, Free42) Unit Conversion Suite - Logan - 05-03-2019, 04:20 PM RE: (42S, Free42) Unit Conversion Suite - Thomas Okken - 05-16-2019, 10:22 PM

User(s) browsing this thread: 1 Guest(s)