|
|
|
![]() |
|
Strumenti |
![]() |
#41 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Ho cercato di capire quali sono le caratteristiche che legano la Griglia e il Pannello Inserimento Dati senza pensare al linguaggio di programmazione; le scrivo qui sotto così le ho scritte e se hai voglia mi dici che ne pensi
![]() Classe Griglia caratteristiche:
Classe PannelloInserimentoDati caratteristiche:
Classe DisegnaSimboliSuGriglia ha bisogno delle coppie di coordinate accennate sopra e deve tener conto che i simboli devono finire sulle linne verticali corrispondenti alle varie frequenze Classe CalcolaDiagnosi In base alla disposizione dei simboli dello stesso tipo sulla griglia, quindi in base alle loro coordinate (che però posso avere anche dal Pannello Inserimento Dati) e alla definizione delle aree A,B,C.... calcolo la diagnosi Ad esempio la zona A rapppresenta un rettangolo che va dalla freq 500 alla freq 2000 e dalla perdita 0 alla perdita 25. Ho fatto bene o devo andare di piu nel dettaglio? Adesso ho le idee un po piu chiare ma realizzare questo non mi sembra ancora facile, forse perchè non conosco bene le varie classi grafiche/eventi e i loro metodi ? |
![]() |
![]() |
![]() |
#42 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Va bene se riesci a vedere le relazioni che quelle descrizioni creano. Ad esempio io vedo che DisegnaSimboliSuGriglia usa (ha bisogno di) PannelloInserimentoDati e Griglia. CalcolaDiagnosi usa Griglia e/o PannelloInserimentoDati. Usa nel senso più comune del termine.
Tieni conto che questa faccenda di qualcuno che usa qualcun'altro è traducibile (in tanti modi ma anche) attraverso una coppia di metodi set/get. Cioè la classe DisegnaSimboliSuGriglia avrà dei metodi tipo: Codice:
setGriglia: unaGriglia griglia := unaGriglia. getGriglia ↑griglia. setPannelloInserimentoDati: unPannelloInserimentoDati pannelloInserimentDati := unPannelloInserimentoDati. getPannelloInserimentoDati ↑pannelloInserimentoDati.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#43 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Rieccomi qui a stressare un po
![]() Relazioni tra le classi :
Non sono sicuro che la classe CalcolaDiagnosi sia necesssaria; sui libri dicono che le classi rappresentano oggetti e sono indicate da sostantivi mentre sono i metodi che compiono azioni e che sono indicati da verbi |
![]() |
![]() |
![]() |
#44 | |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Quote:
|
|
![]() |
![]() |
![]() |
#45 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Inizio a buttare giù qualcosa :
Codice PHP:
Codice PHP:
Codice PHP:
Codice PHP:
|
![]() |
![]() |
![]() |
#46 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il più semplice da realizzare è quello che meglio corrisponde a ciò che osservi dal tuo punto di vista. In fondo l'orientamento agli oggetti è tutto qui. Ora sono un po' alle strette, se puoi aspettare fino a stasera butto giù due righe ed un esempio di come vedo io questo programma, in modo che tu abbia una linea guida e qualcosa a cui fare riferimento per scriverlo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#47 | |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Quote:
Grazie dell'aiuto che mi stai dando, di passione per la programmazione ne devi avere tanta per seguirmi come stai facendo. |
|
![]() |
![]() |
![]() |
#48 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Stavo pensacchiando un po' alla faccenda. E m'è venuto un dubbio. I valori rappresentati nella griglia sono continui o discreti? Cioè cosa succede se lo strumento rileva che l'utente a 250hz perde 13 decibel? La griglia deve riportare 13 decibel oppure deve approssimare a 10?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#49 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Devo chiedere al babbo appena arriva
![]() |
![]() |
![]() |
![]() |
#50 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Si possono avere solo multipli di 5 (5,10,15,20,25.....)
|
![]() |
![]() |
![]() |
#51 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Abbi pazienza che 'sto componendo l'iliade. Sto scrivendo il programma tenendo una specie di "diario" di quello che penso, di come lo traduco in codice, dei ripensamenti, degli errori eccetera. Insomma, una specie di auto-psicanalisi
![]() Magari alla fine non ci si capisce una fava (veramente sto scrivendo quello che mi salta in mente mentre scrivo l'applicazione) ma è un esperimento piuttosto divertente ![]()
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#52 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Grazie ancora
|
![]() |
![]() |
![]() |
#53 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Praticamente c'è voluto un volume di ingegneria navale per creare la griglia:
Però è venuta fichissima ![]() Ancora un po' di pazienza e ti fornisco il malloppo. Occhio però che sono 68 pagine di farfugliamenti, errori, ripensamenti... tutto documentato ![]()
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#54 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Sono arrivato al collegamento tra la griglia e il pannello di inserimento dati. Mi fermo perchè mi sono detto "e se poi non ci si capisce una fava?" Gli appunti che ho preso durante la creazione sono proprio "appunti di cosa penso quando programmo". E' un esperimento che volevo fare da tempo. Sono curioso di sapere se si colga un senso del procedimento oppure risultino essere solo farfugliamenti. Qui c'è lo zip:
tutorial.zip dentro c'è un PDF con le 72 pagine del "diario". Nella cartella src ci sono i sorgenti. Non li ho commentati di proposito. A parte il fatto che sono scritti in "italianJava" (Audiogramma, aggiungiAscoltatoreEventi, calcolaLarghezzaEtichetteFrequenze e via dicendo ![]() Prova a dargli un'occhiata. Se ti pare di capire come funziona il giochino, continuo. Altrimenti proviamo un'altra strada. Comunque è un programma molto divertente da fare.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#55 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Grazie PGI oggi mr lo guardo con calma
![]() |
![]() |
![]() |
![]() |
#56 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Ciao PGI ho inziato a leggere il tuo diario e devo dire che anche se ci sono alcune cose che non mi sono molto chiare è molto utile vedere come hai ragionato per scrivere il codice e seguire il tutto passo-passo. Sicuramente questo diario mi è moolto utile!
Ad esempio che significa questa sintassi ? ArrayList<Decibel> righe = new ArrayList<Decibel>(); ArrayList<Frequenza> colonne = new ArrayList<Frequenza>(); |
![]() |
![]() |
![]() |
#57 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Ha dichiarato e allocato due liste (vuote), una di oggetti di tipo Decibel,
e una di oggetti di tipo Frequenza.
__________________
|Java Base| |
![]() |
![]() |
![]() |
#58 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Se guardi nella documentazione Java vedrai che alcune classi e interfacce hanno dei nomi come:
Pippo<T> oppure Pippo<K, E> Sono classi generiche. Quando usi quelle classi o quelli interfacce devi mettere qualcosa al posto delle lettere maiuscolo: quel qualcosa è il nome di un tipo (classe, interfaccia o enumerativo). La specificazione di un tipo è detta dichiarazione di parametro e la dichiarazione di parametro per un tipo generico crea un tipo parametrico. Dunque dato il tipo generico ArrayList<T> la dichiarazione di parametro "Decibel" crea il tipo parametrico ArrayList<Decibel>. ArrayList<Decibel> è quindi la dichiarazione di un tipo parametrico. Sottolineo che per tipo intendo classe, interfaccia o enumerativo (non int, boolean, char ad esempio). Un tipo parametrico è un tipo di operatore su un tipo. E' una categoria di oggetti che fa qualcosa avendo a disposizione dei dati appartenenti al tipo dichiarato come parametro. Un operatore...opera. Fa delle operazioni. L'operazione che un tipo parametrico ArrayList<Decibel> fa sugli oggetti Decibel è il contenimento. Come giustamente dice Lovaz, ArrayList<Decibel> è una lista, nel senso della struttura dati, di Decibel, cioè che contiene valori di tipo Decibel. Direi che è tutto qui.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#59 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Qui dichiari un Arraylist di ArrayList di oggetti Decibel e lo chiami dati giusto ?
private ArrayList<ArrayList<Decibel>> dati = %%%%%%%%%%%%%%%%%%%%%%%%% E invece questo ? public class Griglia { Map<GridKey, Simbolo> dati... } |
![]() |
![]() |
![]() |
#60 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
No nulla, ho capito
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:11.