Programmazione > Progetti degli utenti

MeteoMachine Linux: calcoli e raccolta di dati meteorologici

<< < (2/98) > >>

leo72:
Tu non sei nato per complicare la vita, ma proprio per rompere i c....odici alla gente!!! Ah ah ah ah :rotfl:

stef:
Grazie mille a tutti e due per la disponibilità! Assieme, un po' alla volta (non c'è fretta!), porteremo a termine il progetto, ne sono sicuro! :2birre:

Io direi di proseguire su questa discussione e riportare tutte le decisioni e le problematiche qui.
Essendo un progetto open source, se il webmaster è d'accordo e non ci sono problemi, è giusto che sia tutto pubblico...e poi, chissà che non si aggiunga qualcun'altro! :-D

Allora, il punto morto a cui accennavo precedentemente e a cui sono giunto riguarda lo sviluppo dello strumento che dovrebbe fare le medie giornaliere delle temperature rilevate. Cercherò di spiegare l'algoritmo che ho adottato.

Dato che una stazione meteo può ogni tanto rilevare dei dati non pervenuti (i classici "n.p." che si vedevano un tempo anche in TV), non si può sapere a priori su quanti giorni fare la media; senza contare poi che ci sono mesi da 28 giorni così come da 31...bisogna dunque contare quante temperature minime e quante massime sono state inserite, sommare tutti i valori (ad es. massimi) e dividerli per il numero di temperature (es. massime) immesse; idem per i valori minimi.

E' chiaro che bisogna trovare il modo di far sapere al programma quando un determinato giorno ha la minima o la massima o entrambi i valori in stato di "n.p.". Io avevo pensato, per indicare questo stato, ad un carattere speciale, il trattino "-".

Bisogna altresì evitare assolutamente che un campo venga lasciato vuoto, altrimenti si genera un errore: se l'utente lo lascia vuoto (o immette dei caratteri non validi, che non siano numerici) il programma deve sostituire al volo tale valore con un bel "-". Così facendo infatti, quando l'utente cliccherà sul pulsante che esegue le medie, il software esplorerà tutti i campi e quando trova un campo senza trattino incrementa di una unità una variabile che conta i giorni con temperatura minima e massima inserita (altrimetni non la incrementa) e, al contempo, somma il valore contenuto nel campo con quelli in precedenza già trovati.

Vi faccio un esempio semplice semplice:

giorno  min  max
1°      5.0  -
2°      4.0  10.0
3°      -     -
4°      6.0  11.0

n_giorni_min=3
n_giorni_max=2
val_min_tot=15
val_max_tot=21

media_min=15/3
media_max=21/2

Ora, se guardate il codice che ho scritto, dovrebbe fare più o meno queste cose, ma ci sono dei bug...
Ad esempio: qualunque valore immetta nei campi, il programma me lo leva anche se è corretto!

Aiuto! :-)
Ciao!

Stefano

fsurfing:
guarda se ti piace come funziona il form incriminato con questa modifica:


--- Codice: ---

PUBLIC SUB campitemperature_LostFocus()

  DIM i AS Integer
  DIM addizionatore AS String


 
  IF LAST.text = "" THEN
    LAST.text = "-"
  ELSE
      FOR i = 1 TO Len(LAST.text)
         
          SELECT CASE Mid(LAST.text, i, 1)
              CASE "0" TO "9"
                addizionatore = addizionatore & Mid(LAST.text, i, 1)
              CASE "-"
                addizionatore = addizionatore & Mid(LAST.text, i, 1)
              CASE "."
                addizionatore = addizionatore & ","
              CASE ","
                addizionatore = addizionatore & ","
               
          END SELECT
        NEXT      
       
        IF addizionatore = "" THEN
            LAST.text = "-"
        ELSE IF addizionatore = "," THEN
            LAST.Text = "-"
        ELSE            
            LAST.text = addizionatore
        ENDIF
       
  ENDIF
END


--- Termina codice ---


ps: se non usi un db ma solo settings per salvare i dati puoi solo salvare / visualizzare i dati deò mese corrente, non è + carino avere uno storico anche dei mesi/anni precedenti magari con la possibilità di confrontare i valori tramite grafici? (a me piace un sacco fare grafici!)

stef:
FSurfing, così direi che è perfetto! Ottimo lavoro!  :2birre:

Sicuramente sarebbe carino permettere all'utente di archiviare tutte le medie rilevate mese per mese, ancora più bello poi permettere di fare grafici (io non sono capace però, lo dico subito!)...ragazzi, il programma è totalmente open source, come ho già detto chi ha voglia di aiutarmi è il benvenuto. Le mie conoscenze di Gambas sono un po' modeste, ovvio quindi che in più si è meglio è!

Ora mi metto al lavoro con le temperature annuali...dopo magari metterò sul mio sito un link da cui potrete scaricare i sorgenti mano a mano che il progetto prosegue, così non intaso il forum di allegati. Anzi,  penso che il link da cui potrete scaricare i sorgenti Gambas sarà questo:

http://www.altabrianza.org/meteomachine/

(per ora non funziona ancora ovviamente, magari verso le 23 faccio l'upload del codice che sarà raggiungiungibile tramite quel link)

Ciao e grazie!

EDIT: caricata pagina e sorgenti all'indirizzo sopra riportato...naturalmente il "TODO" attualmente presente è solo l'inizio...devo ancora pensare bene alle nuove funzionalità da implemetare e se avete idee non esitate a proporre!

fsurfing:
se vuoi ti faccio la parte del db e dei grafici però per farlo cambio completamente il form di inserimento dati

Navigazione

[0] Indice dei post

[#] Pagina successiva

[*] Pagina precedente

Vai alla versione completa