nn cè una cosa più semplice
tipo come si faceva nel turbo Pascal
nn cè una cosa più semplice
tipo come si faceva nel turbo Pascal
quando il diavolo ti accarezza è perchè vuole la tua anima
E cosa si faceva nel Turbo Pascal che non si può fare in Java?Originariamente inviato da gax80
nn cè una cosa più semplice
tipo come si faceva nel turbo Pascal
Anche in Pascal gli array erano tipizzati.
Forse dovresti descriverci la situazione che intendi modellare (anche con un esempio pratico) perchè credo che tu confonda i campi di un array con i campi di un oggetto (o struttura, record del Pascal).
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
in pratica devo inserire da tastiera dei valori che verranno inseriti nei campi prestabiliti, ogni cliente ha dei campi (record), però ci sono più clienti....
![]()
![]()
![]()
quando il diavolo ti accarezza è perchè vuole la tua anima
Allora ti serve un Record (una classe che funziona come un record) e un array monodimensionale di oggetti Record.
Ad esempio:
quindi costruisci un array di oggetti Persona:codice:public class Persona { private String nome; private String cognome; private int eta; public Persona(String nome, String cognome, int eta) { this.nome = nome; this.cognome = cognome; this.eta = eta; } public void setNome(String nome) { this.nome = nome; } public void setCognome(String cognome) { this.cognome = cognome; } public void setEta(int eta) { this.eta = eta; } public String getNome() { return nome; } public String getCognome() { return cognome; } public int getEta() { return eta; } }
Ciao.codice:Persona [] elenco = new Persona[10]; // 10 persone persona[0] = new Persona("Mario", "Rossi", 25); persona[1] = new Persona("Bruno", "Bianchi", 30); ...![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
senti va bene così:
codice:Record[] r = new Record[100]; int i=0; while (i!=5){ Record[i] = new { { new Boolean(false), r.setCliente("nicola"), r.setData("2006"), r.setLineaVendita("dfvfd"), new Integer(5), r.setNumero(""), r.setTipoDocumento("x")}}; i++;} MyTableModel my = new MyTableModel(); my.MyTable(r);
dove la classe Record è:
codice:public class Record { private boolean selezionato; private String tipoDocumento; private String lv; private String data; private String numero; private String codiceCliente; private String codiceAgente; private byte[] datiFile; public Record() { this.selezionato = false; this.tipoDocumento = ""; this.lv = ""; this.data = ""; this.numero = ""; this.codiceCliente = ""; this.codiceAgente = ""; this.datiFile = null; } public void setSelezionato(boolean sel) { selezionato = sel; } public void setTipoDocumento(String tipo) { tipoDocumento = tipo; } public void setLineaVendita(String lv) { this.lv = lv; } public void setData(String data) { this.data = data; } public void setNumero(String numero) { this.numero = numero; } public void setCliente(String cliente) { this.codiceCliente = cliente; } public boolean isSelezionato() { return selezionato; } public String getTipoDocumento() { return tipoDocumento; } public String getLineaVendita() { return lv; } public String getData() { return data; } public String getNumero() { return numero; } public String getCliente() { return codiceCliente; } public String getAgente() { return codiceAgente; } public byte[] getFile() { return datiFile; } public Object getCampo(int col) { Object ret = null; switch( col ) { case 0: ret = new Boolean(selezionato); break; case 1: ret = tipoDocumento; break; case 2: ret = lv; break; case 3: ret = data; break; case 4: ret = numero; break; case 5: ret = codiceCliente; break; case 6: ret = codiceAgente; break; } return ret; } }
mi dà errore nel rigo rossob
quando il diavolo ti accarezza è perchè vuole la tua anima
credo sia facile da capire cosa facodice:Record[] r = new Record[100]; for (int i=0; i<5; i++) { r[i] = new Record(); r[i].setSelezionato(false); r[i].setCliente("nicola"); ... }![]()
E' sempre lo stesso errore: stai assegnando un array ad un oggetto di tipo Persona.
Quando tu inserisci dei dati fra parentesi graffe, quello è un array: dall'altra parte deve esserci una variabile di tipo array e gli array sono delle "tabelle" contenenti tutte uno stesso tipo di dato.
Per non parlare dell'utilizzo decisamente improprio dei metodi.
Se devi assegnare dei valori a dei campi (proprietà) di un oggetto si utilizzano i metodi.
Per assegnare un valore ad un campo (elemento) di un array si usa l'operatore =.
Esempio:
Ciao.codice:Record [] rec = new Record[100]; // Dichiaro un array di 100 oggetti di tipo "Record" rec[0] = new Record(); // Assegno al primo elemento dell'array un valore (creo al suo interno un oggetto Record) rec[0].setCliente("nicola"); // Assegno alla proprietà "cliente" dell'oggetto Record il valore "nicola"![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
si, così mi funziona, ora però nn mi visualizza nulla sulla tabella a video, cioè nn mi utilizza il
mentre ho utlizzato solo ilcodice:r[i].getCliente();
codice:r[i].setCliente("VSD");
quando il diavolo ti accarezza è perchè vuole la tua anima