| |
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 |
[Progetto] MailMerge Clicca QUI per vedere il messaggio nel forum |
Jaky |
guardate che se l'applicazione viene lanciata 2 volte in due momenti distinti, non è che si deve ricordare dei file creati la volta prima... |
-MaVeRiK86- |
Ma in questo caso ci potrebbe essere una riscrittura, se il contatore riparte da zero..o forse non ho capito io: ad ogni esecuzione devo creare una directory nuova contenente il file (se è DocumentProcessor) o i file (BatcProcessor), a patto che vi sia argomento al process..è cosi? |
Lukkei |
ok, penso di aver risolto il problema del contatore... |
dria81 |
Io sono bloccato su un altro punto...
ok che la classe batch suddivide il file e salva un nuovo documento/mail/report ma dopo che l'o salvato come faccio a passarglielo alla classe documentProcessor che dovrebbe fare il merge? E poi a questo punto chi visualizza? Il metodo process di quale classe?
Per me questa parte è spiegata malissimo e troppo incasinata!! |
polar |
Scusate una cosa ma come fate a controllare che vengano rispettati i formati? |
Jaky |
secondo voi è male superare le 400 linee di codice? fino a quanto si potrà sforare? 0_o |
nasty121 |
Originally posted by Jaky
secondo voi è male superare le 400 linee di codice? fino a quanto si potrà sforare? 0_o
credo ke non siano le 400 linee, ma quella che chiamano "buona programmazione" ..
quella loro... |
Lukkei |
eccoci all'escape......qualcuno di voi ha risolto il problema?
io ci sto impazzendo da circa 4 ore... |
ufficiale86 |
raga ma come cavolo avete fatto a dividere le righe in mezzo tra il BEGIN e l'END e inserirle nel costruttore di un documento ad esempio??dai sto impazzendo 1aiutino misero grazie |
nasty121 |
Originally posted by Lukkei
eccoci all'escape......qualcuno di voi ha risolto il problema?
io ci sto impazzendo da circa 4 ore...
Noi siamo stati fermi giorni sugli escape, e non abbiamo ancora risolto del tutto...
se si utilizza il metodo replaceAll() come si suggeriva è possibile pulire le stringhe (sostituire i caratteri di escape).
ma se poi otteniamo una variabile stile <acquisti>100> come gli diciamo da dove "tagliare"? :? |
Kiba |
Scusate ma dopo aver creato la classe Batch Processor, come facciamo a creare delle istanze per i vari tipi di documenti, da passare a Document Processor sapendo che :
1)DP ha bisogno del file dei nomi e dei valori, i quali NON contengono le variabili necessarie per la formattazione del documento(per esempio come interpretiamo "nome dell'autore"?Dobbiamo mettere primo nome+ secondo nome + cognome?E la mail la inventiamo noi?)
2)Non possiamo passare a DP i modelli, e anche se potessimo quale mail, document, report scegliamo?
3)Se chiediamo nel costruttore di un documento di inserire i valori necessari per la sua corretta formazione non abbiamo più bisogno di tener conto dei file dei nomi e dei valori?
4)Nel testo del progetto dice di lanciare WrongFormatException quando il formato dei file dei modelli non viene rispettato. Bisogna fare un controllo riga per riga?(se così fosse sarebbe un casino)
Il prof è "fuori sede" fino a venerdì, noi abbiamo completato la parte di BP e ci manca di sapere cosa fare per finire DP. |
Jaky |
Originally posted by Kiba
Scusate ma dopo aver creato la classe Batch Processor, come facciamo a creare delle istanze per i vari tipi di documenti, da passare a Document Processor sapendo che :
1)DP ha bisogno del file dei nomi e dei valori, i quali NON contengono le variabili necessarie per la formattazione del documento(per esempio come interpretiamo "nome dell'autore"?Dobbiamo mettere primo nome+ secondo nome + cognome?E la mail la inventiamo noi?)
2)Non possiamo passare a DP i modelli, e anche se potessimo quale mail, document, report scegliamo?
3)Se chiediamo nel costruttore di un documento di inserire i valori necessari per la sua corretta formazione non abbiamo più bisogno di tener conto dei file dei nomi e dei valori?
4)Nel testo del progetto dice di lanciare WrongFormatException quando il formato dei file dei modelli non viene rispettato. Bisogna fare un controllo riga per riga?(se così fosse sarebbe un casino)
Il prof è "fuori sede" fino a venerdì, noi abbiamo completato la parte di BP e ci manca di sapere cosa fare per finire DP.
1)eeh? cosa vuol dire -come interpretiamo "nome dell'autore"?
quando al DP passi l'istanza di un documento, quest'ultimo contiene gia tutte le informazioni, che le abbia inserite tu a mano o che siano state prelevate dal file dei modelli...è indifferente...
2)certo che puoi! non è che gli passi l'intero modello ovvio...a cosa pensi che serva la classe DP?
non devi fare una scelta...per ogni modello che trovi( per ogni singolo bloggo BEGIN END) devi creare n file tanti quanti le righe del file dei valori
3)no, una volta inserire dovrai controllare se sono scritte correttamente e che siano presenti nel file dei nomi(lo dice il testo)
4) direi proprio di si |
Kiba |
Originally posted by Jaky
1)eeh? cosa vuol dire -come interpretiamo "nome dell'autore"?
quando al DP passi l'istanza di un documento, quest'ultimo contiene gia tutte le informazioni, che le abbia inserite tu a mano o che siano state prelevate dal file dei modelli...è indifferente...
2)certo che puoi! non è che gli passi l'intero modello ovvio...a cosa pensi che serva la classe DP?
non devi fare una scelta...per ogni modello che trovi( per ogni singolo bloggo BEGIN END) devi creare n file tanti quanti le righe del file dei valori
3)no, una volta inserire dovrai controllare se sono scritte correttamente e che siano presenti nel file dei nomi(lo dice il testo)
4) direi proprio di si
Ma scusa BP prende il file dei modelli, DP no.
Non è detto che malchiodi in fase di verifica esegua sempre prima Batch Processor; se esegue DocumentProcessor dove li prendi i modelli???e poi è scritto chiaramente DP vuole un'istanza di un documento, mail o report mica ti dice di prenderle da BP |
Jaky |
Originally posted by Kiba
Ma scusa BP prende il file dei modelli, DP no.
Non è detto che malchiodi in fase di verifica esegua sempre prima Batch Processor; se esegue DocumentProcessor dove li prendi i modelli???e poi è scritto chiaramente DP vuole un'istanza di un documento, mail o report mica ti dice di prenderle da BP
tutto ciò è giustissimo. Dici dove li prende...li mette lui! le inventa...poi sta a te controllare che quello che mette è corretto e che sia presente nel file dei nomi. |
nasty121 |
scusate,
ma secondo voi se nel file dei modelli abbiamo una riga insensata (tipo invece di cominciare con un BEGIN Document, inizia con pippo come prima riga) la ignoriamo o lanciamo l'eccezione WrongFormatException()??? |
ufficiale86 |
Raga il prof nel testo dice:"Rispettare alla lettera il formato per i file di input e di output e per le visualizzazioni a schermo"(pagina6) cosa vuole dire?????output e visualizzazioni a schermo ok ma x i file di input??vuol dire ke bisogna inserire sempre dei file di input(nomi,variabili e modelli) sempre fatti bene?? |
nasty121 |
Originally posted by ufficiale86
Raga il prof nel testo dice:"Rispettare alla lettera il formato per i file di input e di output e per le visualizzazioni a schermo"(pagina6) cosa vuole dire?????output e visualizzazioni a schermo ok ma x i file di input??vuol dire ke bisogna inserire sempre dei file di input(nomi,variabili e modelli) sempre fatti bene??
bisogna sicuramente prevedere l'input di file MALfatti e lanciare le dovute eccezioni. |
Supernick |
Non credo sia quella la questione:
I file possono contenere all'interno qualsisasi cosa, ed è li che dobbiamo lanciare l'eccezione, io credo rispettare i formati di input, significa che devono tener conto della struttura dei vari file, cioè ad esempio verificare che nei file dei nomi i nomi delle variabili siano posti su righe diverse ecc....
raga ma come cavolo avete fatto a dividere le righe in mezzo tra il BEGIN e l'END e inserirle nel costruttore di un documento ad esempio??dai sto impazzendo 1aiutino misero grazie
Io ho da poco iniziato questa parte, praticamente metti un ciclo di lettura che parte alla riga BEGIN + 1 e si stoppa alla riga END (esclusa)
ne ho fatto tre diversi per i documenti diversi, e li inizia la fase di merge.
----
Avrei io ora una domanda:
Prendete per esempio il seguente modello
code:
BEGIN Email
Supermercati TRIPP
21/08/2008 10:03:45
<primo nome>.<cognome>@<server di posta>
Promozione dei supermercati TRIPP
Gentile <titolo> <primo nome> <secondo nome> <cognome>,
siamo lieti di informarla che, avendo lei effettuato <acquisti\>100>
acquisti nel nostro supermercato, ognuno per un totale superiore a
100 Euro, potrˆ acquistare in anteprima il nuovo modello del frullatore
KRAZZ al presso simbolico di 10 Euro.
<saluto>,
La direzione dei supermercati TRIPP
END Email
In questo caso come devo gestire il contenuto del testo, cioè, i noimi tra <> ok, devo leggere dai file dei nomi e dei valori per poterli usare coem parametri di una istanza di EMail. Ma come faccio invece a rilevare il testo (Ovvero il "Siamo lieti di informarla bla bla bla)? cioè per un generico modello come faccio a sapere dov'è il testo?
Per spiegarmi meglio, quando istanzio EMail
EMail m= new EMail (primo nome, cognome, (linea in cui compare la @ per la mail)....., testo)
il testo come faccio a rilevarlo all'interno della mail?
grazie :D |
Jaky |
Secondo me, per il fatto di rispettare il formato, si riferisce solo ed esclusivamente al formato per i documenti, ovvero quello che dice nel punto 5.1 del pdf.
per il file dei nomi e dei valori penso proprio che non devi controllare nulla...
supernick diceva:
cioè ad esempio verificare che nei file dei nomi i nomi delle variabili siano posti su righe diverse ecc....
ma un controllo del genere non può essere fatto; poniamo la variabile PRIMO NOME, come fai a sapere se è una variabile intera oppure sono due variabili distinte, ovvero PRIMO e NOME?
non si può fare un controllo del genere, nè sul file dei nomi ne su quello dei valori..il controllo va fatto solo sui formati dei modelli, a prescindere che vengano presi da un file dei modelli o che vengano inserite a mano |
Supernick |
ma un controllo del genere non può essere fatto; poniamo la variabile PRIMO NOME, come fai a sapere se è una variabile intera oppure sono due variabili distinte, ovvero PRIMO e NOME?
perche se ho capito bene (e sarebbe una novità :D) nei file dei nomi, i singoli nomi delle variabili sono posti su righe diverse quindi
Primo
Nome
son due variabili distinte, ma
Primo nome
è la stessa variabile |
Lukkei |
Originally posted by Supernick
perche se ho capito bene (e sarebbe una novità :D) nei file dei nomi, i singoli nomi delle variabili sono posti su righe diverse quindi
Primo
Nome
son due variabili distinte, ma
Primo nome
è la stessa variabile
si, è così, del resto il discorso delle variabili distinte su righe distinte è una delle pochissime cose che sono chiare nel testo, che sembra scritto da Battiato in una fase acuta di depressione... |
Jaky |
appunto! ed è per questo motivo che non possono essere fatti controlli sul file dei nomi.
se nel file dei nomi c'è
primo nome secondo nome
cognome
primo nome secondo nome è da intendersi come unica variabile |
Supernick |
che sembra scritto da Battiato in una fase acuta di depressione...
hahaahah
però temo ci sia da controllare questo:
metti caso
FILE NOMI
nome
cognome
email
FILE VALORI
pippo,baudo,pp@mail.com,saluti
c'è da tener presente che c'è un valore di troppo che non può essere assegnato ad alcuna variabile |
Jaky |
si, vero, infatti questo controllo è scritto esplicitamente nel testo :) |
nasty121 |
già, vanno confrontati il numero di nomi con il numero di valori per riga..
"ogni riga
conterr`a esattamente tanti valori quante sono le righe (e quindi le variabili)" (4.2, pg 2) |
Supernick |
esatto.
scusate (per curiosità) voi su che strutture state lavorando.
io credevo di fare un vector per la lettura da documento (così non ho problemi per le dimensioni) però poi trasferire tutto in array (dandoli come dimensione vector.size()) che son più facili da gestire |
nasty121 |
anch'io ho abusato di vettori ehehe... sono comodissimi!
e l'interfaccia voi dove l'avete utilizzata?
Malchiodi mi disse che non è obbligatoria (xk se la togli e rimuovi l"implements alle classi, è uguale), ma lui vuole vedere come la sfruttiamo... |
Supernick |
si non è obbligatoria, però la puoi usare e riportarne come traccia i metodi usati nelle classi Document, Mail e Report (se hai fatto coem me che Document è superclasse (NON astratta ovviamente) di mail e report la usi solo per implementare questa classe).
quindi alla fine l'interfaccia la usi come parametro da passare quando istanzi documentprocessor.
penso sia così.... (anche se non l'ho ancora fatto :( )
una domandina poi, il FileModelli deve iniziare per forza con
BEGIN xyz o può iniziare anche con una riga vuota? mi serve per gestire le eccezioni... |
nasty121 |
Originally posted by Supernick
si non è obbligatoria, però la puoi usare e riportarne come traccia i metodi usati nelle classi Document, Mail e Report (se hai fatto coem me che Document è superclasse (NON astratta ovviamente) di mail e report la usi solo per implementare questa classe).
quindi alla fine l'interfaccia la usi come parametro da passare quando istanzi documentprocessor.
penso sia così.... (anche se non l'ho ancora fatto :( )
una domandina poi, il FileModelli deve iniziare per forza con
BEGIN xyz o può iniziare anche con una riga vuota? mi serve per gestire le eccezioni...
questo sarebbe da domandare al professore, io personalmente ho pensato che il file dei modelli dev'esser ben codificato perciò ogni "modello" sta tra BEGIN-END:
ciò che è al di fuori è errore(da gestire).
:twisted: |
Supernick |
infatti, perchè comunque non so se darli che "SE il file inizia con qualcosa di diverso da BEGIN Doc o BEGIN MAil o BEGIN Rep = errore oppure se anche la riga bianca è consentita...vabbeh è un problema moooolto minore |
ufficiale86 |
No no <primo nome>, primo nome è la variabile e nel file dei nomi primo nome è sulla stessa riga x forza |
Lukkei |
piccolo semi off topic:
nelle modalità di consegna citate nell'ormai mitico testo di questo "entusiasmante" progetto, c'è scritto che il malloppo cartaceo dei documenti va consegnato mercoledi 16 settembre...tutto perfetto, tranne per il fatto che il 16 settembre è un martedi!
allora voleva dire martedi 16 settembre
o mercoledi 17?
scusate ma mi scappa da ridere.... |
nasty121 |
Originally posted by Lukkei
piccolo semi off topic:
nelle modalità di consegna citate nell'ormai mitico testo di questo "entusiasmante" progetto, c'è scritto che il malloppo cartaceo dei documenti va consegnato mercoledi 16 settembre...tutto perfetto, tranne per il fatto che il 16 settembre è un martedi!
allora voleva dire martedi 16 settembre
o mercoledi 17?
scusate ma mi scappa da ridere....
ahahahaha.....
dai errare è umano.... e loro sono professori universitari... |
Supernick |
Oddio, per fare tutte le letture mi è venuto fuori un Vector di Vector di String :shock: |
Jaky |
Raga, ma voi che tipo di argomento passate al costruttore del Report per quanto riguarda i paragrafi? 0_o |
Supernick |
è la stessa domanda che mi ponevo pure io.....cioè quello che tu dici è il fatto che i paragrafi non sono nei file dei valori e dei nomi ma solo nei modelli, quindi come si fa a capire quando inizia un paragrafo e quando finisce (ricordo che non sono delimitati da < e >) lo stesso vale per altri dati.
comunque per quando riguarda l'argomento credo vada bene una stringa però con le sequenze di escape ecc.. |
Jaky |
cosa intendi con "ricordo che non sono delimitati da < e >" ?
all'interno dei paragrafi potrebbero esserci delle variabili... |
Supernick |
all'interno si, ma io sto parlando dei pragrafi stessi....questi come devo gestirli?
Essendo "fissi" alcuni paragrafi, come faccio a passarli come parametro del costruttore? |
Jaky |
ah boh..non ci sono ancora arrivato...sto ancora tentando di prelevare quello che c'è dentro un BEGIN Document.. |
Supernick |
mi sa che allora siamo piu o meno allo stesso punto...solo che sto debuggando perchè ha qualche problema.... |
Jaky |
non ho la minima idea di come si usi il debug :D |
ufficiale86 |
Originally posted by Jaky
non ho la minima idea di come si usi il debug :D
siamo in due hehe:D |
Jaky |
mah..non ho ancora capito che tipo di variabili ci va per memorizzare i paragrafi...qualche idea? |
nasty121 |
Originally posted by Supernick
Oddio, per fare tutte le letture mi è venuto fuori un Vector di Vector di String :shock:
ank'io uso vettori di vettori (stringa) e viene fuori un bel sistemino complesso di lettura...
il controllo dei nomi dove lo effettuate) (ricordo k devono comprendere almeno tutte le variabili contenute nel documento)
Io questo "check" lo farei subito dopo aver caricato il vettore di nomi nel DocumentProcessor, voi come fate? |
ufficiale86 |
Raga ma la lettura del file dei nomi e del file delle variabili l'avete fatto nelle classi dei documenti (Document,Email,Report)????????? |
Jaky |
Originally posted by nasty121
il controllo dei nomi dove lo effettuate) (ricordo k devono comprendere almeno tutte le variabili contenute nel documento)
Io questo "check" lo farei subito dopo aver caricato il vettore di nomi nel DocumentProcessor, voi come fate?
io lo faccio man mano che trovo una variabile, del tipo
trovo la variabile, controllo se è presente, se si vado avanti, altrimenti eccezioni. Lo faccio anche io nel DocumentProcessor
Raga ma la lettura del file dei nomi e del file delle variabili l'avete fatto nelle classi dei documenti (Document,Email,Report)?????????
no, lo puoi fare solo in una classe questa cosa, ed è tremendamente palese :D
mi rimane ancora il problema di che tipo di varibile usare per i paragrafi..mmmmah!
ah raga..curiosità...come siete messi a linee di codice? :D qualcuno è sulle 400? io circa 500 :cry: |
ufficiale86 |
Originally posted by Jaky
io lo faccio man mano che trovo una variabile, del tipo
trovo la variabile, controllo se è presente, se si vado avanti, altrimenti eccezioni. Lo faccio anche io nel DocumentProcessor
no, lo puoi fare solo in una classe questa cosa, ed è tremendamente palese :D
mi rimane ancora il problema di che tipo di varibile usare per i paragrafi..mmmmah!
ah raga..curiosità...come siete messi a linee di codice? :D qualcuno è sulle 400? io circa 500 :cry:
Kiedo xkè il professore a pagina 6 punto 8 2°pallino dice dove metterla...si fa li?? |
Jaky |
dice: nella classe meno specifica :D sta a te capire quale intendeva |
ufficiale86 |
meno specifica tra quali???tra le 3??dai dimmelo.....:D ho kiesto solo per sapere se sto procedendo in maniera corretta o sto sbagliando tutto! |
nasty121 |
Originally posted by Jaky
dice: nella classe meno specifica :D sta a te capire quale intendeva
mmm, e te in k classi le sostituisci i valori alle variabili? |
ufficiale86 |
DocumentProcessor |
Jaky |
scusami...ma se istanzi ad esempio un Document facendo
Document d = new Document(valore,valore);
mi spieghi come puoi passargli i due documenti? :D
qual'è la classe che riceve il nome dei documenti? |
Jaky |
Originally posted by nasty121
mmm, e te in k classi le sostituisci i valori alle variabili?
se ti dico nella classe meno specifica mi mandi a cagare? :-D |
ufficiale86 |
in process() di DocumentProcessor richiamo 1metodo di Document chiamato ad esempio doc.leggiNomi(String filename) e gli passo la stringa del nome del file dei nomi...semplice ma forse inutile...
La frase del punto 8 2°pallino mi lascia perplesso dall'inizio del progetto |
nasty121 |
Originally posted by Jaky
se ti dico nella classe meno specifica mi mandi a cagare? :-D
in effetti lì c'ero arrivato ank'io... io lo faccio in DP... |
Jaky |
in process() di DocumentProcessor richiamo 1metodo di Document chiamato ad esempio doc.leggiNomi(String filename) e gli passo la stringa del nome del file dei nomi...semplice ma forse inutile...
La frase del punto 8 2°pallino mi lascia perplesso dall'inizio del progetto
scusami, ma per fare una cosa del genere dovresti avere già un'istanza di document...
se stai pensando a quello..allora ad ogni istanza che passi a DocumentProcessor gli fai ogni volta rileggere il file dei nomi?
so trovi 50 modelli e ci sono 50 persone nel file dei valori, gli fai eseguire quel metodo 2500!!!
oppure potresti rendere il metodo statico, richiamandolo quindi con Document.leggiNomi......oppure fai estendere alla classe DocumentProcessor Document, entrambi i casi non mi sebrano molto sensati. |
Jaky |
Originally posted by nasty121
in effetti lì c'ero arrivato ank'io... io lo faccio in DP...
yeah :D |
Lukkei |
Originally posted by ufficiale86
La frase del punto 8 2°pallino mi lascia perplesso dall'inizio del progetto
ti perplime solo quella frase?
ritieniti fortunato :-D |
Jaky |
Qualcuno ha qualche dritta per come memorizzare i paragrafi dei report? =\ |
ufficiale86 |
Originally posted by Jaky
scusami, ma per fare una cosa del genere dovresti avere già un'istanza di document...
se stai pensando a quello..allora ad ogni istanza che passi a DocumentProcessor gli fai ogni volta rileggere il file dei nomi?
so trovi 50 modelli e ci sono 50 persone nel file dei valori, gli fai eseguire quel metodo 2500!!!
oppure potresti rendere il metodo statico, richiamandolo quindi con Document.leggiNomi......oppure fai estendere alla classe DocumentProcessor Document, entrambi i casi non mi sebrano molto sensati.
Si si ho capito grazie quello ke ho fatto è inutile quindi cambio.....ecco qual'è il mio problema non penso su larga scala di documenti!!!
A questo punto la domanda è d'obbligo....La lettura dei file non va fatta in Document/Email/Report giusto.....e allora qual'è la classe meno specifica???dai aiutatemi è soltanto 1nome!è sto "meno specifica" ke non comprendo... |
nasty121 |
Originally posted by ufficiale86
Si si ho capito grazie quello ke ho fatto è inutile quindi cambio.....ecco qual'è il mio problema non penso su larga scala di documenti!!!
A questo punto la domanda è d'obbligo....La lettura dei file non va fatta in Document/Email/Report giusto.....e allora qual'è la classe meno specifica???dai aiutatemi è soltanto 1nome!è sto "meno specifica" ke non comprendo...
io la effettuo in DocumentProcessor (nomi e vallori).... batch processor si occupa di leggere il file modelli e instanziare li documento adatto.
che altro? ah ragazzi, collaboriamo dai.... se si sa la risposta a una domanda, un suggerimento, non teniamoli x noi... |
Lukkei |
mi pare chiaro che la lettura dei file (nomi e valori) vada fatta in DP....
@ ufficiale86
non stare a scervellarti sulle "finezze" del testo tipo "meno specifica", credo che se i prof rileggessero il testo fra qualche anno stenterebbero a comprenderlo anche loro.... |
ufficiale86 |
Originally posted by nasty121
io la effettuo in DocumentProcessor (nomi e vallori).... batch processor si occupa di leggere il file modelli e instanziare li documento adatto.
che altro? ah ragazzi, collaboriamo dai.... se si sa la risposta a una domanda, un suggerimento, non teniamoli x noi...
Grande grazie mille perfetto allora è come pensavo di rimediare alla cazzata di leggerlo nei vari documenti!perfetto ok allora adesso posso procedere a leggere i report...se avete qualke domanda postatela proviamo insieme a rispondere!!! |
nasty121 |
questo è lo spirito giusto della community! :-D |
Jaky |
curiosità...ma secondo voi per "controllo del formato" cosa intende nello specifico?
cioè..se per esempio tra BEGIN Document END Document ci sono più di 3 stringhe, lanciare errore?
oppure se trova qualcosa al di fuori dei BEGIN-END? che altro? non mi viene in mente nulla...
e poi come si fa a controllare la data? cioè, se per esempio sul file dei nomi c'è 2008/20/02 lanciare errore? |
nasty121 |
e già che ci siamo posto una domanda:
nel tokenizzare le stringhe | testo fisso | | <variabile1> | | <variabile2>|
per selezionare i <"tag variabile"> come procedete?
io uso condizioni se char == '<' allora procedi finchè non trovi un '>'...
credete k sia una scelta comune o è +semplice? |
nasty121 |
Originally posted by Jaky
curiosità...ma secondo voi per "controllo del formato" cosa intende nello specifico?
cioè..se per esempio tra BEGIN Document END Document ci sono più di 3 stringhe, lanciare errore?
oppure se trova qualcosa al di fuori dei BEGIN-END? che altro? non mi viene in mente nulla...
e poi come si fa a controllare la data? cioè, se per esempio sul file dei nomi c'è 2008/20/02 lanciare errore?
per il formato da controllare penso sia come dici te (ogni riga corrisponde a un elemento come descritto sul testo),
per la data io faccio un controllo in document (che errà ereditato dalle sottoclassi) e implemento la classe.... mmmm... non ricordo.... :D
Uso Date e SimpleDateFormat e nel caso esca un errore, lancio WrongFormatException |
Lukkei |
Originally posted by Jaky
curiosità...ma secondo voi per "controllo del formato" cosa intende nello specifico?
cioè..se per esempio tra BEGIN Document END Document ci sono più di 3 stringhe, lanciare errore?
oppure se trova qualcosa al di fuori dei BEGIN-END? che altro? non mi viene in mente nulla...
e poi come si fa a controllare la data? cioè, se per esempio sul file dei nomi c'è 2008/20/02 lanciare errore?
mah, io credo che il controllo del formato vada fatto sui componenti che devono necessariamente far parte di un doc (autore e data nel caso specifico del documento) e sulla loro disposizione... |
Lukkei |
Originally posted by nasty121
e già che ci siamo posto una domanda:
nel tokenizzare le stringhe | testo fisso | | <variabile1> | | <variabile2>|
per selezionare i <"tag variabile"> come procedete?
io uso condizioni se char == '<' allora procedi finchè non trovi un '>'...
credete k sia una scelta comune o è +semplice?
in questo modo come fai a differenziare un "\>" da un > ? |
nasty121 |
Originally posted by Lukkei
in questo modo come fai a differenziare un "\>" da un > ?
quando il carattere letto corrisponde a '>', io controllerei quello che lo precede: se = '' concateno '>', altrimenti 'taglio' e inserisco nel vettore corrispondente...
o no?:? |
ufficiale86 |
Originally posted by Jaky
curiosità...ma secondo voi per "controllo del formato" cosa intende nello specifico?
cioè..se per esempio tra BEGIN Document END Document ci sono più di 3 stringhe, lanciare errore?
oppure se trova qualcosa al di fuori dei BEGIN-END? che altro? non mi viene in mente nulla...
e poi come si fa a controllare la data? cioè, se per esempio sul file dei nomi c'è 2008/20/02 lanciare errore?
Allora....ieri mi è venuto in mente ke 1controllo fattibile sul file dei modelli può essere questo:
-Sono all'interno del blocco ad esempio BEGIN Document e su ogni riga ke leggo controllo ke non si uguale a BEGIN Document/BEGIN Email/BEGIN Report........se si lancio eccezioni WrongFormatException;
esempio:
BEGIN Document
BEGIN Email
23/03/2008 11:12:00
END Document
In questo caso deve lanciare eccezione.
Per ora mi è venuto in mente solo questo per il file dei modelli
Per la data ci sono dei metodi di SimpleDateFormat dove inserisci un pattern per controllare se è uguale(esempio il pattern è: "gg/MM/yyyy HH:mm:ss") |
Lukkei |
Originally posted by nasty121
quando il carattere letto corrisponde a '>', io controllerei quello che lo precede: se = '' concateno '>', altrimenti 'taglio' e inserisco nel vettore corrispondente...
o no?:?
fai lo stesso controllo anche su "\<" ? |
Lukkei |
Originally posted by ufficiale86
Per la data ci sono dei metodi di SimpleDateFormat dove inserisci un pattern per controllare se è uguale(esempio il pattern è: "gg/MM/yyyy HH:mm:ss")
Per la data sono d'accordo sull'utilizzo di SimpleDateFormat col pattern, ma da solo non basta, ad esempio accetta come data valida una cosa tipo 20/20/2008..... |
ufficiale86 |
Originally posted by Lukkei
Per la data sono d'accordo sull'utilizzo di SimpleDateFormat col pattern, ma da solo non basta, ad esempio accetta come data valida una cosa tipo 20/20/2008.....
giusto hai ragione bisogna fare un controllo su ogni singolo elemento della data.....giorno compreso tra 1e31,mese tra 1e12,ecc....bisogna controllare anke febbraio ke nn deve superare il 28 ed è presente solo negli anni bisestili il giorno 29???nooooo dai è da suicidio!
Però su wikipedia ho trovato questo:
((anno % 4 == 0 && anno % 100 != 0) || anno % 400 == 0)
per il controllo dei bisestili
http://it.wikipedia.org/wiki/Anno_bisestile |
nasty121 |
Originally posted by Lukkei
fai lo stesso controllo anche su "\<" ?
al momento no, poichè io "taglio" la variabile da "<" fino a ">", usando un do-while, perciò come condizione metto "finchè char != '>'"...
ma come dicevo ho bisogno di una 2a condizione per il caso "\>", ma non so come dirlo al Sig. Do.While...
il controllo su "\<" per pulire il "tag dagli escape" lo faccio successivamente (dopo il taglio) con replaceAll() di String ;) |
Jaky |
io sono un po' preoccupato per questo..non so se ci avete fatto caso..
Visto inoltre l’elevato grado di libert`a lasciato relativamente all’implementazione del progetto, la valutazione delle
scelte implementative avr`a un peso decisamente maggiore rispetto alla correttezza della soluzione proposta. :(:(:(
ovvero guardano di + la base su cui gira il programma, piuttosto che magari che controlli la data... :(
|
nasty121 |
Originally posted by ufficiale86
giusto hai ragione bisogna fare un controllo su ogni singolo elemento della data.....giorno compreso tra 1e31,mese tra 1e12,ecc....bisogna controllare anke febbraio ke nn deve superare il 28 ed è presente solo negli anni bisestili il giorno 29???nooooo dai è da suicidio!
Però su wikipedia ho trovato questo:
((anno % 4 == 0 && anno % 100 != 0) || anno % 400 == 0)
per il controllo dei bisestili
http://it.wikipedia.org/wiki/Anno_bisestile
ma questi controlli non mi sembrano siano richiesti dal progetto...
credo k il controllo vada fatto sul formato di data-ora come specificato dal testo, ossia gg/MM/yyyy HH:mm:ss. il resto è in più non credete? |
Lukkei |
Originally posted by nasty121
ma come dicevo ho bisogno di una 2a condizione per il caso "\>", ma non so come dirlo al Sig. Do.While...
while non trovi ">" && il carattere prima di ">" è != da "\\"
...potrebbe esserti utile? |
nasty121 |
Originally posted by Lukkei
while non trovi ">" && il carattere prima di ">" è != da "\\"
...potrebbe esserti utile?
grazie davvero Lukkei, anch'io l'ho scritta così, ma in questo modo non funziona cmq
while(c!='>'&& var.charAt(var.length()-2)!='\');
non capisco se è xkè la 1a condizione ormai è negativa ed esce lo stesso dal ciclo.. |
nasty121 |
RISOLTO! era l'espressione booleana non corretta...
io oooooodio le espressioni booleaaaane! |
ufficiale86 |
Scusate ma per gestire i caratteri di escape non si possono fare tanti replaceAll() prima di prendere quello dentro il "<" e il ">"??? |
nasty121 |
scusa ma se pulisci i caratteri di escape, poi come fai capire quali sono i delimitatori delle variabili? |
ufficiale86 |
Hai ragione....errore mio!
Sapete per caso se malchiodi gradisci oppure no i replaceAll() e gli split()???No xkè con lui bisogna stare attenti a quello ke si usa....
Raga ma il file sul sito del prof kiamato "documents.txt" non è giusto vero???nella 2°email c'è 1riga di spazio tra tra autore e data.....non ci deve mai essere vero???così c'è scritto sul testo, "rispettare alla lettera il formato per i file di input...ecc".
Nel punto 5 quando parla dei formati del file dei modelli spiega chiaramente: nella prima riga c'è l'autore,nella seconda riga c'è la data,ecc....se c'è 1riga vuota tra autore e data è 1casino infernale!!non è possibile fare 1controllo di questo genere....voi ke ne pensate????
E' possibile avere 1mail senza data o senza autore(lo stesso vale x le altre cose degli altri documenti)?? |
Jaky |
Originally posted by ufficiale86
nella prima riga c'è l'autore,nella seconda riga c'è la data,ecc....se c'è 1riga vuota tra autore e data è 1casino infernale!!non è possibile fare 1controllo di questo genere....voi ke ne pensate????
E' possibile avere 1mail senza data o senza autore(lo stesso vale x le altre cose degli altri documenti)??
tutte queste cose van controllate, non chiedermi come :cry: |
ufficiale86 |
Ma dai è impossibile non c'è nessun riferimento dai! |
ufficiale86 |
Raga l'interfaccia???mi stavo scordando...dove va usata????ki l'ha scoperto??a parte ke nn capisco tanto a ke serve...ki l'ha capita può spiegare 1po cosa fa e ke serve?? |
Jaky |
Originally posted by ufficiale86
Raga l'interfaccia???mi stavo scordando...dove va usata????ki l'ha scoperto??a parte ke nn capisco tanto a ke serve...ki l'ha capita può spiegare 1po cosa fa e ke serve??
sul libro del corso è spiegato abbastanza bene..
praticamente un'interfaccia non fa nulla in se, se la fai o no il prog funza cmq.
Diciamo che tutte le classi che la implementano, è come se stingessero un patto con l'interfaccia, in cui promettono che i metodi che ci sono nell'interfaccia vengano messi, e soprattuto che ritornino lo stesso tipo e come argomento abbiano lo stesso tipo. |
Jaky |
io invece mi sono arenato sul come
1)prelevare il testo del messaggio
2)prelevare i paragrafi dei report
voi l'avete gia fatta questa parte? consigli? |
Supernick |
A quanto pare jaky stiamo procedendo allo stesso passo...
Io in questa parte sto usando vector a manetta, sono arrivato addirittura ad avere dei Vector<Vector<String>> (Vector di Vector di Stringhe)......infatti mo son nei casini per gestirli correttamente....per fortuna che specificandone i parametri se fa una caz***a ti da errore e capisci subito dove sbagli |
Jaky |
Vector<Vector<String>> :|:|:|
mi manca ancora tutta sta parte e sono a 500 linee :(
ps: chissà dove sono tutti gli studenti che partecipavano inizialmente alla discussione...ai voti!
scegli la risposta :D
a) sono tutti dei geni
b) siamo stupidi noi :D
c) ci hanno rinunciato
d) hanno cambiato facoltà
punteggio
a)
b)
c)
d)X |
-MaVeRiK86- |
Sto optando per la C di malincuore..e sono al terzo tentativo dei progetti..non capisco perchè la prima consegna annuale di ogni progetto sia sempre la più chiara e meglio specificata.Le altre sono lasciate al caso, "libera interpretazione"..che di libero non ha nulla, perchè se sbagli anche solo la segnatura di un metodo ti segano..lo so bene per via del validatore html..maledizione..voglio dire, infondo è il PRIMO progetto serio che in teoria uno studente dovrebbe affrontare in questo corso di laurea, due dritte in più su come 'muoversi' non farebbero male.. |
ufficiale86 |
Originally posted by -MaVeRiK86-
Sto optando per la C di malincuore..e sono al terzo tentativo dei progetti..non capisco perchè la prima consegna annuale di ogni progetto sia sempre la più chiara e meglio specificata.Le altre sono lasciate al caso, "libera interpretazione"..che di libero non ha nulla, perchè se sbagli anche solo la segnatura di un metodo ti segano..lo so bene per via del validatore html..maledizione..voglio dire, infondo è il PRIMO progetto serio che in teoria uno studente dovrebbe affrontare in questo corso di laurea, due dritte in più su come 'muoversi' non farebbero male..
Hai ragione la penso anche io 1po come te...e anche io sono stato bocciato per ValidatorHtml....ma non mollare!prova e riprova solo così possiamo finalmente toglierci dalle palle sta materia! |
ufficiale86 |
raga domanda velocissima!sto facendo delle prove ma come faccio a dire se 1stringa è vuota??
esempio:
if(riga==null) vuol dire ke se riga è 1riga vuota la condizione è vera??no xkè a me non va....e ho provato anke con "" |
ufficiale86 |
risolto...ke babbo usavo == invece di equals!errore mio |
ufficiale86 |
Originally posted by Jaky
sul libro del corso è spiegato abbastanza bene..
praticamente un'interfaccia non fa nulla in se, se la fai o no il prog funza cmq.
Diciamo che tutte le classi che la implementano, è come se stingessero un patto con l'interfaccia, in cui promettono che i metodi che ci sono nell'interfaccia vengano messi, e soprattuto che ritornino lo stesso tipo e come argomento abbiano lo stesso tipo.
Quindi Jaky tu hai capito dove vanno messo!!Dai suggeriscimelo....solo dove non come si fa e si usa!solo dove va messa...non voglio l'implementazione! |
nasty121 |
Originally posted by Jaky
io invece mi sono arenato sul come
1)prelevare il testo del messaggio
2)prelevare i paragrafi dei report
voi l'avete gia fatta questa parte? consigli?
anch'io sono fermo lì, che condizione gli possiamo dare?
dice in poche parole di "accorpare" le righe seguenti (del testo) fino a quando non ne troviamo 2 NULLE....
perciò ci potremmo lanciare su un While-DoWhile Jaky, don't you? |
nasty121 |
raga avete già provato a sottoporre il progetto?
a me da errore ( e può essere xk è ancora incompleto), ma con PacMan il sito dava errori a tutti x problemi (tecnici come si dice..).
provate già a sottoporre per poi nn avere problemi |
Jaky |
Originally posted by nasty121
anch'io sono fermo lì, che condizione gli possiamo dare?
dice in poche parole di "accorpare" le righe seguenti (del testo) fino a quando non ne troviamo 2 NULLE....
perciò ci potremmo lanciare su un While-DoWhile Jaky, don't you?
sono fermo da 3 giorni su sta roba, e mi stanno girando non poco, mi manca solo il prelevare i testi su + linee...cazzo non so proprio come fare..
e sto facendo le prove solo sul testo della mail..cercando di trovare un algoritmo che dica
"prendi tutto finchè non trovi 2 righe vuote"...ma come azz si fa???
non parliamo dei report poi, dove devi fare anche la distinzione se c'è una sola riga vuota o due(per la storia dei capoversi)
mah...andando avanti così non consegno..che peccato :(
ps: ufficiale86 non posso dirti dove mettere l'interfaccia, anche perchè non è una cosa fissa...dipende da come hai implementato il progetto.
Inoltre ne ho parlato anche con il prof, percui sarebbe proprio antisgamo :D |
Lukkei |
altro problemino sul quale mi sto arrovellando il gulliver:
come avete gestito l'escape della virgola (\,) nel file dei valori? |
nasty121 |
Originally posted by Jaky
sono fermo da 3 giorni su sta roba, e mi stanno girando non poco, mi manca solo il prelevare i testi su + linee...cazzo non so proprio come fare..
e sto facendo le prove solo sul testo della mail..cercando di trovare un algoritmo che dica
"prendi tutto finchè non trovi 2 righe vuote"...ma come azz si fa???
non parliamo dei report poi, dove devi fare anche la distinzione se c'è una sola riga vuota o due(per la storia dei capoversi)
mah...andando avanti così non consegno..che peccato :(
Dai, non pensare neanche a mollare!!!
bisogna portare a casa la vittoria, e anche se son pochi, abbiamo ancora 3-4 giorni.
Perciò continuare SOLDATO.
L'Università è una scelta e ovviamente è impegnativa :)
pensa k io sto facendo il progetto in un momento di forte debolezza emotiva e non mollo assolutamente (anche xk è il 3o progetto k provo!) :-o
COLLABORAZIONE! LAVORO DI TEAM RAGAZZI!!! |
|
|
|
|