• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Repository of various works in text file format


Commit MetaInfo

Revision1122ba0b206431ad2d260189a329d60ed54eb288 (tree)
Time2018-02-20 07:16:26
Authorpierfrancesco A <pier4r4reich@yaho...>
Commiterpierfrancesco A

Log Message

improving data collection interface for the 50g and life gamification. Now I do not have to modify lists manually, that is quite error prone, I have a better interface to collect data. Though finding INFORML took a bit of time since the built in INFORM is pretty limited. It works well although not exactly efficient. Also expanded the user rpl language definition

Change Summary

Incremental Difference

--- /dev/null
+++ b/notepad++/userrpl_2018-02-19.xml
@@ -0,0 +1,64 @@
1+<NotepadPlus>
2+ <UserLang name="userrpl" ext="" udlVersion="2.1">
3+ <Settings>
4+ <Global caseIgnored="no" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
5+ <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="yes" Keywords5="yes" Keywords6="no" Keywords7="no" Keywords8="no" />
6+ </Settings>
7+ <KeywordLists>
8+ <Keywords name="Comments">00@ 01 02@ 03 04</Keywords>
9+ <Keywords name="Numbers, prefix1"></Keywords>
10+ <Keywords name="Numbers, prefix2"></Keywords>
11+ <Keywords name="Numbers, extras1"></Keywords>
12+ <Keywords name="Numbers, extras2"></Keywords>
13+ <Keywords name="Numbers, suffix1"></Keywords>
14+ <Keywords name="Numbers, suffix2"></Keywords>
15+ <Keywords name="Numbers, range"></Keywords>
16+ <Keywords name="Operators1"></Keywords>
17+ <Keywords name="Operators2"></Keywords>
18+ <Keywords name="Folders in code1, open">\&lt;&lt;</Keywords>
19+ <Keywords name="Folders in code1, middle"></Keywords>
20+ <Keywords name="Folders in code1, close">\&gt;&gt;</Keywords>
21+ <Keywords name="Folders in code2, open"></Keywords>
22+ <Keywords name="Folders in code2, middle"></Keywords>
23+ <Keywords name="Folders in code2, close"></Keywords>
24+ <Keywords name="Folders in comment, open"></Keywords>
25+ <Keywords name="Folders in comment, middle"></Keywords>
26+ <Keywords name="Folders in comment, close"></Keywords>
27+ <Keywords name="Keywords1">DIR&#x000D;&#x000A;END&#x000D;&#x000A;&#x000D;&#x000A;IF&#x000D;&#x000A;THEN&#x000D;&#x000A;ELSE&#x000D;&#x000A;IFT&#x000D;&#x000A;IFTE&#x000D;&#x000A;&#x000D;&#x000A;IFERR&#x000D;&#x000A;DOERR&#x000D;&#x000A;KILL&#x000D;&#x000A;HALT&#x000D;&#x000A;&#x000D;&#x000A;START&#x000D;&#x000A;NEXT&#x000D;&#x000A;FOR&#x000D;&#x000A;STEP &#x000D;&#x000A;WHILE&#x000D;&#x000A;REPEAT&#x000D;&#x000A;UNTIL&#x000D;&#x000A;DO&#x000D;&#x000A;&#x000D;&#x000A;DOSUBS&#x000D;&#x000A;NSUB&#x000D;&#x000A;ENDSUB&#x000D;&#x000A;DOLIST&#x000D;&#x000A;STREAM&#x000D;&#x000A;MAP&#x000D;&#x000A;&#x000D;&#x000A;PICK&#x000D;&#x000A;OVER&#x000D;&#x000A;PICK3&#x000D;&#x000A;UNPICK&#x000D;&#x000A;ROLL&#x000D;&#x000A;ROLLD&#x000D;&#x000A;SWAP&#x000D;&#x000A;DROP&#x000D;&#x000A;DROP2&#x000D;&#x000A;DROPN&#x000D;&#x000A;DUP&#x000D;&#x000A;DUP2&#x000D;&#x000A;DUPDUP&#x000D;&#x000A;DUPN&#x000D;&#x000A;NDUPN&#x000D;&#x000A;NIP&#x000D;&#x000A;ROT&#x000D;&#x000A;UNROT&#x000D;&#x000A;DEPTH&#x000D;&#x000A;&#x000D;&#x000A;PURGE&#x000D;&#x000A;STO&#x000D;&#x000A;STO+&#x000D;&#x000A;STO-&#x000D;&#x000A;STO*&#x000D;&#x000A;STO/&#x000D;&#x000A;RCL&#x000D;&#x000A;PUSH&#x000D;&#x000A;POP&#x000D;&#x000A;&#x000D;&#x000A;TEVAL&#x000D;&#x000A;TICKS&#x000D;&#x000A;TIME&#x000D;&#x000A;WAIT&#x000D;&#x000A;KEY&#x000D;&#x000A;&#x000D;&#x000A;EVAL&#x000D;&#x000A;&#x000D;&#x000A;SF&#x000D;&#x000A;FS?&#x000D;&#x000A;CF&#x000D;&#x000A;FC?&#x000D;&#x000A;FS?C&#x000D;&#x000A;FC?C&#x000D;&#x000A;&#x000D;&#x000A;\-&gt;LIST&#x000D;&#x000A;OBJ\-&gt;&#x000D;&#x000A;\-&gt;TAG&#x000D;&#x000A;TAG\-&gt;&#x000D;&#x000A;&#x000D;&#x000A;CHR&#x000D;&#x000A;\-&gt;STR&#x000D;&#x000A;SREPL&#x000D;&#x000A;\!^MATCH&#x000D;&#x000A;&#x000D;&#x000A;REPL&#x000D;&#x000A;SIZE&#x000D;&#x000A;ADD&#x000D;&#x000A;LSORT&#x000D;&#x000A;SORT&#x000D;&#x000A;GET&#x000D;&#x000A;PUT&#x000D;&#x000A;HEAD&#x000D;&#x000A;TAIL&#x000D;&#x000A;\GSLIST&#x000D;&#x000A;\PILIST&#x000D;&#x000A;\GDLIST&#x000D;&#x000A;POS&#x000D;&#x000A;REVLIST&#x000D;&#x000A;SUB&#x000D;&#x000A;&#x000D;&#x000A;LSORT&#x000D;&#x000A;LPOP&#x000D;&#x000A;LPUSH&#x000D;&#x000A;LHDTL&#x000D;&#x000A;MPOS&#x000D;&#x000A;LROT&#x000D;&#x000A;LSUM&#x000D;&#x000A;LNDUP&#x000D;&#x000A;NL\-&gt;I&#x000D;&#x000A;LDDUP&#x000D;&#x000A;LMRPT&#x000D;&#x000A;DOPERM&#x000D;&#x000A;DOCOMB&#x000D;&#x000A;KSORT&#x000D;&#x000A;LFRST&#x000D;&#x000A;LLAST&#x000D;&#x000A;AXL&#x000D;&#x000A;&#x000D;&#x000A;ROW+&#x000D;&#x000A;ROW-&#x000D;&#x000A;COL+&#x000D;&#x000A;COL-&#x000D;&#x000A;&#x000D;&#x000A;%T&#x000D;&#x000A;+&#x000D;&#x000A;*&#x000D;&#x000A;-&#x000D;&#x000A;/&#x000D;&#x000A;^&#x000D;&#x000A;\v/&#x000D;&#x000A;INV&#x000D;&#x000A;RND&#x000D;&#x000A;FLOOR&#x000D;&#x000A;CEIL&#x000D;&#x000A;R\-&gt;I&#x000D;&#x000A;I\-&gt;R&#x000D;&#x000A;ABS&#x000D;&#x000A;RAND&#x000D;&#x000A;MOD&#x000D;&#x000A;ISPRIME?&#x000D;&#x000A;FACTORS&#x000D;&#x000A;NEXTPRIME&#x000D;&#x000A;IP&#x000D;&#x000A;FP&#x000D;&#x000A;&#x000D;&#x000A;SIN&#x000D;&#x000A;COS&#x000D;&#x000A;&#x000D;&#x000A;LN&#x000D;&#x000A;EXP&#x000D;&#x000A;ALOG&#x000D;&#x000A;LOG&#x000D;&#x000A;&#x000D;&#x000A;DISP&#x000D;&#x000A;INFORM&#x000D;&#x000A;NOVAL&#x000D;&#x000A;INLIST&#x000D;&#x000A;INFORML&#x000D;&#x000A;&#x000D;&#x000A;UPDIR&#x000D;&#x000A;TVARS&#x000D;&#x000A;TYPE</Keywords>
28+ <Keywords name="Keywords2">\=/ &#x000D;&#x000A;\&lt;= &#x000D;&#x000A;\&gt;=&#x000D;&#x000A;==&#x000D;&#x000A;&gt;&#x000D;&#x000A;&lt;&#x000D;&#x000A;NOT&#x000D;&#x000A;AND&#x000D;&#x000A;OR&#x000D;&#x000A;SAME</Keywords>
29+ <Keywords name="Keywords3">\-&gt;&#x000D;&#x000A;{&#x000D;&#x000A;}&#x000D;&#x000A;[&#x000D;&#x000A;]&#x000D;&#x000A;{}&#x000D;&#x000A;[]</Keywords>
30+ <Keywords name="Keywords4">lv&#x000D;&#x000A;\&lt;-lg&#x000D;&#x000A;lp</Keywords>
31+ <Keywords name="Keywords5">gv&#x000D;&#x000A;gp&#x000D;&#x000A;gd</Keywords>
32+ <Keywords name="Keywords6">\PI&#x000D;&#x000A;\pi</Keywords>
33+ <Keywords name="Keywords7"></Keywords>
34+ <Keywords name="Keywords8"></Keywords>
35+ <Keywords name="Delimiters">00&quot; 01 02&quot; 03&apos; 04 05&apos; 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
36+ </KeywordLists>
37+ <Styles>
38+ <WordsStyle name="DEFAULT" fgColor="80FF00" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
39+ <WordsStyle name="COMMENTS" fgColor="C0C0C0" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
40+ <WordsStyle name="LINE COMMENTS" fgColor="C0C0C0" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
41+ <WordsStyle name="NUMBERS" fgColor="FF8080" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
42+ <WordsStyle name="KEYWORDS1" fgColor="8080FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
43+ <WordsStyle name="KEYWORDS2" fgColor="FFFFFF" bgColor="8080FF" fontName="" fontStyle="0" nesting="0" />
44+ <WordsStyle name="KEYWORDS3" fgColor="FFFFFF" bgColor="FF8080" fontName="" fontStyle="0" nesting="0" />
45+ <WordsStyle name="KEYWORDS4" fgColor="80FFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
46+ <WordsStyle name="KEYWORDS5" fgColor="FFFF00" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
47+ <WordsStyle name="KEYWORDS6" fgColor="EC0076" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
48+ <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
49+ <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
50+ <WordsStyle name="OPERATORS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
51+ <WordsStyle name="FOLDER IN CODE1" fgColor="FFFFFF" bgColor="C0C0C0" fontName="" fontStyle="0" nesting="0" />
52+ <WordsStyle name="FOLDER IN CODE2" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
53+ <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
54+ <WordsStyle name="DELIMITERS1" fgColor="FF8040" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
55+ <WordsStyle name="DELIMITERS2" fgColor="FF80FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
56+ <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
57+ <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
58+ <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
59+ <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
60+ <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
61+ <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
62+ </Styles>
63+ </UserLang>
64+</NotepadPlus>
--- a/rpl_hp48-50/programs/general/lifeGamification.s
+++ b/rpl_hp48-50/programs/general/lifeGamification.s
@@ -475,13 +475,9 @@ more floating ranges."
475475 \>>
476476 \>>
477477
478- gpInformInput
478+ gpInputFormTest1
479479 \<<
480- @Plan: to use Inform (that is not difficult)
481- @to input values at once and seeing an overview and then
482- @let the calculator modify the lists.
483-
484- "life gamification"
480+ @options, they should be equal to the list of variables above.
485481 {
486482 { "day" "" 0 }
487483 @label day, no help, real wanted
@@ -505,13 +501,101 @@ more floating ranges."
505501 { "health" "" 0 }
506502 { "weight" "" 0 }
507503 { "ef. time" "" 0 }
508- }
509- { 2 } @on two columns
510- { } @no reset
511- { } @no def value
512- INFORM
513- @inform return a list of value in order like labels
514- @and 1 if ok is pressed, 0 and no values if cancel is pressed.
504+ }
505+ @to consider whether to use manual definition or a loop
506+ DROP
507+ \>>
508+
509+ gpInformInput
510+ @uses informL and inlist, they have to be installed.
511+ @ groups.google.com/forum/#!original/comp.sys.hp48/o4XwzdSzWhc/-TZrBqVzgcEJ
512+ \<<
513+ @Plan: to use Inform (that is not difficult)
514+ @to input values at once and seeing an overview and then
515+ @let the calculator modify the lists.
516+
517+ @variable names as they are named on the calculator
518+ {
519+ 'DAY' 'MOOD' 'PROBSOLV' 'FEELSLIKEHOME' 'BALFOOD' 'PLANNING' 'REFLIMPROVE' 'SUGAR'
520+ 'NOTEGOODBAD' 'RELAX' 'WRITE' 'LOGGING' 'WEATHER' 'NONTRIVIN' 'WATER'
521+ 'SPORT' 'WORD' 'EXPENSES' 'HEALTH' 'WEIGHT' 'EFTIME'
522+ } "lvListVarListNames" DROP
523+ DUP SIZE "lvVarListSIZE" DROP
524+ {} "lvResList" DROP
525+
526+ \->
527+ @input
528+ @var
529+ lvListVarListNames
530+ lvVarListSIZE
531+ lvResList
532+
533+
534+ \<<
535+ @title
536+ "life gamification"
537+ @options, they should be equal to the list of variables above.
538+ 1 lvVarListSIZE
539+ FOR lvPos
540+ @quick not so nice loop to build the list options
541+ lvListVarListNames lvPos GET
542+ \->STR
543+ "'" "" SREPL DROP @drop the number of replacements
544+ "" @the help
545+ 0 @we want real numbers
546+ 3 @elements in the list
547+ \->LIST
548+ NEXT
549+ lvVarListSIZE \->LIST @building the option list
550+
551+ { 1 } @columns
552+ { } @no reset
553+ { } @no def value
554+ :2:INFORML EVAL
555+ @inform / informL return a list of value in order like labels
556+ @and 1 if ok is pressed, 0 and no values if cancel is pressed.
557+
558+ IF
559+ @now we continue unless the user canceled the inform.
560+ @ 0 is canceled, 1 is ok.
561+ @the result is already on the stack
562+ NOT
563+ THEN
564+ @if we get a 0 (negated is 1)
565+ @then we kill it.
566+ KILL
567+ END
568+
569+ @otherwise we continue.
570+ @save the list
571+ 'lvResList' STO
572+
573+ @we go through the values, we don't accept NOVAL for the moment.
574+ IF
575+ lvResList NOVAL POS
576+ 0 >
577+ THEN
578+ lvResList
579+ lvResList NOVAL POS
580+ "NOVAL found in result list, please check data in L2 and L3" DOERR
581+ END
582+
583+ @if all the values are there, go for it!
584+ 1 lvVarListSIZE
585+ FOR lvPos
586+ @quick not so nice loop to save the values
587+ lvListVarListNames lvPos GET @we get the variable name
588+ DUP @duplicate the name
589+ RCL @recall the value
590+ lvResList lvPos GET @the value to add
591+ + @add
592+ @stack situation
593+ @L2: var name
594+ @L1: updated list
595+ SWAP @put the varname in L1
596+ STO @store the updated list in varname
597+ NEXT
598+ \>>
515599 \>>
516600
517601 gdUtilities