NonSoloBolleDiAcqua
| Inviato il: 10/4/2013,15:56
|
E' consentito nidificare le soubroutine, la pippo chiama la peppe...anche se non si possono superare le 5 nidificazioni.Vediamo in esempio:
10 A=25 15 B=CALL PIPPO(A) 20 PRINT B 25 END
170 SUB PIPPO(PAR1) 175 C=PAR1*3 178 PIPPO=CALL PEPPE(C) 180 SUBEND
200 SUB PEPPE(PAR2) 210 PEPPE=PAR2*2 220 SUBEND Il risultato del programma sarà : 150.
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| |
| | NonSoloBolleDiAcqua
| Inviato il: 10/4/2013,16:44
|
Eccoci all'ultimo passo, il salto finale...sperando non si sentano le urla...ma ripeto tutto è retro-compatibile...quindi non vi spaventate...ripeto, non spaventatevi...se vi turbano le subroutine....fate finta che non ci siano...è tutto come prima! Abbiamo visto che le subroutine possono essere nidificate, possono essere in qualsiasi posizione del codice, possono anche non avere parametri...a questo punto possiamo creare la subroutine principale e chiamarla MAIN...e dare al programma scritto in eabasic un aspetto molto più leggibile ed avvicinarsi, sempre se vogliamo, ad avere una alta leggibilità! Facciamo l'esempio del MAIN:
PRAGMA NO_NUM_LINE ' PPTEA EABASIC ADVANCED VER 4.1 '-----PROGRAMMA PRINCIPALE----- SUB MAIN CALL PRESENTAZIONE SUBEND
'-----SOUBROUTINE----- SUB PRESENTAZIONE PRINT "CIAO SONO IL PPTEA!!!" SUBEND
Vi è chiaro il punto di approdo?
---------------------------------------------------------------------------------------------------------
Ora vediamo un codice che visualizza data e ora sul display ...pre-advanced ed advanced con tanto di rimbellettamento.
PRE-ADVANCED
01 CONSTANT POS_GIORNO_DISPLAY=&H19 02 CONSTANT POS_ORA_DISPLAY=&H21 03 CONSTANT POS_TEMPERATURA_DISPLAY=&H2B 04 CONSTANT SIMB_GRADI_CENTIGRADI=223 05 CONSTANT NUM_ELEMENTI_MEDIA=20 10 DIM MEM(20) AS WORD 11 LCDWRITE="PPTEA" 20 :MAIN 21 TEMP=CADS1*CAD_TO_TEMP 23 IND=(INDICE MOD NUM_ELEMENTI_MEDIA) +1 24 MEM(IND)=TEMP*10 25 INDICE++ 100 ' FACCIO LA MEDIA DEGLI ULTIMI 20 ELEMENTI 110 CLR G 120 T=0.0 125 :ELAB G++ 130 T+=MEM(G) 150 IF G>=NUM_ELEMENTI_MEDIA THEN :SAL_TEMP 160 IF G<indice THEN :ELAB 200 :SAL_TEMP T/=G 220 T/=10 335 LCDPOS=POS_GIORNO_DISPLAY 336 LCDWRITE=LEFT(DATE, 8) ' GIORNO 337 LCDPOS=POS_ORA_DISPLAY 338 LCDWRITE=MID(DATE, 10,8) ' ORA 339 LCDPOS=POS_TEMPERATURA_DISPLAY 340 LCDWRITE=LEFT(T&"",4) & CHR(SIMB_GRADI_CENTIGRADI) & "C" 341 WAITS 1 342 GOTO :MAIN
ADVANCED DALLA VERSIONE PPTEA 4.1
PRAGMA NO_NUM_LINE '-------------- COSTANTI ---------------------- CONSTANT POS_GIORNO_DISPLAY=&H19 CONSTANT POS_ORA_DISPLAY=&H21 CONSTANT POS_TEMPERATURA_DISPLAY=&H2B CONSTANT SIMB_GRADI_CENTIGRADI=223 CONSTANT NUM_ELEMENTI_MEDIA=20 '-------------- VETTORE DI MEMORIA --------- DIM MEM(NUM_ELEMENTI_MEDIA) AS WORD '------------------ PROGRAMMA --------------- SUB MAIN CALL PRESENTAZIONE WHILE TRUE CALL RILEVA_TEMPERATURA CALL MEDIA_DELLA_TEMPERATURA CALL VISUALIZZA_SUL_DISPLAY WAITS 1 LOOP SUBEND '--------------INIZIO SUBROUTINE --------------- '-----------PRESENTAZIONE INIZIALE ------- SUB PRESENTAZIONE LCDWRITE="PPTEA" SUBEND '---RILEVA LA TEMPERATURA SUL CADS1--- SUB RILEVA_TEMPERATURA TEMP=CADS1*CAD_TO_TEMP IND=(INDICE MOD NUM_ELEMENTI_MEDIA) +1 MEM(IND)=TEMP*10 INDICE++ SUBEND '---EFFETTUA LA MEDIA DELLA TEMPERATURA--- SUB MEDIA_DELLA_TEMPERATURA CLR G T=0.0 :ELAB G++ T+=MEM(G) IF G>=NUM_ELEMENTI_MEDIA THEN :SAL_TEMP IF G<indice THEN :ELAB :SAL_TEMP T/=G T/=10 SUBEND '---VISUALIZZA I DATI SUL DISPLAY--- SUB VISUALIZZA_SUL_DISPLAY LCDPOS=POS_GIORNO_DISPLAY LCDWRITE=LEFT(DATE, 8) ' GIORNO LCDPOS=POS_ORA_DISPLAY LCDWRITE=MID(DATE, 10,8) ' ORA LCDPOS=POS_TEMPERATURA_DISPLAY LCDWRITE=LEFT(T&"",4) & CHR(SIMB_GRADI_CENTIGRADI) & "C" SUBEND '--------------FINE SUBROUTINE ---------------
Su su ...critiche, commenti, suggerimenti?
Modificato da NonSoloBolleDiAcqua - 10/4/2013, 17:58
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | | | | NonSoloBolleDiAcqua
| Inviato il: 10/4/2013,17:00
|
Se vuoi effettuare le prove dovrei consegnare la 4.1 .... Pino mi aspetta al varco ...se mi autorizzate tutti ( ) faccio un'altra versione beta...oppure mi toccherà prendere le
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | MarKoZaKKa
| Inviato il: 10/4/2013,17:05
|
...ho ancora le eeprom nelle bustine sigillate, e la v4.0.x ancora zippata... devo prima finire la KSB-II beta... sigh! non aspettatemi alzati...
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | alessio287
| Inviato il: 10/4/2013,22:36
|
Ciao,
sempre meglio..... anche troppo... ci si abitua bene
Bye Alessio287
| | | | ElettroshockNow
| Inviato il: 11/4/2013,00:49
|
SUB SUB SUB
Domani prevedo di realizzare il pcb di Priespe ........ quindi ...... le sub sarebbero molto utili per uno sprecone di token ......
Ciao
| | | | NonSoloBolleDiAcqua
| Inviato il: 12/4/2013,15:06
|
Allego la versione 4.1 beta del PPTEA
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | alessio287
| Inviato il: 12/4/2013,15:21
|
Presa...
Tnks Alessio287
| | | | alessio287
| Inviato il: 12/4/2013,16:01
|
Ciao,
ho modificato al volo il codice che ho dietro e che era già fatto con le subroutine gestite con le gosub
Sostituite la PRAGMA e messo le CALL/SUB/SUBEND...
Compilazione ok, nessun problema
Stasera provo il SW
Bye Alessio287
| | | | ElettroshockNow
| Inviato il: 12/4/2013,17:35
|
Grande Bolle ........... Aggiornata OK .....vado di SUB
Provata con memoria esterna 24LC64 OK
Per Bolle HIP HIP URRA'
| | | | ElettroshockNow
| Inviato il: 12/4/2013,18:02
|
Domanda ...... ma il TAB nel compilatore funzionava ?
| | | | NonSoloBolleDiAcqua
| Inviato il: 12/4/2013,18:05
|
CITAZIONE (ElettroshockNow @ 12/4/2013, 19:02) ... il TAB nel compilatore funzionava ? Il TAB cambia finestra...
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | ElettroshockNow
| Inviato il: 12/4/2013,18:15
|
... E' una meraviglia ........ il codice scorre che è un piacere ......che REGALONE la 4.1 (certo però il Tab )
| | | | NonSoloBolleDiAcqua
| Inviato il: 12/4/2013,18:23
|
Quanti caratteri di bianco vuoi sul tab?
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|