Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme
ASUS e Noctua tornano a collaborare con la GeForce RTX 5080 Noctua OC Edition, una scheda pensata per chi cerca potenza estrema e silenziosità assoluta. Il nuovo sistema di raffreddamento, con tre ventole Noctua NF-A12x25 G2 da 120 mm e una camera di vapore maggiorata, promette temperature record e rumorosità quasi impercettibile. Non mancano dual BIOS, materiali di qualità e ampie possibilità di overclock. Ma quanto migliora davvero rispetto alla Founders Edition? Scoprilo nel nostro test completo.
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Il più recente robot per la pulizia domestica di Dreame, modello Aqua10 Ultra Roller, abbina un potente motore di aspirazione della polvere a un sofisticato sistema di lavaggio con rullo integrato. Il tutto governato dalla logica di intelligenza artificiale, per i migliori risultati
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Siamo volati fino a Belfast, capitale dell'Irlanda Del Nord, per scoprire il nuovo Realme 15 Pro 5G Game Of Thrones Limited Edition. Una partnership coi fiocchi, quella tra Realme e HBO, un esercizio di stile davvero ben riuscito. Ma vi raccontiamo tutto nel nostro articolo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-10-2008, 18:50   #1
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
[Java] implementare una classe

Vorrei sapere come si implementa la classe Libretto che si trova qui

http://homes.dico.unimi.it/~capra/provaSet08/

Vi ho messo in allegato quello che ho fatto
In esecuzione mi da degli errori, ma sicuramente ci sono degli errori nei metodi di Libretto (esame invece deve essere giusta come è sicuramente giusta testlibretto fornita appunto come test per le altre 2).

Vi prego di correggermi le parti sbagliate!

Grazie Mille! Vi prego è urgente!
Allegati
File Type: zip esame.zip (2.8 KB, 22 visite)
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2008, 20:08   #2
agente mm8
Senior Member
 
Iscritto dal: Mar 2008
Messaggi: 401
Sto dando un'occhiata la codice, comunque il link è sbagliato, porta alla classe Esame, e non all'interfaccia Libretto.
agente mm8 è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2008, 20:08   #3
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
sulla sinistra

Se guardi sulla sinistra puoi scegliere tra libretto e esame
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2008, 21:18   #4
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
Novità

Quote:
Originariamente inviato da agente mm8 Guarda i messaggi
Sto dando un'occhiata la codice, comunque il link è sbagliato, porta alla classe Esame, e non all'interfaccia Libretto.
Novità?

e Grazie per quello che stai facendo!
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 07:56   #5
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Potresti postare l'errore che ti dà?
Inoltre credo che ti convenga anche postare la classe Libretto che hai fatto tu (mettila tra i tag "code" mi raccomando.)

Un'occhiata gliel'ho data e gli errori sono più di uno
Piano piano si risolvono, ma tu devi far vedere che ci provi, non puoi dire semplicemente: "correggetemela"
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 09:14   #6
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
tag code

Allora l'errore è:
quando il test mi chiede il numero di esami, inserisco il numero e dice:

Exception in thread main java.lang.NullPointerException
at Libretto.toString(Libretto.java:215)
at java.lang.String.valueOf(unknown Source)
at java.lang.Strinf.Builder.append(Unknown Source)
at TestLibretto.main(TestLibretto.java:26)

Poi ieri sera il codice l'ho modificato un po' però non so come si mettono i tag code!
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 09:42   #7
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
quando scrivi il post in alto c'è il pulsante "#", premilo e inserirà nella posizione del cursore del testo i tag, poi non devi far altro che copiarci il codice tra i 2 tag.


Insomma posta il codice della classe Libretto, che poi si lavora su un metodo per volta, perchè gli errori sono assai.
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 09:45   #8
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
codice

[quote=Oceans11;24398036]quando scrivi il post in alto c'è il pulsante "#", premilo e inserirà nella posizione del cursore del testo i tag, poi non devi far altro che copiarci il codice tra i 2 tag.


Codice:
import java.util.*;
import java.io.*;

class Libretto{


// campi
private String nome;
private String cognome;
private String cdl;
private int matricola;
private int n_esami;

private Esame [] Libretto;

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
// costruttore


public Libretto ( String nome, String cognome, String cdl, int matricola, int n_esami) {



this.nome = nome;
this.cognome = cognome;
this.cdl = cdl;
this.matricola = matricola;
this.n_esami = n_esami;

Libretto = new Esame[n_esami];


}

//metodi



public boolean aggiunge (Esame nuovo) {
                              

if(nuovo == null || nuovo.cdl() != this.cdl() || nuovo.cdl() == null || this.cdl() == null || this.quanti() == n_esami ){   
	return false; 
}

if(quanti() == n_esami)
return false;
	             
Libretto [this.quanti()] = nuovo;   // inserisci nuovo esame
	
return true;

}


public Esame cancella () throws IOException {

int a = 0;

if(Libretto == null)
return null;

a = this.quanti()-1;
Libretto [this.quanti()-1] = null;   // cancella esame nella precedente posizione

return Libretto[a];   // 

}



public String cdl () {

return cdl;

}

public String cognome (){

return cognome;

}

public Date data (Esame e){

return e.data();

}

public int esamiPrimaDi(Date data){


int n = 0;  //contatore

if (Libretto == null || data == null)
return 0;

	for (int i = 0; i <this.quanti(); i++){

		if(Libretto[i].data().before(data) ){  // controllo le date minori di data

		n++;
                
  
		}
	

	}
return n;                         // ritorni il numero di esami sostenuti prima di quella data
}



public int matricola (){

return matricola;

}


public Double media (){

int t = 0;
double media = 0;
	for (int i = 0; i < this.quanti(); i++){
		if (Libretto[i] != null){  //fino a che non c'è un null...
		
		t = t + Libretto[i].voto(); // ...sommo i voti
		
		}else{
		break;
		}
media = (double) (t/i);  //fa la media
	}

return media;
}


public String nome (){

return nome;

}


public int quanti (){

int i = 0;
		                   
			for (i = 0; i <n_esami; i++){                // esamino il libretto

				if (Libretto[i] == null){     //  Se arrivi a null fermati

				break;
				}
 
			}
		

		return i+1;   // ritorna esami registrati
}


public Esame sostenuto (String corso){  //mezzo giusto

int a = 0;

if(corso == null || this.cdl() == null)
return null;

	for(int i = 0;i<this.quanti();i++){
		
		if (Libretto[i].corso() == corso)       // controllo che i corsi siano identici
		a = i; 	           
	}
return Libretto[a];             // ritorna il riferimento

}






public Esame ultimo(){  

Date data = new Date();
int a = 0;

	if (Libretto == null)
	return null;

	for (int i = 1; i <this.quanti(); i++){					//i =1 per confrontare con il precedente

		if(Libretto[i].data().after(Libretto[i-1].data())  ){	   	//controllo la data più recente
					                   			
		if (data.after(Libretto[i].data()))             		// confronta la data maggiora tra le 2 con la data maggiore in precedenza
		data = Libretto[i].data();  					// inserimento in data della data più recente
		a = i;
				     					// esame con data più recente
		}
	} 
return Libretto[a];

}


public String toString(){

String s = " ";
for (int i = 0; i <=n_esami; i++){


s = s + Libretto[i].toString();

}
return s;

}

}//fine classe
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 09:48   #9
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
errori

Sicuramente è sbagliato il metodo cancella, poi in esecuzione mi da errore in Tostring e non so perchè!
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 09:53   #10
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
madò!!!
Senti forse ho mancato io che non ti ho avvertito, ma i tag code servono per preservare l'indentazione del codice, ma a quanto vedo non è molto indentato. Rimedia

EDIT: metti pure le graffe intorno al corpo dei cicli e dei rami if-else
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"

Ultima modifica di Oceans11 : 03-10-2008 alle 09:56.
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 10:01   #11
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
codice 2

vediamo se ora va megliO|!
Codice:
import java.util.*;
import java.io.*;

class Libretto{


// campi
private String nome;
private String cognome;
private String cdl;
private int matricola;
private int n_esami;

private Esame [] Libretto;

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
// costruttore


public Libretto ( String nome, String cognome, String cdl, int matricola, int n_esami) {

this.nome = nome;
this.cognome = cognome;
this.cdl = cdl;
this.matricola = matricola;
this.n_esami = n_esami;

Libretto = new Esame[n_esami];


}

//metodi



public boolean aggiunge (Esame nuovo) {
                              

	if(nuovo == null || nuovo.cdl() != this.cdl() || nuovo.cdl() == null || this.cdl() == null || this.quanti() == n_esami ){   
	return false; 
}

	if(quanti() == n_esami)
	return false;
	             
	Libretto [this.quanti()] = nuovo;   // inserisci nuovo esame
	
return true;

}


public Esame cancella () throws IOException {

int a = 0;

	if(Libretto == null)
	return null;

	a = this.quanti()-1;
	Libretto [this.quanti()-1] = null;   // cancella esame nella precedente posizione

return Libretto[a];    

}



public String cdl () {

return cdl;

}

public String cognome (){

return cognome;

}

public Date data (Esame e){

return e.data();

}

public int esamiPrimaDi(Date data){


int n = 0;  //contatore

if (Libretto == null || data == null)
return 0;

	for (int i = 0; i <this.quanti(); i++){

		if(Libretto[i].data().before(data) ){  // controllo le date minori di data

		n++;
                
  
		}
	

	}
return n;                         // ritorni il numero di esami sostenuti prima di quella data
}



public int matricola (){

return matricola;

}


public Double media (){

int t = 0;
double media = 0;
	for (int i = 0; i < this.quanti(); i++){
		if (Libretto[i] != null){  //fino a che non c'è un null...
		
		t = t + Libretto[i].voto(); // ...sommo i voti
		
		}else{
		break;
		}
	media = (double) (t/i);  //fa la media
	}

return media;
}


public String nome (){

return nome;

}


public int quanti (){

int i = 0;
		                   
		for (i = 0; i <n_esami; i++){                // esamino il libretto

			if (Libretto[i] == null){     //  Se arrivi a null fermati

			break;
			}
 
		}
		

return i+1;   // ritorna esami registrati
}


public Esame sostenuto (String corso){  //mezzo giusto

int a = 0;

	if(corso == null || this.cdl() == null)
	return null;

	for(int i = 0;i<this.quanti();i++){
		
		if (Libretto[i].corso() == corso)       // controllo che i corsi siano identici
		a = i; 	           
	}
return Libretto[a];             // ritorna il riferimento

}






public Esame ultimo(){  

Date data = new Date();
int a = 0;

	if (Libretto == null)
	return null;

	for (int i = 1; i <this.quanti(); i++){					//i =1 per confrontare con il precedente

		if(Libretto[i].data().after(Libretto[i-1].data())  ){	   	//controllo la data più recente
					                   			
		if (data.after(Libretto[i].data()))             		// confronta la data maggiora tra le 2 con la data maggiore in precedenza
		data = Libretto[i].data();  					// inserimento in data della data più recente
		a = i;
				     					// esame con data più recente
		}
	} 
return Libretto[a];

}


public String toString(){

String s = " ";
	for (int i = 0; i <=n_esami; i++){


	s = s + Libretto[i].toString();

	}
return s;

}

}//fine classe
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 10:22   #12
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
Errore

Come si risolve l'errore?
Non è che sei sparito?
Non mi abbandonate!!!
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 10:49   #13
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
codice 3

ho messo anche le graffe per gli if

Codice:
import java.util.*;
import java.io.*;

class Libretto{


// campi
private String nome;
private String cognome;
private String cdl;
private int matricola;
private int n_esami;

private Esame [] Libretto;

// costruttore


public Libretto ( String nome, String cognome, String cdl, int matricola, int n_esami) {

this.nome = nome;
this.cognome = cognome;
this.cdl = cdl;
this.matricola = matricola;
this.n_esami = n_esami;

Libretto = new Esame[n_esami];


}


//metodi


public boolean aggiunge (Esame nuovo) {
                              

	if(nuovo == null || nuovo.cdl() != this.cdl() || nuovo.cdl() == null || this.cdl() == null || this.quanti() == n_esami ){   
	return false; 
}

	if( (quanti() -1)== n_esami){
	return false;
	}
	             
	Libretto [this.quanti()] = nuovo;   // inserisci nuovo esame
	
return true;

}


public Esame cancella () {

int a = 0;

	if(Libretto == null){
	return null;
	}
	a = this.quanti()-1;
	Libretto [this.quanti()-1] = null;   // cancella esame nella precedente posizione

return Libretto[a];    

}



public String cdl () {

return cdl;

}

public String cognome (){

return cognome;

}

public Date data (Esame e){

return e.data();

}

public int esamiPrimaDi(Date data){


int n = 0;  //contatore

	if (Libretto == null || data == null){
	return 0;
	}

	for (int i = 0; i <this.quanti() -1; i++){

		if(Libretto[i].data().before(data) ){  // controllo le date minori di data

		n++;
                
  
		}
	

	}
return n;                         // ritorni il numero di esami sostenuti prima di quella data
}



public int matricola (){

return matricola;

}


public Double media (){
	
int cont = 0;
int somma = 0;
double media = 0;
	for (int i = 0; i < this.quanti() - 1; i++){
		somma = somma + Libretto[i].voto(); // ...sommo i voti
		media = (double) (somma/(i+1));  //fa la media
	}

return media;
}


public String nome (){

return nome;

}


public int quanti (){

int i = 0;
		                   
		for (i = 0; i <n_esami; i++){                // esamino il libretto

			if (Libretto[i] == null){     //  Se arrivi a null fermati

			break;
			}
 
		}
		

return i+1;   // ritorna esami registrati
}


public Esame sostenuto (String corso){  //mezzo giusto

int a = 0;

	if(corso == null || this.cdl() == null)
	return null;

	for(int i = 0;i<this.quanti();i++){
		
		if (Libretto[i].corso() == corso)       // controllo che i corsi siano identici
		a = i; 	           
	}
return Libretto[a];             // ritorna il riferimento

}


public Esame ultimo(){  

Date data = new Date();
int a = 0;

	if (Libretto == null)
	return null;

	for (int i = 1; i <this.quanti()-1; i++){					//i =1 per confrontare con il precedente

		if(Libretto[i].data().after(Libretto[i-1].data())  ){	   	//controllo la data più recente
					                   			
		if (data.after(Libretto[i].data()))             		// confronta la data maggiora tra le 2 con la data maggiore in precedenza
		data = Libretto[i].data();  					// inserimento in data della data più recente
		a = i;
				     					// esame con data più recente
		}
	} 
return Libretto[a];

}


public String toString(){

String s = " ";

	if (Libretto == null)
	return s;

	for (int i = 0; i <=this.quanti()-1; i++){
	s = s + Libretto[i].toString();

	}
return s;

}

}//fine classe
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 11:19   #14
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
Ragazzi era urgente!

Ragazzi era urgente!

Perchè non mi dite come si risolve questo problema????
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 14:19   #15
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Quote:
Originariamente inviato da postgres Guarda i messaggi
Ragazzi era urgente!

Perchè non mi dite come si risolve questo problema????
Oh calma!
Non credo che sia "dovuto" un aiuto, ne tantomeno credo che qualcuno voglia farti i dispetti. Nel mio caso sono uscito di casa, ma ti devo dare spiegazioni?
Tra l'altro se hai tutta sta urgenza mi fai sospettare una cosa tipo questa.

NB: indentare il codice significa che ad ogni blocco (che significa tra ogni coppia di parentesi graffe) devi dare una tabulazione o 3/4 spazi.

Ma ora veniamo al codice:

Primo suggerimento: perchè in quanti() fai return valore +1?tra l'altro poi ogni volta che usi il metodo devi fare -1.

Secondo: in aggiungi fai prima questo controllo
Codice:
quanti() == n_esami
, poi fai
Codice:
quanti() -1 == n_esami
....?!?io direi di metterci d'accordo!

Terzo: invece di fare un metodo quanti() che di volta in volta scandisca l'array per contare gli elementi non nulli, ti consiglio una variabile privata che faccia da contatore: ad ogni inserimento andato a buon fine la incrementi, ad ogni eliminazione andata a buon fine decrementi, il metodo quanti() diventerà allora un semplice getter.
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 14:27   #16
postgres
Member
 
Iscritto dal: Apr 2008
Messaggi: 120
ritornare il valore

Ho corretto il metodo quanti.. e ora non mi da più quel problema!
però penso che il metodo cancella sia sicuramente sbagliato non so come ritornare il valore!

Per quanto riguarda sopra in realtà era una scommessa con un mio amico! hehe
postgres è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2008, 15:15   #17
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Ok, ora però quanti non ti indica più la prima posizione vuota dell'array, ma semplicemente quanti esami ci sono. Quindi non puoi aggiungere nella posizione quanti-1. Come lo stesso il metodo cancella vuole l'ultimo esame registrato, che non necessariamente è l'ultimo dell'array, o quello in ultima posizione.
Capito?

Sta scommessa diciamo che la stai a perde.....oppure valeva fartelo fare da qualcun'altro?!?
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2008, 09:32   #18
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da postgres Guarda i messaggi
Codice:
class Libretto{

//...

private Esame [] Libretto;
Io direi di evitare di dare lo stesso nome alla classe e ad un campo interno alla stessa. Poi, se la nullPointerException te la dà quando invochi toString(), probabilmente è perché cerchi di accedere a posizioni non inizializzate dell'array. Nota che non dovrebbe esserti necessario ridefinire un metodo "quanti()" e che puoi fare in modo che toString() converta in stringa solo il numero di posizioni già create.

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2008, 01:56   #19
Athardis
Member
 
Iscritto dal: Oct 2005
Messaggi: 153
ma il metodo cancella cosa dovrebbe fare?

gli ho dato un occhiata veloce e cosi' come sta scritto dovrebbe cancellare l'ultimo elemento dell'array e ritornare null, e' normale/voluto tutto cio'? fare un metodo void? usare una variabile contatore al posto delle invocazioni del metodo quanti() come e' gia stato detto?
__________________
Su LOL: Majalino
Athardis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti Recensione Realme 15 Pro Game Of Thrones: un ver...
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
MacBook M3 e GeForce RTX 5090? Possibile...
Da Hinton a Wozniak, ecco chi chiede di ...
Gli autobus elettrici possono essere pi&...
Come aggiornare il PC spendendo poco: GP...
Netflix punta sull'interattività:...
Amazon lancia Blink Mini 2K+ e Blink Arc...
CMF Watch 3 Pro: dice la sua a meno di 1...
Hacker guadagnano oltre 500.000 dollari ...
Nintendo annuncia un nuovo Direct dedica...
Windows 11: problemi di accesso su alcun...
Fastweb down oggi in tutta Italia sia su...
Non si sa cos'è, ma questo nuovo ...
Meta introduce un nuovo sistema di prote...
Amazon scatena gli sconti: TV OLED, smar...
Perplexity sbarca sulle TV Samsung: l'AI...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v