Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Fondamenti di architettura e programmazione
Pages: [1] 2 3 
[Progetto] TV Serial Cataloger
Clicca QUI per vedere il messaggio nel forum
il_gege
Qualcuno lo sta facendo questo progetto?

kimin@
ci provo...

Lukkei
ci si prova e si spera...

sHADOw001
Io l'avevo anche quasi finito..e mi si è fuso l'hd 2 ore fa del portatile..ho perso tutto!Questo progetto è una maledizione :'(

kimin@
come hai fatto scusa a finirlo in così poco tempo????????? °_° °_°

sHADOw001
Devo ammettere che questo progetto è molto più semplice degli altri, è fattibile.
Ho dedicato un po' di ore ed era quasi ultimato...era..mi viene da piangere!:sad:

kimin@
se ti può consolare io ho fatto due classi e mi sono bloccata xD xD
dai.. più o meno provando a ributtarlo giù non ti viene in mente come l'hai fatto?

AL85
areo niko tiratela meno


ahahaha

cmq anche a me che sono abbastanza impedito in java sembra più semplice degli altri..

sHADOw001
Si beh ora sto reinstallando tutto l'os, che rottura..e poi con calma dovrò reiniziarlo!
Vabbè dai, son cose che capito...C***** io a non fare un bakcup!
Dai in confronto all'ultimo progetto, il GPS, è veramente più fattibile

Stella20
ciao a tutti..
ho bisogno di un chiarimento...
con il BufferedReader posso leggere il file...ma come posso fare per scriverci??

il_gege
@Stella20: BufferReader, lo dice la parola stessa, serve per leggere; nel nostro caso io userei FileOutputStream(File (String filename)).

@Others: Più che altro io ho problemi sul metodo sort!!!

giron
come dice nella traccia, se usi la classe Arrays, per il sort esiste un bel metodo, tra i tanti, che dovrebbe fare tutto :)

-MaVeRiK86-
Salve a tutti,
ho iniziato questo progetto ma ci sono alcune cose (che novità) che non mi sono del tutto chiare, sperando che qualcuno possa darmi qualche dritta.
Con: "un intero compreso tra 1 e 1000, rappresentante il numero dell’episodio nella continuità del serial" cosa intende?Il numero dell'episodio all'interno del serial?
Non ha nulla a che fare con l'array di interi di 1000 elementi episodes [] presente in DB?Non riesco a capire se si tratti di un elemento univoco (ad esempio l'indice di episodes []) o se può anche essere duplicato negli episodi..Grazie mille, se qualcuno ha capito potrebbe spiegarmi?? :D

il_gege
l'intero compreso vuol dire che il numero di episodio deve essere compreso tra maggiore.uguale a 1 e minore.uguale a 1000!

giron. ho provato un pò tutte le opzioni possibili, alla fine però ho implementato un paio di metodi in più che mi fa il tipico bubble sort!

giron
Il controllo sull'anno dell'episodio (anno compreso tra 1900 e 2100) lo fate fare al costruttore di Episodio e in caso di anno non compreso tra 1900 e 2100 sollevate un'eccezione?

-MaVeRiK86-
@il_gege
rimango sempre perplesso sul cosa sia questo numero progressivo e se debba essere univoco all'interno degli episodi dell'array episodes[]..

@giron
Io pensavo di assegnargli l'anno corrente, in caso di data errata...c*****a dici?

fraBg
Scusate ho alcuni dubbi:

1) il metodo clone quando lo usate?

2) nel metodo squeezeSpace() le tabulazioni multiple sono da togliere solo dal titolo del telefilme e dell'episodio o da tutto e per modificare effettivamente lavorate direttamente sui campi o cosa?

Stella20
nel metodo write bisogna riportare anke la | nel file tra i campi del catalogo??

-MaVeRiK86-
@fraBg
1) Non ne ho idea, ma credo che lo utilizzi il prof in fase di test, in caso contrario mi aggrego alla tua domanda!

2)Io utilizzo questo metodo per tutte le String presenti in un Episode, così sono sicuro.

@Stella20
Per come la vedo io, write() deve incaricarsi solo di pulire i vecchi record e scrivere i nuovi.Il formato dei record da scrivere lo dovrebbe dare il toString di DB!

il_gege
@Maverick: Il numero dell'episodio dubito che sia univoco, in quanto non viene assolutamente detto nel testo.

Per il controllo sull'episodio e sull'anno, io gli gestirei nella classe Episodio.
All'inizio gli avevo gestiti nella classe DB (nella lettura del file e nell'addEpisode), però effettivamente mi sembra più sensato gestirli nel costruttore.

giron
@Maverick: Il numero dell'episodio dubito che sia univoco, in quanto non viene assolutamente detto nel testo.

Per il controllo sull'episodio e sull'anno, io gli gestirei nella classe Episodio. All'inizio gli avevo gestiti nella classe DB (nella lettura del file e nell'addEpisode), però effettivamente mi sembra più sensato gestirli nel costruttore.


Concordo!

towl88
1 domanda, ma come faccio ad eliminare le tabs all'interno della stringa? gli spazi li indico con ' ', ma per quando riguarda le tabs?

giron
@ towl88: io ho usato una regex.

Ho un dubbio per quanto riguarda il metodo write: il write deve scrivere sul file la descrizione di ogni episodio (uno per ogni riga) e fino qui ok; ma deve scrivere su file in modo ordinato? cioè deve scrivere su file senza troppi spazi tra parole, senza doppioni e con le maiuscole al posto giusto o quello lo farà il prof nel main?

towl88
niente ho risolto utilizzando il controllo con \t....grazie comunque

Supernick
ho provato un pò tutte le opzioni possibili, alla fine però ho implementato un paio di metodi in più che mi fa il tipico bubble sort!

Mh, non so se va bene fare così, anche perchè alla fine complichi un casino, invece se hai bene implementato il compareTo puoi usare i metodi della classe Arrays

fraBg
ma per le tabulazioni potrebbero essercene anche più di due consecutive e più volte nella stessa stringa??

fraBg
altra cosa la tab la controllate anche nei campi interi season, epn e year?

Supernick
Si ce ne possono essere più di una, eh si ti consiglio di dare una controllata anche ai campi dei numeri, altrimenti se trova spazi lancia la NumberFormatException.

fraBg
mmm ok ma quindi in teoria dovresti farlo prima di inserire il dato nel campo numerico della classe ?

il_gege
Originally posted by Supernick
Mh, non so se va bene fare così, anche perchè alla fine complichi un casino, invece se hai bene implementato il compareTo puoi usare i metodi della classe Arrays


Io ho implementato il compareTo, il problema resta che il sort bisogna farlo per: Serial, Stagione e TitoloEpisodio, mentre il compareTo usa l'ordine Serial, Stagione, NumeroEpisodio, TitoloEpisodio.

Quindi sinceramente non saprei da che parte passare.

Supernick
esatto, era proprio il problema a cui pensavo pure io, però son quasi sicuro che il metodo da usare sia questo (1- perchè lo richiede quasi esplicitamente e 2- perchè implementare l'interfaccia non avrebbe più senso)

il_gege
Ora che sono riuscito a implementare bene il metodo, capisco il suo funzionamento (e mi risparmia 2 metodi).

Il problema resta il fatto che se io lo ordino usando sort, quindi per numero di episodio, non me lo ordina, come richiede il testo, per titolo.

Il problema resta qua.

Supernick
esatto, mentre dovrebbe ordinare per

-Serial
-Stagione
-Titolo

ordina invece per

-Serial
-Stagione
-NEpisodio
-Titolo

magari ci sono altri metodi di Arrays che permettono di impostare delle priorità sull'ordinamento, dovrò studiarmi bene la documentazione di quella classe

Stella20
per usare come delimitatore dello stringtokenizer la tabulazione cosa dovrei mettere??

Supernick
StringTokenizer stk = new StringTokenizer(tuaStringa, "\t");

Stella20
altro dubbio...nel metodo squeeze() gli episodi vanno cancellati nell'array episodes[] oppure nel file??

giron
secondo me nll'array episodes[] e perciò di conseguenza nel file quando andrai a scrivere col write.

Stella20
però non c'è un metodo che mi permetta di eliminare degli elementi dall'array tipo episodes[i].delete()...come posso fare?

giron
infatti non va cancellato ma sostituito, se episodes[4] è l'episodio doppio da cancellare, in episodes[4] andrebbe episodes[5].
IO ho fatto così..

il_gege
Sisi, ci sono vari modi di farlo..

Supernick
EDIT: Ho detto una scemata :D

Stella20
quindi ogni doppione va tolto e gli altri slittano di una posizione??

AnTHrAx
scusate una cosa, io uso eclipse come compilatore java, quando ho implementato la classe episodes con comparable mi ha fatto mettere un ulteriore metodo compareTo(object o) riferito alla classe comparable.

questo compareTo(object o) va a sostituire la classe compareTo(episode e) che è richiesta nel testo?

giron
no io le ho utilizzate entrambe..credo serva anche quella con argomento Object perchè viene utilizzata

AnTHrAx
ok, cmq a me sort da un problema di nullpointerexception, a causa del fatto che ho creato l'array episodes[1000] solo che il file con cui lo testo ovviamente ha molte meno entry e tutti gli altri campi sono null, il che fa girare le scatole al signor sort.

voi come avete risolto? io avevo una mezza idea di fargli fare la ricerca solo dalla entry 0 alla entry nepisodes...

Supernick
C'è semplicemente un metodo che oltre all'array di oggetti da passare puoi passare anche un indice di inizio e di fine (dove basta settare 0 e nepisodes).

marcolino21
Ragazzi, secondo voi è sbagliato utilizzare una hashMap in cui fissare come chiavi title,serial ecc...e come valori i vari titoli,nome serial ecc..??Così verrebbero tutti scombinati, in quanto la hashMap non garantisce ordine al suo interno, ma poi se utilizzo un array per ordinare, non risulterebbe poi più semplice nella catalogazione?Pareri?Grazie..

-MaVeRiK86-
Originally posted by AnTHrAx
scusate una cosa, io uso eclipse come compilatore java, quando ho implementato la classe episodes con comparable mi ha fatto mettere un ulteriore metodo compareTo(object o) riferito alla classe comparable.

questo compareTo(object o) va a sostituire la classe compareTo(episode e) che è richiesta nel testo?


Per evitare di aggiungere un compareTo di Object devi definire il tipo analizzato dall'interfaccia nella dichiarazione della classe:

public class Episode implements Comparable<Episode>

il_gege
Originally posted by -MaVeRiK86-
Per evitare di aggiungere un compareTo di Object devi definire il tipo analizzato dall'interfaccia nella dichiarazione della classe:

public class Episode implements Comparable<Episode>


Il problema che facendo così, poi l'ordinamento del sort lo fa anche per il numero dell'episodio, chiaramente non indicato nel testo.

Mentre se si aggiunge un compareTo con Object, si può fare un secondo metodo di comparazione, scegliendo i criteri adatti..

Od erro?

towl88
e se usassi nel metodo sort, sort(Object[] a, int fromIndex, int toIndex, Comparator c) per tre volte, prima sul titolo del serial...poi dopo che l'ho ordinato per serial, creo un array con le dimensioni del numero di episodi di una serie, ripeto l'ordinamento con sort e con un altro comparator e li ordino per stagione, dopodiche creo un terzo array contenenti il numero di episodi di una stesso serial e di una stessa satgione e poi li ordino con un terzo sort con comparator per quanto riguarda i titoli...non andrebbe bene?

giron
altra cosa la tab la controllate anche nei campi interi season, epn e year?


Si ce ne possono essere più di una, eh si ti consiglio di dare una controllata anche ai campi dei numeri, altrimenti se trova spazi lancia la NumberFormatException.


Non capisco quando si verifica la NumberFormatException... se come argomento quando crei l'episodio, nell'anno metti:

Episode e = new Episode(puntata uno, star trek, 2, 24, 198 2, fantascienza)

non compila xke l'anno (198 2) ha uno spazio tra 8 e 2;

se invece:

Episode e = new Episode(puntata uno, star trek, 2, 24, 1982, fantascienza)

compila e si comporta in modo corretto nonostante gli spazi..sbaglio?

Quando ti darebbe NumberFormatException? Quando come anno metti una cosa del tipo "19-29"?

giron
Episode e = new Episode(puntata uno, star trek, 2, 24, 1982, fantascienza)


Intendevo:

Episode e = new Episode(puntata uno, star trek, 2, 24, spazio o tab qui 1982, fantascienza)

il_gege
Originally posted by giron
Intendevo:

Episode e = new Episode(puntata uno, star trek, 2, 24, spazio o tab qui 1982, fantascienza)


Lo stesso concetto di sopra.

Se tu passi ad un costruttore che vuole un int, un numero con formattature particolari, o addirittura tra apici, lo considera come una stringa, quindi ti solleva l'eccezzione.

giron
si ma ti darà errore già in fase di compilazione..senza sollevare l'eccezione perchè il costruttore si aspetta un intero.
Sbaglio?

Inoltre se nel costruttore di Episose sollevo un eccezione nel caso l'anno non sia compreso tra le due date indicate, qualsiasi eccezione dovrebbe rientrare in questa.

piero88
ragazzi ho un problema con il metodo sort...
utilizzo il metodo sort della classe Arrays ma non riesco a capire come è possibile ordinare i dati per serial, stagione e titolo episodio...mi potreste aiutare??

giron
le regole di ordinamento le stabilisci nel compareTo della classe Episode in base all'ordine in cui confronti le stringhe.

piero88
quindi dato che nella classe Episode nel metodo compareTo il confronto lo faccio nell'ordine: serial, season, epn e title l'ordinamento nel metodo sort della classe DB lo dovrebbe fare in questo ordine cioè serial, stagione, numero episodio e titolo giusto?

AnTHrAx
Originally posted by giron
Non capisco quando si verifica la NumberFormatException... se come argomento quando crei l'episodio, nell'anno metti:

Episode e = new Episode(puntata uno, star trek, 2, 24, 198 2, fantascienza)

non compila xke l'anno (198 2) ha uno spazio tra 8 e 2;

se invece:

Episode e = new Episode(puntata uno, star trek, 2, 24, 1982, fantascienza)

compila e si comporta in modo corretto nonostante gli spazi..sbaglio?

Quando ti darebbe NumberFormatException? Quando come anno metti una cosa del tipo "19-29"?


A mio avviso non ce ne dovremmo preoccupare, nonostante non sia un problema metterlo a posto, le specifiche del programma e dei dati in ingresso non richiedono che venga gestito un problema del genere e quindi do per scontato che vengano inseriti dei dati corretti.


Per evitare di aggiungere un compareTo di Object devi definire il tipo analizzato dall'interfaccia nella dichiarazione della classe: public class Episode implements Comparable<Episode>


grazie :)

towl88
scusate, ma nella classe astratta query, nel metodo match(Episode e) che controlli dobbiamo fare??? non ne capiamo l'utilità...visto che facciamo i controlli prima e dentro alle sue sottoclassi...

AnTHrAx
Originally posted by piero88
quindi dato che nella classe Episode nel metodo compareTo il confronto lo faccio nell'ordine: serial, season, epn e title l'ordinamento nel metodo sort della classe DB lo dovrebbe fare in questo ordine cioè serial, stagione, numero episodio e titolo giusto?



Si... anche se non so bene come gestirlo...


Per quanto riguarda il metodo squeeze e il metodo removeEpisode, lo spazio null in mezzo all'array come l'avete gestito? la soluzione più semplice sarebbe quella di riempire lo spazio vuoto comprimendo l'array... tuttavia non è esplicitamente richiesto e aggiungere if in giro mi pare un pò "sporco".

marcolino21
Scusate la domanda sciocca..mi spiegate il cosa serve fare il confronto con il metodo compareTo nella classe Episode??

giron
quindi dato che nella classe Episode nel metodo compareTo il confronto lo faccio nell'ordine: serial, season, epn e title l'ordinamento nel metodo sort della classe DB lo dovrebbe fare in questo ordine cioè serial, stagione, numero episodio e titolo giusto?


esatto!! prova a fare un test però

Lukkei
ho provato a sottoporre il progetto sul sito e mi restituisce il seguente errore:
/users/malchiod/public_html/LP/sottoposizione/sottoposizioni/phpslHThI/Main.java:1: class DVDTestMain is public, should be declared in a file named DVDTestMain.java
public class DVDTestMain {

La cosa mi sembra strana perchè non ho incluso alcun file Main.java nel mio .zip....
ho già scritto al prof, attendo risposta
Qualcun'altro ha avuto lo stesso problema?

AnTHrAx
non ho ancora sottoposto sry

Pavo88
penso sia un errore suo! anche perchè una classe DVDTestMain nn è da implementare!

giron
si anche secondo me è una svista sua xke sembra che il nome del file (main.java) abbia nome diverso dal nome della classe (DVDTestMain)

piero88
scusate ma il primo campo dell'episodio è il serial o il titolo dell'episodio??
faccio questa domanda perchè il prof nel costruttore della classe Episode mette come primo parametro il titolo dell'episodio mentre nell'esempio che cita nella classe TitleSubstringQuery appare come primo campo del file il serial...aiutoooo

Supernick
infatti, quasi istanzi devi mettere prima il titolo, invece quando leggi da file e stampi il toString() devi tener conto prima del serial

Stella20
nella classe Query il metodo astratto match dice di controllare che l'episodio passato rispetti i criteri di ricerca...cioè???

marcolino21
Non riesco a fare il confronto tra this.season e l'altro oggetto della classe Episode mediante compareTo, in Eclipse mi dice:

Cannot invoke compareTo(int) on the primitive type int

che posso fare??grazie

AnTHrAx
Originally posted by marcolino21
Non riesco a fare il confronto tra this.season e l'altro oggetto della classe Episode mediante compareTo, in Eclipse mi dice:

Cannot invoke compareTo(int) on the primitive type int

che posso fare??grazie



in eclipse in teoria quando fai implements comparable ti fa mettere un @Override un metodo che si chiama compareTo(Object obj).

Credo e ripeto credo che tu di fianco a implements Comparable debba metterci un <Integer>

AnTHrAx
Ma il prof con:

Attenzione che i vari metodi potrebbero sollevare delle eccezioni; queste non sono state specificate nel testo ma dovranno essere gestite cum grano salis. Tutte le eccezioni previste dall’uso di metodi Java devono filtrare ed essere gestite nel metodo main() anche se non espressamente indicato dalla segnatura dei metodi introdotti in questo documento.


Intendono che:

1. il suo metodo main non deve mettere throws exception quindi dobbiamo gestire le singole eccezioni all'interno del programma (non so, tipo ArrayIndexOutOfBoundException, FileNotFoundException e crearne altre varie ed eventuali)?

o

2. dobbiamo prevenire che avvegnano delle eccezioni mettendo IF et similia in giro per il programma?

questa affermazione la ritengo abbastanza engmatica...

marcolino21
Ho provato nello scrapbook di Eclipse a scrivere il metodo creando precedentemente 2 oggetti di tipo integer e così funziona.

Integer i1 = new Integer(5);
Integer i2 = new Integer(6);

System.out.println(i1.compareTo(i2));

Qualcuno mi dice come ha fatto per il confronto tra SEASON, visto che lo devo fare tra int?
Grazie 1000!

giron
Ma il prof con: Attenzione che i vari metodi potrebbero sollevare delle eccezioni; queste non sono state specificate nel testo ma dovranno essere gestite cum grano salis. Tutte le eccezioni previste dall’uso di metodi Java devono filtrare ed essere gestite nel metodo main() anche se non espressamente indicato dalla segnatura dei metodi introdotti in questo documento. Intendono che: 1. il suo metodo main non deve mettere throws exception quindi dobbiamo gestire le singole eccezioni all'interno del programma (non so, tipo ArrayIndexOutOfBoundException, FileNotFoundException e crearne altre varie ed eventuali)? o 2. dobbiamo prevenire che avvegnano delle eccezioni mettendo IF et similia in giro per il programma? questa affermazione la ritengo abbastanza engmatica...



Anche io non ho chiarissimo questo comunque credo che all'interno delle nostre classi noi prevediamo l'eventuale errore lanciando la dovuta eccezione (throws) e lui nel main le gestirà attraverso un try con più catch.

Supernick
Qualcuno mi dice come ha fatto per il confronto tra SEASON, visto che lo devo fare tra int?


Semplicemente facendo (poni che e sia il parametro del compareTo)

if (this.season < e.season)
return -1;
else
if (this.season > e.season)
return 1;
else
return 0;

Il compareTo vuole un object come parametro, non puoi passarli tipi primitivi, sulle stringhe lo usi per il confronto lessicografico, ma sugli interi è inutile, basta confrontare se uno è <, = o >...

Nel tuo ultimo caso funziona perchè usi Integer che è un oggetto, mentre int è un tipo primitivo

il_gege
Ma a proposito,
voi nel caso in cui trovate nel file di configurazione, dei parametri mancanti, interrompete la lettura del file sollevando un data eccezzione, o bypassate l'episodio?

-MaVeRiK86-
Io uso una Regexp su ogni readLine quando leggo il file db..se la riga soddisfa l'espressione, l'aggiungo come nuovo episodio all'array, altrimenti la ignoro e passo alla successiva..

il_gege
E' quello per cui ho optato anche io, ma ovviamente dato che utilizzo un ciclo for, non credo sia possibile sollevare comunque un'eccezzione che NON mi interrompa il ciclo di lettura, o sbaglio?

-MaVeRiK86-
No ma infatti secondo me non ha senso interrompere il tutto per un record sbagliato, al limite lo salti!Tanto l'eccezione si solleva da sola nel caso uno dei valori del costruttore non sia valido..

Pavo88
Regexp? cos'è che non l'ho mai sentito?

fraBg
ma con regexp controlli anche la storia maiuscolo/minuscolo, spazi e tabulazioni?

-MaVeRiK86-
No io controllo che la stringa estratta con readLine corrisponda al formato richiesto:
String|String|int|int|int|String
Dopodichè gestisco le varie tabulazioni e spazi con i metodi richiesti dal progetto..
faccio un esempio: se una riga fosse composta da String|int|String|int|int|int la regexp la salta e passa a quella dopo perchè non è nel formato corretto..almeno dò un primo filtraggio preliminare!

-MaVeRiK86-
Originally posted by Pavo88
Regexp? cos'è che non l'ho mai sentito?

http://en.wikipedia.org/wiki/Regular_expression
Ti semplifica molto il lavoro!!

tetsuo
ciao, scusate se ne avete già parlato, ma sono di fretta e non ho letto per intero tutto il thread. Comunque volevo chiedervi cosa intenda nel nel testo quando nella classe Query ci sottopone il metodo:

abstract boolean match (Episode e)
Grazie
a dopo!

giron
voi nel metodo CapitalizeTitles() mantenete gli spazi o le tabulazioni che ci sono in eccesso?

cioè se avete:

| titolo|

lo fate diventare

|Titolo|

o

| Titolo|

-MaVeRiK86-
CapitalizeTitles() secondo me deve occuparsi solo di mettere in maiuscolo la prima lettera di ogni parola, per togliere gli spazi e le tab lanci prima squeezeSpaces()..
in sequenza:
squeeze()
squeezeSpaces()
CapitalizeTitles()

fraBg
ma questa sequenza
squeeze()
squeezeSpaces()
CapitalizeTitles()
dove la richiami?

giron
ok maverick sono daccordo, ma tu perciò all'interno del tuo metodo CapitalizeTitles() esegui uno squeezeSpaces() come prima istruzione?

Cioè tu dici che prima va fatto uno squeezeSpaces e sono daccordo, ma se il prof nel suo main esegue un CapitalizeTitles() prima di uno squeezeSpaces e hai un titolo di questo tipo: | titolo|
il CapitalizeTitles() cercherà di mettere la maiuscola a un carattere di spazio dando errore se non hai invocato prima uno squeezeSpaces().

Cioè io voglio capire se secondo voi è corretto utilizzare uno squeezeSpaces() come prima istruzione del CapitalizeTitles() in modo che invocando un CapitalizeTitles(), oltre che le iniziali di parole maiuscole avrò una pulitura dei caratteri di spazio o se nel CapitalizeTitles() tenete conto dei possibili spazi.

Sono stato un po' contorto ma spero abbiate capito!

-MaVeRiK86-
Questa sequenza io glie la faccio chiamare la prima volta nel costruttore di DB una volta inizializzato il catalogo, così ho l'intero database pronto per essere usato.
Poi conta che i metodi sono pubblici quindi il prof può richiamarli quando vuole dal suo main, ad esempio se dovesse inserire nuovi episodi non formattati correttamente, oppure nel caso venga lanciato reload..si azzera tutto e devi riformattare tutto il contenuto!

-MaVeRiK86-
Originally posted by giron
ok maverick sono daccordo, ma tu perciò all'interno del tuo metodo CapitalizeTitles() esegui uno squeezeSpaces() come prima istruzione?

Cioè tu dici che prima va fatto uno squeezeSpaces e sono daccordo, ma se il prof nel suo main esegue un CapitalizeTitles() prima di uno squeezeSpaces e hai un titolo di questo tipo: | titolo|
il CapitalizeTitles() cercherà di mettere la maiuscola a un carattere di spazio dando errore se non hai invocato prima uno squeezeSpaces().

Cioè io voglio capire se secondo voi è corretto utilizzare uno squeezeSpaces() come prima istruzione del CapitalizeTitles() in modo che invocando un CapitalizeTitles(), oltre che le iniziali di parole maiuscole avrò una pulitura dei caratteri di spazio o se nel CapitalizeTitles() tenete conto dei possibili spazi.

Sono stato un po' contorto ma spero abbiate capito!

In questo caso si, anche io farei così..il codice diventa + ridondante ma almeno è sicuro!anche se spero che il prof non faccia di questi esperimenti che al fine del progetto secondo me sono marginali/inutili e si attenga a lanciare tutto nella sequenza corretta (illuso :D)!

giron
In questo caso si, anche io farei così..il codice diventa + ridondante ma almeno è sicuro!anche se spero che il prof non faccia di questi esperimenti che al fine del progetto secondo me sono marginali/inutili e si attenga a lanciare tutto nella sequenza corretta (illuso )!


Anche io spero non li faccia, ma temo li possa fare....

Io ho mandato una mail al prof per chiarimenti riguardo al fatto di mantenere o no gli spazi prima del titolo quando eseguo CapitalizeTitles() e dalla risposta lascia intendere che gli spazi non vanno toccati, perciò, se dovesse lanciare un CapitalizeTitles() dopo aver aggiunto un episodio con titolo simile a questo: | the oNe| lui si aspetterebbe | The One| e non |The One| se non ha invocato prima un squeezeSpaces().

Lo so, sono piccolezze, forse ininfluenti (spero), ma ho capito che per passare questo progetto bisogna essere il più precisi possibile.

-MaVeRiK86-
ma ho capito che per passare questo progetto bisogna essere il più precisi possibile.

Com'è vero :( !!!
E sia..che gli spazi rimangano (no comment)!
Domanda: voi le eccezioni le avete tutte rimandate al main, no?Anche quelle create ad hoc per il progetto..

giron
ti capisco maverick!

si le eccezioni io le sollevo nei vari metodi delle classi ma poi le gestisco tutte nel main.

-MaVeRiK86-
Ok perfetto, si tanto la gestione non è affar nostro non dovendo consegnare il main..intravedo la luce!

-MaVeRiK86-
Rilancio con un'altra domanda..come avete gestito il controllo del valore del campo anno e numero epn? In caso sia < di 1900 o > 2100 e per l'epn < o > di (0, 1000), lanciate un'eccezione? Io sono in dubbio..lanciando un'eccezione si blocca l'intera acquisizione del catalogo (non potendo gestire il try/catch fisicamente) se il record incriminato magari è proprio il primo..o lo si salta o si trova un valore di default da assegnare, che dite?

Supernick
Mah, io son sempre rimasto che a ohni errore ri formattazione e formazione errata del file di testo si lancia l'eccezione, per questo la questione delle date l'ho risolta nel costruttore di Episode

-MaVeRiK86-
Originally posted by Supernick
Mah, io son sempre rimasto che a ohni errore ri formattazione e formazione errata del file di testo si lancia l'eccezione, per questo la questione delle date l'ho risolta nel costruttore di Episode

Anche io i controlli sui campi li faccio nel costruttore di Episode.
Quindi tu blocchi l'esecuzione del programma appena trovi qualcosa che non va nel file di testo e lo segnali,no?

Supernick
si, oddio, cerco di risolverlo nei modi possibili, ad esempio anche se non richiesto cerco di formattare al meglio i campi delle date, stagioni e n-ep, però se sono altri errori sollevo l'eccezione

-MaVeRiK86-
Originally posted by Supernick
si, oddio, cerco di risolverlo nei modi possibili, ad esempio anche se non richiesto cerco di formattare al meglio i campi delle date, stagioni e n-ep, però se sono altri errori sollevo l'eccezione

Si ho fatto così anche io, il mio unico timore è che ad esempio se già la prima riga del file contiene un campo non valido, si solleva l'eccezione e l'esecuzione s'interrompe.Non vorrei che dopo il prof in realtà lo intendesse in maniera differente..boh..speriamo in bene!

sHADOw001
Salve a tutti, una domanda:
Secondo voi il metodo backup deve creare una copia del catalogo in un nuovo file prendendo le informazioni pari pari dal vecchio o usare gli episodi presenti nell'array?
..metodo che effettua una copia di backup del catalogo, salvandola in un file il cui nome è specificato nella stringa passata come argomento..

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate