![]() |
Pages (2): [1] 2 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=259)
-- [SECONDO PROGETTINO] grossi (http://www.dsy.it/forum/showthread.php?threadid=23649)
secondo progettino/appello grossi
qualcuno ha un'idea su come si possa cominciare questo progetto??a me sembra abbastanza difficile...
Io pensavo di far qualcosa del genere: 1) Leggo il file con uno stream cn buffer 2) Metto qualcona in uno stack 3)Stampo a video cn un metodo print() 4)scrivo i metodi richiesti cn relative eccezioni 5) Implemento l'interfaccia...
Xò sono in alto mare... Basterà lo stack o servira qualche altro tipo di sequenza?? come faccio a legger e distinguer i vari tag?? help....
![]()
io insieme ad altri compagni in 2 gg abbiamo concluso poco...penso bisogna usare una lista di stack in cui suddividere le 3 parti del menu...però è un gran casino....
Sapete tradurre questa frase?
/**
* Interfaccia che rappresenta un menu come collezione di comandi (voci di
* menu), oppure singole voci inserite in un menu.
A me sembra un pò un casino, cmq dopo una mattinata di scervellamento credo di esserci vicino:
si legge il file riga x riga. se si incontra il tag menu si crea un nuovo oggetto menu, che contiene come campi id nome skey listItem.
dopo aver creato l'oggetto menu viene messo in un altra lista che contiene tutti i menu.
Poi vengono letti tutti i comandi e vengono emssi nella lista degli item dell'oggetto appena pushato.
Non l'ho ancora scritto cmq.
Avete qualche idea?
Penso anch'io che sia come dici tu, ma come fai a riconoscere i tag? con lo StringTokenizer non mi sembra possibile!?! Che sbatti, x sto progetto non passerò l'esame...
Tranquillo, io ho appena provato String tokenizer.
basta che fai qlc del genere:
linea è una String e in è un FileInputManager, tk è String
linea=in.readline;
while(linea!=null){
Stringtokenizer stk = new stringtokenizer(linea, "\"><\t= ");
while(stk.hasMoreToken()){
tk=stk.nextToken();
system.out.println(tk);
}
Non sò se è compilabile (i src del progetto li ho sull'altro pc).
Cmq questo ti restituisce ad esempio:
menubar
menu
name
File
skey
Alt+F
ecc.....
insomma, già una bella comodità
se becchi menu sai che inizia un menu
sai che dopo name c'è il nome del menu
se che se c'è skey dopo viene l'attributo
si può già iniziare a riempire un oggetto
menu.name=........
menu.skey=.......
ecc.........
allora ricapitolando:
stringtokenizer su tutto il file
ci vuole una lista di menu (si può chiamare menubar ed è una lista
-o coda o stack o quell oche vuoi, non importa tanto non è una struttura dinamica, non cambia nel tempo- di oggetti "menu");
Ogni oggetto menu contiene nome, skey(facoltativo) e una lista
di "comandi" (che sono gli <item> ); Bisogna stare attenti, se si becca un tag <menu> dentro la lista degli item comunque bisogna salvare l'item (ad es.barra degli strumenti è un menu, ma cmq ci serve l'oggetto barra degl istrumenti come comando di "visualizza").
Una volta progettate bene le classi e le liste resta di difficile il riconoscere quando inizia e finsice un menu, diventa solo una roba pallosa.
Cmq attenzione anche ad un altra cosa
ad es "Barra degli strumenti" viene presa come 3 token "barra" "degli" "strumenti"
Dovi metterli insieme in una stringa sola (butti tutto in una stringa fin quando non becchi un tag "menu" o "skey" o "sep" o "item" ...)
E' una roba pallosa è difficile (per me).
Diamoci una mano che ci leviamo stà rottura di c**o
ma se hai un item?
<item skey="ctrl+t">testo</item>
Concludi arbitrariamente che se la stringa non è né menu, né item, né skey, né name, allora tutto il testo è il nome del menu?
E poi, sì, c'è il fatto che tokenizzi anche tutto il testo spaziato...
che rottura, usare il parser XML era molto meglio...
grazie zizzagnaman, mi hai illuminato la retta via... ora mi metto al lavoro se riesco a combinare qualcosa di utile ti faccio sapere
Credo di esserci quasi.
Ho passato la mattina a fare prove con la classe Vector.
Vi consiglio di dare un occhiata a lez06.pdf, è una delel dispense che
si trovano sul sito. Credo che usare Vector sia la cosa più facile.
Ho creato un vettore (Vector eh) "globale" che contiene tutti i menu (oggetti di tipo "menu").
Ogni oggetto "menu" a sua volta contiene un Vector di oggetti "item".
Facile e pulito, sol oche non si usano le pile come consiglia il prof.
Non sò se avete notato ma c'è un piccolo errore ortografico nel file menu.xml (un "key" al posto di un "skey").
Correggetelo altrimenti l'output impazzisce.
Ohi, fatemi sapere eh
ho fatto sostanzialmente come te (usando un arraylist), ho anche messo delle proprietà aggiuntive, ad esempio se i menu hanno genitori (cioè si trovano dentro altri menu). Inoltre ho reso iterabili gli oggetti di tipo menu (che che estendono xmlmenuitem e contengono xmlmenuitme oppure altri xmlmenu)
ciao
Sul forum il prof Grossi ha messo il form per la consegna; ha parte il fatto che dice che è già scaduto il termine, ma tra parentesi dice (chiusura mercoledì 1° febbraio, ore 12.00): abbiamo quindi mezza giornata in più?
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
sembra di sì...
usciti i voti....insuff :-( ma farà la media col primo...o ci boccia tutti???meno i 15 che l'hanno fatto bene....
io manco l'ho mandato... complimenti ai 15 geni che l'hanno completato!!! (esclusa la % di furbi che se lo son fatti fare) Cmq tra una settimana ci sarà un'altro progettino
| All times are GMT. The time now is 13:35. | Pages (2): [1] 2 » Show all 29 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.