Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 26
  1. #11
    Per adesso mi interessa solamente stamparlo sulla console ma dopo devo creare l'interfaccia grafica. Comunque ho preferito utilizzare il metodo show e non il toString(), semplicemente perchè l'avevo già creato.
    Grazie x l'aiuto!

  2. #12
    Ancora una volta ho bisogno del vostro prezziosissimo aiuto.
    Ho creato alla fine della classe Rubrica una funzione per leggere la rubrica da un file esterno (rubrica.txt), ma alla penultima iga mi da errore e non riesco a capire il perchè; inoltre vorei sapere se per memorizzare nuovi contatti nello stesso file mi bastta invocare la funzione BufferWriter su Rubrica.txt o devo fare anche altro.
    codice:
    public static void main(String args[]){
    
    		 
    
    		 BufferedReader input = null;
    		 try {
    		 	input = new BufferedReader(new FileReader("Rubrica.txt"));
    		 }
    		 catch (FileNotFoundException e) {
    			 System.err.println("File non trovato");
    			 System.exit(1);
    		 }
    		 catch (IOException e) {
    			 System.err.println("Errore imprevisto: " + e);
    			 System.exit(2);
    		 }
    		 // formato del file: 
    		 // - ogni campo è formato da un numero QUALSIASI di caratteri
    		 // - ogni campo è separato dal successivo dal simbolo $ (tranne l'ultimo della riga)
    		 // Ogni riga contiene nell'ordine: NOME E COGNOME, INDIRIZZO, CITTA'
    		 try {
    		  while (input.ready()) {
    			String riga = input.readLine(); // richiede un BufferedReader
    			// ora la incapsulo in uno StringTokenizer per estrarre i vari pezzi
    			java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(riga, "$\n\r");
    			//
    			String nome = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String cognome = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String numero= tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String indirizzo = tokenizer.nextToken().trim();   // elimina spazi davanti e dietro
    			String note = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			//
    			con.add(new Contatto(nome,cognome,numero,note, indirizzo));
    		  }
    		  input.close();
    		 }
    		 catch (IOException e) {
    			 System.err.println("Errore imprevisto durante la lettura: " + e);
    			 System.exit(3);
    		 }
    
    		 // ora andiamo a vedere cosa c'è nel ArrayList (tutto insieme)
    		 System.out.println(con);
    
    		 // ora andiamo a vedere cosa c'è nel ArrayList<>(enumerato, un elemento per volta)
    		 for (java.util.Enumeration e=(con).elements()  ; e.hasMoreElements() ; ) {//Mi da errore 
    	         System.out.println(e.nextElement());
    	     }
    	 }

  3. #13
    Originariamente inviato da Uffy_disp
    Ancora una volta ho bisogno del vostro prezziosissimo aiuto.
    Ho creato alla fine della classe Rubrica una funzione per leggere la rubrica da un file esterno (rubrica.txt), ma alla penultima iga mi da errore e non riesco a capire il perchè;
    codice:
    		 // ora andiamo a vedere cosa c'è nel ArrayList<>(enumerato, un elemento per volta)
    		 for (java.util.Enumeration e=(con).elements()  ; e.hasMoreElements() ; ) {//Mi da errore 
    	         System.out.println(e.nextElement());
    	     }
    	 }
    Puoi usare l'iteratore della lista per poterla scorrere, oppure la iteri in modo tradizionale usando il metodo get.

    Originariamente inviato da Uffy_disp
    inoltre vorei sapere se per memorizzare nuovi contatti nello stesso file mi bastta invocare la funzione BufferWriter su Rubrica.txt o devo fare anche altro.
    Potresti usare un oggetto della classe FileWriter, questo ti consentirebbe di scrivere nel file in accodamento, cioè preservando i contatti salvati in precedenti scritture.

  4. #14
    Così potrebbe andar bene?
    codice:
     for(int i=0;i<con.size();i++){
    		 for (java.util.Enumeration e=(Enumeration) con.get(i)  ; e.hasMoreElements() ;i++ ) {//Mi da errore 
    	         System.out.println(e.nextElement());
    		 	}
    		 }
    	 }

  5. #15
    Originariamente inviato da Uffy_disp
    Così potrebbe andar bene?
    codice:
     for(int i=0;i<con.size();i++){
    		 for (java.util.Enumeration e=(Enumeration) con.get(i)  ; e.hasMoreElements() ;i++ ) {//Mi da errore 
    	         System.out.println(e.nextElement());
    		 	}
    		 }
    	 }
    Non va bene. Prima intendevo dire che puoi fare una cosa del genere:
    codice:
    for(int i = 0; i < con.size(); i++)
             System.out.println( con.get(i) );

  6. #16
    Adesso penso di aver terminato la classe Rubrica, fatta nel seguente modo.
    codice:
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.util.ArrayList;
    
    
    
    
    public class Rubricaa {
    	private static ArrayList<Contatto> con;
    	
    	
    
        
    	public Rubricaa(){
    	con = new ArrayList<Contatto>();
    	
    	}
    	public void  addCon(Contatto c)throws Exception {
    		boolean found = false;
    		for(Contatto p: con){
    			if (p.getNome().equals(c.getNome())&& p.getCognome().equals(c.getCognome())|| p.getNum().equals(c.getNum())){
    				found = true;
    				c.show();
    			}
    		}
    		if(!found)con.add(c);
    		else throw new Exception();
    	}
    	public static void vediCon(Contatto c){
    		boolean found = false;
    		for(Contatto p: con){
    			if (p.getNome().equals(c.getNome())&& p.getCognome().equals(c.getCognome())|| p.getNum().equals(c.getNum())){
    				found = true;
    				c.show();
    			}
    		}
    		
    			System.out.println("Il contatto non è presente in rubrica");
    	}
    	public void del(Contatto c){
    		for(Contatto p: con){
    			if(p.getNome().equals(c.getNome())|| p.getCognome().equals(c.getCognome())|| p.getNum().equals(c.getNum())){
    				c.delete();
    			}
    		}
    	}
    	public void mod(Contatto c,String num,String notes,String addres){
    		boolean found = false;
    		for(Contatto p: con){
    			if (p.getNome().equals(c.getNome())&& p.getCognome().equals(c.getCognome())|| p.getNum().equals(c.getNum())){
    				found = true;
    				c.modifica(num,notes,addres);
    			}
    		}
    	}
    		
    	public static void mostraRubrica(){
    	      for(int i=0;i<con.size();i++)
    	     {
    	          Contatto contatto=con.get(i);
    	          contatto.show();
    	     }
    	}
    	public static void main(String args[]){
    
    		 
    
    		 BufferedReader input = null;
    		 try {
    		 	input = new BufferedReader(new FileReader("Rubrica.txt"));
    		 }
    		 catch (FileNotFoundException e) {
    			 System.err.println("File non trovato");
    			 System.exit(1);
    		 }
    		 catch (IOException e) {
    			 System.err.println("Errore imprevisto: " + e);
    			 System.exit(2);
    		 }
    		 // formato del file: 
    		 // - ogni campo è formato da un numero QUALSIASI di caratteri
    		 // - ogni campo è separato dal successivo dal simbolo $ (tranne l'ultimo della riga)
    		 // Ogni riga contiene nell'ordine: NOME E COGNOME, INDIRIZZO, CITTA'
    		 try {
    		  while (input.ready()) {
    			String riga = input.readLine(); // richiede un BufferedReader
    			// ora la incapsulo in uno StringTokenizer per estrarre i vari pezzi
    			java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(riga, "$\n\r");
    			//
    			String nome = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String cognome = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String numero= tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String indirizzo = tokenizer.nextToken().trim();   // elimina spazi davanti e dietro
    			String note = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			//
    			con.add(new Contatto(new ContattoParameter(nome, cognome, numero, note, indirizzo)));
    		  }
    		  input.close();
    		 }
    		 catch (IOException e) {
    			 System.err.println("Errore imprevisto durante la lettura: " + e);
    			 System.exit(3);
    		 }
    
    		 // ora andiamo a vedere cosa c'è nel ArrayList (tutto insieme)
    		 System.out.println(con);
    
    		 
    		// ora andiamo a vedere cosa c'è nel ArrayList<>(enumerato, un elemento per volta)
    		 
    		 for(int i = 0; i < con.size(); i++)
    	         System.out.println( con.get(i) );
    
    		 }
    	 }
    Adesso voglio proseguire nella creazione dell'interfaccia grafica, ma stò avendo una gran confusione, perche ho iniziato a fare la classe FreamRubrica ma nemmeno a metà dell'opera compaiono già un sacco di errori che non sò come coreggere
    codice:
    import java.io.File;
    import java.io.IOException;
    
    import java.awt.Component;
    import java.awt.Container;
    import java.awt.Panel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.JFileChooser;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    public class RubricaFrame extends JFrame implements ActionListener {
    	private JButton nuovo,vedi,cerca,modifica,ok;
    	private JTextField t1,t2,t3,t4,t5;
    	private JPanel p;  
    	public  RubricaFrame(){
    		super("Rubrica");
    		JPanel p=new JPanel();
    		Container c=getContentPane();
    		nuovo= new JButton("Nuovo Contatto");
    		vedi=new JButton("Vedi rubrica");
    		cerca=new JButton("Cerca");
    		modifica=new JButton("Modifica contatto");
    		ok=new JButton("OK");
    		t1= new JTextField("",15);
    		t2= new JTextField("",15);
    		t3= new JTextField("",10);
    		t4= new JTextField("",25);
    		t5= new JTextField("",20);
    		nuovo.addActionListener(this);
    		vedi.addActionListener(this);
    		cerca.addActionListener(this);
    		modifica.addActionListener(this);
    		ok.addActionListener(this);
    		t1.addActionListener(this);
    		t2.addActionListener(this);
    		t3.addActionListener(this);
    		t4.addActionListener(this);
    		t5.addActionListener(this);
    		p.add(nuovo);p.add(vedi);p.add(cerca);p.add(vedi);p.add(modifica);p.add(ok);
    		add(t1);add(t2);add(t2);add(t3);add(t4);add(t5);
    		c.add(p);
    	}
    	 public void actionPerformed(ActionEvent e){
    		 Object a=e.getSource();
    		 if(a==nuovo){
    			 Rubricaa.addCon();
    		 }
    		 if(a==vedi){
    			 Rubricaa.mostraRubrica();
    			 
    		 }
    		 if(a==cerca){
    			 Rubricaa.vediCon();
    		 }
    		 if(a==modifica){
    			 Rubricaa.mod(Contatto c,String num,String notes,String addres);
    		 }
    		 if(a==t1){
    			 
    		 }
    }
    }
    ad esempio non riconosce il metodo add.Con() , vediCon() e mod(), perchè mi dice che mancano i parametri d'ingresso. Aiutoooooo sento che stò per mpazzire

  7. #17
    Originariamente inviato da Uffy_disp
    ad esempio non riconosce il metodo add.Con() , vediCon() e mod(), perchè mi dice che mancano i parametri d'ingresso. Aiutoooooo sento che stò per mpazzire
    Non solo mancano i parametri, ma sbagli la loro invocazione!
    Ad esempio il metodo addCon è un metodo di istanza e non di classe.

  8. #18
    Adesso stò provando a implementare la parte grafica, come stò procedendo? Mi potreste dare maggiori informazioni sull'implementazione dell'ActionPerformed?
    Grazie
    codice:
    package Rubrica;
    import java.awt.event.ActionEvent;
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.util.ArrayList;
    import javax.swing.JButton;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JTextField;
    public class Rubrica extends JPanel implements ActionLstner {
        private static ArrayList<Contatto> con;
    
    	public Rubrica(){
    	con = new ArrayList<Contatto>();
    
    	}
    private JMenu info;
    private JButton b1,b2,b3,b4;
    private JTextField t1,t2,t3,t4,t5;
    private JPanel p;
    
    b1=new JButton("Nuovo Contatto");
    b2=new JButton("Cerca");
    b3=new JButton("Vedi Rubrica");
    b4=new JButton("modifica Contatto");
    
    t1=new JTextField("Nome",15);
    t2=new JTextField("Cognome",15);
    t3=new JTextField("Numero",10);
    t4=new JTextField("indirizzo",30);
    t5=new JTextField("Note",30);
    
    b1.addActionListner(new ActionListner(this) );
    b2.addActionListner(new ActionListner(this) );
    b3.addActionListner(new ActionListner(this) );
    b4.addActionListner(new ActionListner(this) );
    
    t1.addActionListner(new ActionListner(this) );
    t2.addActionListner(new ActionListner(this) );
    t3.addActionListner(new ActionListner(this) );
    t4.addActionListner(new ActionListner(this) );
    t5.addActionListner(new ActionListner(this) );
    
    info=new JMenuBar();
    inf=new JMenu("info");
    infItem=new JMenuItem[1];
    infItem[0]=new JMenuItem("Informazioni");
    inf.add(infItem[0]);
    infItem[0].addActionListner(new ListnerMenu(this));
    
    public void  addCon(Contatto c)throws Exception {
    		boolean found = false;
    		for(Contatto p: con){
    			if (p.getCognome().equals(c.getCognome())){
    				found = true;
    				System.out.println("Il contatto già esiste");
    			}
    		}
    		if(!found)con.add(c);
                    t1.setText(c.getNome());
                    t2.setText(c.getCognome());
                    t3.setText(c.getNum());
                    t4.setText(c.getInd());
                    t5.setText(c.getNote());
    		throw new Exception();
    	}
        public static void vediCon(Contatto c){
    		boolean found = false;
    		for(Contatto p: con){
    			if ( p.getCognome().equals(c.getCognome())){
    				found = true;
    				c.show();
    			}
    		}
    
    			System.out.println("Il contatto non è presente in rubrica");
    	}
        public void del(Contatto c){
    		for(Contatto p: con){
    			if( p.getCognome().equals(c.getCognome())){
    				c.delete();
    			}
    		}
    	}
        public void mod(Contatto c,String num,String notes,String addres){
    		boolean found = false;
    		for(Contatto p: con){
    			if ( p.getCognome().equals(c.getCognome())){
    				found = true;
    				c.modifica(num,notes,addres);
    			}
                            t3.setText(num);
                            t4.setText(notes);
                            t5.setText(addres);
                                
    		}
    	}
    public static void mostraRubrica(){
    	      for(int i=0;i<con.size();i++)
    	     {
    	          Contatto contatto=con.get(i);
    	          contatto.show();
    	     }
    	}
    	public static void main(String args[]){
    
    
    
    		 BufferedReader input = null;
    		 try {
    		 	input = new BufferedReader(new FileReader("Rubrica.txt"));
    		 }
    		 catch (FileNotFoundException e) {
    			 System.err.println("File non trovato");
    			 System.exit(1);
    		 }
    		 catch (IOException e) {
    			 System.err.println("Errore imprevisto: " + e);
    			 System.exit(2);
    		 }
    		 // formato del file:
    		 // - ogni campo è formato da un numero QUALSIASI di caratteri
    		 // - ogni campo è separato dal successivo dal simbolo $ (tranne l'ultimo della riga)
    		 // Ogni riga contiene nell'ordine: NOME E COGNOME, INDIRIZZO, CITTA'
    		 try {
    		  while (input.ready()) {
    			String riga = input.readLine(); // richiede un BufferedReader
    			// ora la incapsulo in uno StringTokenizer per estrarre i vari pezzi
    			java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(riga, "$\n\r");
    			//
    			String nome = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String cognome = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String numero= tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String indirizzo = tokenizer.nextToken().trim();   // elimina spazi davanti e dietro
    			String note = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			//
    			con.add(new Contatto(nome, cognome, numero, note, indirizzo));
    		  }
    		  input.close();
    		 }
    		 catch (IOException e) {
    			 System.err.println("Errore imprevisto durante la lettura: " + e);
    			 System.exit(3);
    		 }
    
    		 // ora andiamo a vedere cosa c'è nel ArrayList (tutto insieme)
    		 System.out.println(con);
    
    
    		// ora andiamo a vedere cosa c'è nel ArrayList<>(enumerato, un elemento per volta)
    
    		 for(int i = 0; i < con.size(); i++)
    	         System.out.println( con.get(i) );
    
    		 }
            public void ActionPerformed(ActionEvent e){
                if(e.getSource==b1){
                    add.con();
                }
                if(e.getSource==b2){
                    vediCon();
                }
                if(e.getSource==b3){
                    mostraRubrica();
                }
                if(e.getSource==b4){
                    modCon();
                }
            }
    
    
    
    
    
    
    }

  9. #19
    Scusate il codice che ho inserito prima è errato!!!
    Mi spreste dire come posso implementare l'actionPerfomed?
    codice:
    import java.awt.event.ActionListener;
    
    
    import java.awt.event.ActionEvent;
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.util.ArrayList;/*
    
    
    
    /**
     *
     * @author Piccettina
     */
    import javax.swing.JButton;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    public class Rubrica extends JPanel implements ActionListener{
        private static ArrayList<Contatto> con;
        private JPanel rubrica;
        private JMenu info;
        private JButton b1,b2,b3,b4;
        private JTextField t1,t2,t3,t4,t5;
        private JMenuItem[] infItem;
    
    	public Rubrica(){
                super();
                con = new ArrayList<Contatto>();
                b1=new JButton("Crea contatto");
                b2=new JButton("Cerca");
                b3=new JButton("Vedi Rubrica");
                b4=new JButton("modifica Contatto");
    
                t1=new JTextField("Nome",15);
                t2=new JTextField("Cognome",15);
                t3=new JTextField("Numero",10);
                t4=new JTextField("indirizzo",30);
                t5=new JTextField("Note",30);
    
                 b1.addActionListener(this);
                 b2.addActionListener(this);
                 b3.addActionListener(this);
                 b4.addActionListener(this);
                 t1.addActionListener(this);
                 t2.addActionListener(this);
                 t3.addActionListener(this);
                 t4.addActionListener(this);
                 t5.addActionListener(this);
    
                 info=new JMenu();
                 info=new JMenu("info");
                 infItem=new JMenuItem[1];
                 infItem[0]=new JMenuItem("Informazioni");
                 info.add(infItem[0]);
                 infItem[0].addActionListener((this));
    
    	}
    
             public static void vediCon(Contatto c){
    		boolean found = false;
    		for(Contatto p: con){
    			if ( p.getCognome().equals(c.getCognome())){
    				found = true;
    				c.show();
    			}
    		}
                    System.out.println("Il contatto non è presente in rubrica");
        }
           public void addCon(Contatto c) throws Exception {
    		boolean found = false;
    		for(Contatto p: con){
    			if (p.getCognome().equals(c.getCognome())){
    				found = true;
    				System.out.println("Il contatto già esiste");
    			}
    		}
    		if(!found)con.add(c);
                    t1.setText(c.getNome());
                    t2.setText(c.getCognome());
                    t3.setText(c.getNum());
                    t4.setText(c.getInd());
                    t5.setText(c.getNote());
                    throw new Exception();
    	}
           public void del(Contatto c){
    		for(Contatto p: con){
    			if( p.getCognome().equals(c.getCognome())){
    				c.delete();
    			}
    		}
    	}
        public void mod(Contatto c,String num,String notes,String addres){
    		boolean found = false;
    		for(Contatto p: con){
    			if ( p.getCognome().equals(c.getCognome())){
    				found = true;
    				c.modifica(num,notes,addres);
    			}
                            t3.setText(num);
                            t4.setText(notes);
                            t5.setText(addres);
                            }
    	}
    public static void mostraRubrica(){
    	      for(int i=0;i<con.size();i++)
    	     {
    	          Contatto contatto=con.get(i);
    	          contatto.show();
    	     }
    	}
    	public static void main(String args[]){
    
    
    
    		 BufferedReader input = null;
    		 try {
    		 	input = new BufferedReader(new FileReader("Rubrica.txt"));
    		 }
    		 catch (FileNotFoundException e) {
    			 System.err.println("File non trovato");
    			 System.exit(1);
    		 }
    		 catch (IOException e) {
    			 System.err.println("Errore imprevisto: " + e);
    			 System.exit(2);
    		 }
    		 // formato del file:
    		 // - ogni campo è formato da un numero QUALSIASI di caratteri
    		 // - ogni campo è separato dal successivo dal simbolo $ (tranne l'ultimo della riga)
    		 // Ogni riga contiene nell'ordine: NOME E COGNOME, INDIRIZZO, CITTA'
    		 try {
    		  while (input.ready()) {
    			String riga = input.readLine(); // richiede un BufferedReader
    			// ora la incapsulo in uno StringTokenizer per estrarre i vari pezzi
    			java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(riga, "$\n\r");
    			//
    			String nome = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String cognome = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String numero= tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			String indirizzo = tokenizer.nextToken().trim();   // elimina spazi davanti e dietro
    			String note = tokenizer.nextToken().trim(); // elimina spazi davanti e dietro
    			//
    			con.add(new Contatto(nome, cognome, numero, note, indirizzo));
    		  }
    		  input.close();
    		 }
    		 catch (IOException e) {
    			 System.err.println("Errore imprevisto durante la lettura: " + e);
    			 System.exit(3);
    		 }
    
    		 // ora andiamo a vedere cosa c'è nel ArrayList (tutto insieme)
    		 System.out.println(con);
    
    
    		// ora andiamo a vedere cosa c'è nel ArrayList<>(enumerato, un elemento per volta)
    
    		 for(int i = 0; i < con.size(); i++)
    	         System.out.println( con.get(i) );
    
    		 }
    
        public void actionPerformed(ActionEvent e) {
            Contatto c=(Contatto)e.getSource();
            
            
        }
    }

  10. #20
    Originariamente inviato da Uffy_disp
    Scusate il codice che ho inserito prima è errato!!!
    Mi spreste dire come posso implementare l'actionPerfomed?
    Prima di pensare all'implementazione del metodo, cerca di correggere il codice:
    ad esempio i vari componenti non vengono aggiunti al pannello.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.