Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - stef

Pagine: 1 ... 8 9 [10]
136
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

137
Ciao, grazie per l'interessamento!

Non c'è problema se hai poco tempo, è un progetto che porto avanti anche io nel tempo libero...diciamo che sarebbe bello svilupparlo perché, come dicevo prima, di programmi così su Linux, che io sappia, non esistono.

Non so se hai provato a lanciare il programma in ambiente Gambas...comunque i dati giornalieri e mensili per ora li salva con il classico

Codice: [Seleziona]

...
settings.save


poichè sono pochi...

MeteoMemo utilizzava un DB *.mdb e DAO per le operazioni di aggiornamento.


Stefano

138
Ciao, vi presento il mio progetto distribuito sotto licenza GPL e attualmente unico nel mondo opensource Linux, che si chiama MeteoMachine Linux; avrei bisogno del vostro aiuto per svilupparlo ulteriormente poiché si sta rivelando più arduo del previsto e sono ad un punto morto. Questa è la prima pubblicazione e il primo rilascio al pubblico! :-D

Premessa: anni addietro, quando ero ancora nel mondo Windows, da appassionato di Meteorologia sviluppai un software freeware che ai tempi divenne anche abbastanza famoso sul Web (e sui cui si basa parzialmente questo nuovo progetto per Linux) che si chiamava MeteoMemo (http://www.altabrianza.org/meteomemo)

Ho deciso quindi di farne un "porting", riscriverlo in Gambas per ora con GTK ma in futuro anche il Qt, con alcune differenze: possibilità di fare molti calcoli Meteorologici e possibilità di archiviare (ed in futuro esportare in formato testo) dati meteo (fondamentalmente temperature max e min e accumuli pluviometrici giornalieri e mensili) inseriti di volta in volta dall'utente, senza però ricorrere - almeno per il momento - a database (come invece faceva MeteoMemo).

Non fatevi spaventare se di Meteorologia non sapete niente! Mi serve aiuto a livello di programmazione!

Vi elenco le funzionalità già implementate:

-Archiviazione & calcolo totali pluviometrici mensili
-Archiviazione & calcolo totali pluviometrici giornalieri
-Converitore temperature (°C->°F)
-Convertitore pressione
-Convertitore velocità del vento
-Scala anemometrica
-Calcolo del punto di rugiada
-Calcolo della temperatura del bulbo umido

Elenco funzionalità da mettere a posto (aiuto!!!!)

-Gestione dati termometrici giornalieri (strumento che ha diversi problemi!!!)
-Gestione dati termometrici mensili (da fare)

Elenco funzionalità da implementare (per ora)

-Previsioni meteo automatiche in base alle condizioni attuali di pressione, umidità e temperaura.
-Didattica meteo di base
-...

Il codice, come pulizia e sintassi non è il massimo, ma è abbastanza comprensibile (ho inserito moltissimi commenti) e confido nel vostro aiuto per migliorarlo!

Vi allego i sorgenti.

Ciao e grazie!
Stefano

139
Accidenti, ma è fantastico questo linguaggio di programmazione! :2birre:  :si:
Grazie mille per l'aiuto e scusatemi...la prossima volta prima di fare delle domande cercherò bene nel forum...anzi, per scusarmi metterò i ringraziamenti pubblici a questa Community nella finestra "Informazioni" del programma opensource che sto creando. ;-)  :amici:

Ciao!

140
Grazie mille per la risposta, sei stato gentilissimo! :2birre:

Il codice funziona perfettamente, proverò magari a snellirlo se possibile, visto che devo inserirlo in parecchi TextBox (ben 62!) e oltre che pesante per la CPU è anche noiso da inserire...a proposito, non esiste un modo per evitare di scriverlo 62 volte? (scusa se approffitto della tua gentilezza, ma è un po' un suicidio!)

Ciao! :ciao:

141
Programmazione (Gambas 2) / Trattino in TextBox + gestione virgola
« il: 21 Aprile 2009, 23:18:39 »
Ciao a tutti, sto impazzendo probabilmente per una banalità.

Vi spiego il problema: ho una serie di TextBox e vorrei che, quando il controllo TextBox perde il focus (evento LostFocus), il programma facesse un controllo; se rileva che è stato digitato un numero, lascia tutto così com'è, se invece il campo è stato lasciato in bianco o sono stati inseriti dei caratteri che non rappresentano un numero Float, deve mettere un trattino ("-").

Sto provando così:

Codice: [Seleziona]
PUBLIC SUB TextBox1_LostFocus()
'controlla che i caratteri immessi siano numeri, altrimenti metti un trattino "-"
  IF IsNumber(TextBox1.Text) = FALSE THEN
  TextBox1.Text = "-"
  END IF
END


o anche così:

Codice: [Seleziona]
PUBLIC SUB TextBox2_LostFocus()
'controlla che i caratteri immessi siano numeri, altrimenti metti un trattino "-"
  IF NOT IsNumber(TextBox2.Text) THEN
  TextBox2.Text = "-"
  END IF
END


ma non funziona...come devo fare?
(Ah, per come è fatto il programma e l'algoritmo che ci sta dietro, non posso sostituire i TextBox con i ValueBox)

Inoltre, già che ci sono, visto che il programma accetta sia valori interi che di tipo Float, vorrei anche che al posto del puntino eventualmente digitato dall'utente per la separazione dei decimali. venisse utilizzata la classica virgola, anche se l'utente immette il punto. In VB6 si poteva fare, si può anche in Gambas?

Grazie mille e scusate l'ignoranza!
Ciao!

142
Programmazione (Gambas 2) / Re: Finestre secondarie "svolazzanti"
« il: 19 Aprile 2009, 17:37:29 »
Ciao, grazie per la risposta...avevo già provato a fare come dici, ma il pulsantino rimane... :(
Come mai? E' forse un bug della versione in mio possesso di Gambas (2.0)?

143
Programmazione (Gambas 2) / Re: Finestre secondarie "svolazzanti"
« il: 18 Aprile 2009, 20:59:34 »
Grazie mille, proprio quello che cercavo! E' proprio fantastico Gambas!

Un'altra cosa, sempre rimanendo in tema: se ora volessi togliere il pulsantino di riduzione a icona lasciando solo la X, come posso fare? Ho capito come si fa a nascondere dalla barra delle applicazioni (proprietà SkipTaskbar), ma per levare proprio il bottoncino sulla barra del titolo della finestra secondaria come si fa?
Ciao e grazie ancora!

144
Programmazione (Gambas 2) / Finestre secondarie "svolazzanti"
« il: 18 Aprile 2009, 19:16:23 »
Ciao a tutti, sono nuovo sia del forum che di Gambas! :-D

Sto scrivendo un'applicazione che fa uso di molte finestre secondarie...
Io vorrei che queste finestre si comportassero un po' come quelle di Gimp, che potessero cioè "svolazzare" sopra quella principale, ma al contempo, rimanere anche in primo piano rispetto a quella principale...

Ora, in VB6, esisteva questa istruzione:

Codice: [Seleziona]
formsecondario.show , me


che faceva proprio quello che servirebbe a me...esiste qualcosa di simile in Gambas?
Il semplice

Codice: [Seleziona]
nomefinestra.Show


di Gambas non mi va bene, perché la finestra appare dietro a quella principale...
Resto in attesa di consigli!
Ciao e grazie!

Pagine: 1 ... 8 9 [10]