.dsy:it. Pages (19): « First ... « 8 9 10 11 [12] 13 14 15 16 » ... Last »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Fondamenti di architettura e programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=234)
-- [Progetto] MailMerge (http://www.dsy.it/forum/showthread.php?threadid=36057)


Posted by nasty121 on 11-09-2008 10:18:

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?


Posted by nasty121 on 11-09-2008 10:21:

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


Posted by Lukkei on 11-09-2008 10:22:

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...


Posted by Lukkei on 11-09-2008 10:25:

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 > ?


Posted by nasty121 on 11-09-2008 10:28:

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?:?


Posted by ufficiale86 on 11-09-2008 10:32:

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")


Posted by Lukkei on 11-09-2008 10:33:

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 "\<" ?


Posted by Lukkei on 11-09-2008 10:37:

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.....


Posted by ufficiale86 on 11-09-2008 10:55:

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


Posted by nasty121 on 11-09-2008 10:56:

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 ;)


Posted by Jaky on 11-09-2008 10:57:

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... :(


Posted by nasty121 on 11-09-2008 10:59:

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?


Posted by Lukkei on 11-09-2008 11:03:

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?


Posted by nasty121 on 11-09-2008 11:10:

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..


Posted by nasty121 on 11-09-2008 11:21:

RISOLTO! era l'espressione booleana non corretta...
io oooooodio le espressioni booleaaaane!


All times are GMT. The time now is 21:44. Pages (19): « First ... « 8 9 10 11 [12] 13 14 15 16 » ... Last »
Show all 279 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.