Se sei già registrato           oppure    

Orario: 02/05/2024 02:41:11  

 

Energia Alternativa ed Energia Fai Da Te > PPTEA


Settaggio valore a due o piu' cifre
FinePagina

ecologix1971

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4165

Stato:



Inviato il: 22/01/2015 09:02:52

Ciao a tutti.
Mentre stavo lavorando sul codice del timer, aperto in un'altra discussione, ho elaborato questo metodo per inserire un valore a due o piu' cifre usando soltanto due tasti.
il sistema che stavo usando prima consisteva nell'incrementare il valore della cifra da impostare di 1 ad ogni pressione e confermato con l'altro tasto.
Ma questo sistema porta via molto tempo se si deve impostare un valore alto
Con questo nuovo metodo invece, si imposta una sola cifra per volta in modo da poter impostare valori anche di 4 cifre in pochi secondi.
La cifra che si sta' impostando e' lampeggiante e premendo il bit5 viene incrementata di 1, una volta raggiunto il valore che si vuole si preme il bit3 e si passa alla cifra seguente.

Il codice e' questo:



PRAGMA NO_NUM_LINE



'CODE NAME:                 SET VALUE WITH TWO NUMBER VERSION 4_0
'AUTHOR:                        ECOLOGIX 1971
'STARTED :                      17_01_2015
'FINISHED:                      22_01_2015
'PPTEA VERSION:          4_2_4
'MEMORY OCCUPED:   229 TOKEN




'BIT5 INCREMENTA CIFRA LAMPEGGIANTE
'BIT3 CAMBIA CIFRA

'PER CAMBIARE IL NUMERO DI CIFRE DA SETTARE E' SUFFICIENTE MODIFICARE IL VALORE DELLA COSTANTE NUM_CIFRE CHE 
'ORA VALE 2
'IL VETTORE CIFRA VERRA' DIMENSIONATO AUTOMATICAMENTE
'POI BISOGNA AGGIUNGERE ALTRI VALORI ALL'ISTRUZIONE DATA CHE SONO IL NUMERO DI CIFRE E LA POSIZIONE DEL CURSORE

'EVOLUZIONE

'RISPETTO ALLE VERSIONE PRECEDENTE CI SONO MENO CICLI GOSUB/RETURN 
'RIMPIAZZATI DA COMANDI GOTO ED IN PIU' NEL COMANDO DATA
'OLTRE AL NUMERO DI CIFRA E LA POSIZIONE DEL CURSORE C'E' ANCHE IL VALORE MAX CHE DEVE ASSUMERE LA CIFRA
'QUEST'ULTIMO UTILE SE I VALORI DA IMPOSTARE SONO ORARI E QUINDI SI RESETTANO A 60 ANZICHE' 100
'
'DA NOTARE CHE SE LA PRIMA CIFRA (DECINE) E' UGUALE A ZERO, LA SECONDA NON SI AZZERA, MA ANDRA' AUTOMATICAMENTE
'A VALORE 1




CONSTANT NUM_CIFRE=2

DIM CIFRA(NUM_CIFRE) AS WORD



VALORE=71 'IPOTETICO VALORE DI PARTENZA

STR_VALORE=RIGHT("0"&VALORE,2)
CIFRA(1)=LEFT(STR_VALORE,1)
CIFRA(2)=RIGHT(STR_VALORE,1)



DATA 1,&H1A,10,2,&H1B,10    ' NUMERO CIFRE, POSIZIONE CURSORE, VALORE MASSIMO ASSUNTO DALLA CIFRA
READ N_CIFRA, POS,MAX

LCDCLEAR
X=CIFRA(N_CIFRA)


:ATTENDERE

CIFRA(N_CIFRA)=X



IF INPBIT(5)=1 THEN :INCREMENTA
IF INPBIT(3)=1 THEN :AVANZA_CIFRA

:VISUALIZZA

LCDPOS=POS
LCDWRITE=" "
WAITMS 75
LCDPOS=&H11

LCDWRITE="VALORE = "&CIFRA(1)&CIFRA(2)
WAITMS 75
GOTO :ATTENDERE

:INCREMENTA

X++
IF X=MAX THEN :AZZERA_CIFRA
GOTO :VISUALIZZA

:AZZERA_CIFRA

CLR X
IF CIFRA(1)=0 THEN :INCREMENTA' QUESTA RIGA EVITA CHE IL VALORE IMPOSTATO SIA MINORE DI 1

GOTO :VISUALIZZA

:AVANZA_CIFRA

IF N_CIFRA=(NUM_CIFRE) THEN :FINE

READ N_CIFRA, POS,MAX
X=CIFRA(N_CIFRA)

GOTO :VISUALIZZA

:FINE

LCDPOS=&H21
LCDWRITE="VALORE IMPOSTATO"



END

</pre>



Ecologix





Modificato da ecologix1971 - 22/01/2015, 09:19:33
 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 22/01/2015 09:12:40

Stai utilizzando tutte le capability del PPTEA inclusi i data e i read ...lavoro da certosino!

PS:Ho dato una colorata al tuo codice...basta inserire il file .forum prelevandolo dalla cartella di compilazione!



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

ecologix1971

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4165

Stato:



Inviato il: 22/01/2015 10:28:16

Mi piacerebbe vederlo Colorato, ma non ho ben CApito come fare.

Qual'e' la cartella di compilazione

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 22/01/2015 10:33:07

quella dove trovi i file .tea troverai lo stesso file .forum , lo copi paro-paro...



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

ecologix1971

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4165

Stato:



Inviato il: 22/01/2015 11:21:25

ho capito grazie

 
 InizioPagina
 

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum