

Attention: Sauvegarder le contenu de votre calculatrice avant de lancer le programme (compilé)
bug connu: problème avec la touche drop
amélioration prévu(/possible): ajouter la possibilté de calcul (+,-,*,/)
fichier conv
- Code: Tout sélectionner
::
INCLUDE Keydef
CK0NOLASTWD
*affichage
ClrDA1IsStat
CLEARLCD
"0"
%0
FALSE
* devise: E->F=#0 , F->E=#1
#0
FALSE
{
LAM V1
LAM V2
LAM dec
LAM Dev
LAM Exit?
} BIND
' ::
CLEARLCD
"Convertisseur V3b1"
#1 #2
Disp5x7
* teste de la devise en cours pour l'afficher
LAM Dev
::
DUP #0 #= casedrop
* INCLUDE E2F
:: LAM V1
DUP
$ "_Euro"
&$ NEWLINE$&$ SWAP
DOSTR>
% 6.55957
%* %2
RNDXY
a%>$
$ "_Fr"
&$
&$
;
DUP #1 #= casedrop
*INCLUDE F2E
:: LAM V1 DUP
$ "_Fr"
&$ NEWLINE$&$ SWAP
DOSTR>
% 6.55957
%/ %2
RNDXY
a%>$
$ "_Euro"
&$
&$ ;
;
*affiche
#3 #2
Disp5x7
DispMenu.1
;
* test touche
' ::
#1 #=casedrop
::
DUP#<7 casedrpfls
kzero ?CaseKeyDef :: TakeOver LAM V1 "0" &$ DOSTR> a%>$ ' LAM V1 STO ;
kun ?CaseKeyDef :: TakeOver LAM V1 "1" &$ DOSTR> a%>$ ' LAM V1 STO ;
kdeux ?CaseKeyDef :: TakeOver LAM V1 "2" &$ DOSTR> a%>$ ' LAM V1 STO ;
ktrois ?CaseKeyDef :: TakeOver LAM V1 "3" &$ DOSTR> a%>$ ' LAM V1 STO ;
kquatre ?CaseKeyDef :: TakeOver LAM V1 "4" &$ DOSTR> a%>$ ' LAM V1 STO ;
kcinq ?CaseKeyDef :: TakeOver LAM V1 "5" &$ DOSTR> a%>$ ' LAM V1 STO ;
ksix ?CaseKeyDef :: TakeOver LAM V1 "6" &$ DOSTR> a%>$ ' LAM V1 STO ;
ksept ?CaseKeyDef :: TakeOver LAM V1 "7" &$ DOSTR> a%>$ ' LAM V1 STO ;
khuit ?CaseKeyDef :: TakeOver LAM V1 "8" &$ DOSTR> a%>$ ' LAM V1 STO ;
kneuf ?CaseKeyDef :: TakeOver LAM V1 "9" &$ DOSTR> a%>$ ' LAM V1 STO ;
kpoint ?CaseKeyDef :: TakeOver LAM dec NOT IT :: TRUE ' LAM dec STO LAM V1 "." &$ ' LAM V1 STO ; ;
kdrop ?CaseKeyDef :: TakeOver LAM V1 DUP SUB$1# CAR$ CHR># #2E #<> SWAP DUPLEN$ #1 #> OR
ITE :: DUPLEN$ 1_#1-SUB$ DOSTR> DUP %FP %0 %=
IT :: FALSE ' LAM dec STO ; DO>STR ; :: DROP "0" ; ' LAM V1 STO ;
kdel ?CaseKeyDef :: TakeOver "0" ' LAM V1 STO FALSE ' LAM dec STO ;
kcOn ?CaseKeyDef :: TRUE ' LAM Exit? STO ;
kclshifht #=casedrpfls DROP 'DoBadKeyT
;
2DROP 'DoBadKeyT
;
TrueTrue
* menu
{ { "E->F" :: TakeOver #0 ' LAM Dev STO ; }
{ "F->E" :: TakeOver #1 ' LAM Dev STO ; }
NullMenuKey
NullMenuKey
NullMenuKey
{ "Quit" :: TakeOver TRUE ' LAM Exit? STO ; } }
ONE
FALSE
' LAM Exit?
'ERRJMP
ParOuterLoop
RECLAIMDISP
ClrDAsOK
;
fichier KeyDef
- Code: Tout sélectionner
::
* definition des touches pour 48 (jazz)
DEFINE kun #29
DEFINE kzero #2E
DEFINE kdeux #2A
DEFINE ktrois #2B
DEFINE kquatre #24
DEFINE kcinq #25
DEFINE ksix #26
DEFINE ksept #1F
DEFINE khuit #20
DEFINE kneuf #21
DEFINE kplus #31
DEFINE kmoins #2C
DEFINE kmul #27
DEFINE kdiv #22
DEFINE kpoint #2F
DEFINE kdrop #1D
DEFINE kdel #1C
DEFINE kcOn #2D
DEFINE kclshifht #24
;