Alessio287
| Inviato il: 21/04/2014 18:22:19
|
Ciao Bolle,
c'è un altro possibile problemino...
SWITCH PULSANTE_PREMUTO
CASE P_2 'INCRE
CASE P_8 'DECRE
IF MODIFICA=FALSE THEN SUBEXIT
IF CONTROLLO_STATO=STATO_ON THEN
CONTROLLO_STATO=ASC(STATO_OFF)
ELSE
CONTROLLO_STATO=ASC(STATO_ON)
ENDIF
CALL SCRIVO_STATO_FASCIA_ORARIA(PAR1)
CASEEND
CASE P_C 'MODIF
MODIFICA=TRUE
CASEEND
CASE P_N
CASEEND
OTHER
RETURN
SWITCHEND
Scrivendo così mi aspetto che per entrambe le condizioni in bold venga eseguito il codice sotto...
Nella realtà il precompilatore le traduce come:
994 IF !(PULSANTE_PREMUTO = P_2 ) THEN 995
995 IF !(PULSANTE_PREMUTO = P_8 ) THEN 1004
per cui se è vera la condizione P_2 mi manda alla riga dopo dove
verifica P_8 per cui non esegue nulla...
Bye
Alessio287 | |
| | Alessio287
| Inviato il: 21/04/2014 18:59:53
|
Ciao Bolle,
codice:
SUB CONTROLLO_FASCE
'per ogni fascia oraria del sensore
FOR FASCE=1 TO MAX_FASCE
CALL LEGGO_STATO_FASCIA_ORARIA(FASCE)
'se stato fascia è OFF allora salto
IF CONTROLLO_STATO=STATO_OFF THEN CONTINUE
'Controllo se data attuale è nei valori di fascia
IF CALL CONTROLLO_ORA_FASCIA = TRUE THEN
CONTROLLO_FASCE=TRUE
RETURN
ENDIF
NEXT FASCE
CONTROLLO_FASCE = FALSE
SUBEND
Se metto una SUBEXIT al posto della RETURN in bold il pre si incazza per una label duplicata...
Bye
Alessio287 | | | | NonSoloBolleDiAcqua
| Inviato il: 22/04/2014 07:22:20
|
CITAZIONE (Alessio287, 21/04/2014 18:59:53 )
Ciao Bolle,
c'è un altro possibile problemino...
SWITCH PULSANTE_PREMUTO
CASE P_2 'INCRE
CASE P_8 'DECRE
IF MODIFICA=FALSE THEN SUBEXIT
Vediamo per la condizione del case va messo un or nell'espressione in questo modo...occorre verificarlo perchè non ho mezzi:
CASE P_2 OR P_8 'INCRE O DESCE
Per quanto riguarda la subexit....booo dovrei vedere il codice del compilatore...ma se non erro ogni uscita dalle soubroutine viene tradotta con un Return...quindi , non so come fai, ma tu risolvi sempre!
--------------- 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: 22/04/2014 10:07:51
|
... dai steva marcalo stretto, che magari implementa pure le periferiche SPI e la connessione COM nel compilatore...
Modificato da MarKoZaKKa - 22/04/2014, 10:18:19
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | Alessio287
| Inviato il: 22/04/2014 11:01:15
|
Ciao Bolle,
ne parliamo quando rientri alla base.
Bye
Alessio287 | | | | NonSoloBolleDiAcqua
| Inviato il: 09/05/2014 13:02:12
|
Rientrato...dovrei aver risolto i problemi del compilatore :
1.il problema dello spazio prima della parentesi dopo il nome della funzione
2. il problema del subexit inteso come comando...che non era ammesso ma per completezza l'ho implementato.
Pronti a provare la nuova versione?
--------------- 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: 09/05/2014 13:20:13
|
Ehmmm... non eravamo alla 4.2.6 beta ? Vedi cosa succede a lavorare troppo con le mani?
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | NonSoloBolleDiAcqua
| Inviato il: 09/05/2014 15:07:51
|
Dai dai...se passa il benestare di Alessio faccimo una nuova release con tanto di numerello nuovo ...
--------------- 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: 09/05/2014 16:33:27
|
Ciao,
sono di corsa... appena posso provo...
Cmq l'"errore" + grosso era sulla gestione dello switch
per implementare:
SWITCH PULSANTE_PREMUTO
CASE P_2 'INCRE
CASE P_8 'DECRE
IF MODIFICA=FALSE THEN SUBEXIT
ho dovuto fare
SWITCH PULSANTE_PREMUTO
CASE P_2 'INCRE
'problema di compilatore
GOTO :LBL_ERR_COMP
CASE P_8 'DECRE
:LBL_ERR_COMP
IF MODIFICA=FALSE THEN SUBEXIT
altrimenti il precomp dopo la prima case faceva un goto sulla seconda case e non funzionava +.
A dopo...
Alessio287 | | | | NonSoloBolleDiAcqua
| Inviato il: 10/05/2014 01:10:33
|
CITAZIONE (Alessio287, 09/05/2014 16:33:27 )
Ciao,
sono di corsa... appena posso provo...
Cmq l'"errore" + grosso era sulla gestione dello switch
per implementare:
SWITCH PULSANTE_PREMUTO
CASE P_2 'INCRE
CASE P_8 'DECRE
IF MODIFICA=FALSE THEN SUBEXIT
ho dovuto fare
SWITCH PULSANTE_PREMUTO
CASE P_2 'INCRE
'problema di compilatore
GOTO :LBL_ERR_COMP
CASE P_8 'DECRE
:LBL_ERR_COMP
IF MODIFICA=FALSE THEN SUBEXIT
altrimenti il precomp dopo la prima case faceva un goto sulla seconda case e non funzionava +.
Ma xchè questa soluzione non funge? LINK
--------------- 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/05/2014 09:07:38
|
...mi ero perso il costrutto CASE... ma non l'ho visto nemmeno nella doc, però...
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | Alessio287
| Inviato il: 11/05/2014 18:06:15
|
Ciao Bolle, Marko
provato a compilare al volo il mio source, mettendo degli spazi tra nome funzione e parentesi, con il sace come detto da Bolle...
compilazione ok ed anche il risultato del parser è corretto.
Tnks
Alessio287 | | | | NonSoloBolleDiAcqua
| Inviato il: 12/05/2014 10:04:32
|
Ottimo, se mi date l'ok finalizzo la consegna definitiva!
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | PinoTux
| Inviato il: 12/05/2014 12:56:30
|
CITAZIONE (NonSoloBolleDiAcqua, 12/05/2014 10:04:32 )
Ottimo, se mi date l'ok finalizzo la consegna definitiva!
Avvisatemi....così posso aggiornare il sito.
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza" http://iv3gfn.altervista.org/ http://pptea.altervista.org/
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|