Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-10-2010, 21:26   #1
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
[JAVA] chiarimenti su linguaggio!

ciao a tutti, quest anno frequento il IV anno del corso commerciale programmatori, l'anno scorso abbiamo fatto il C mentre quest anno stiamo facendo il JAVA... mi servirebbero alcun chiarimenti su un programma che abbiamo fatto in classe, che so rifare ma meccanicamente
il programma si compono di due classi: DVD e DVDTest

Codice:
package dvd;

/**
 *
 * @author andrea
 */
public class Dvd {
/*****************************VARIABILI****************************/

    private String Titolo;
    private String Casa;
    private String Autore;
    private String Genere;
    private short Durata;

/*****************************COSTRUTTORE*******************************/

    public Dvd (String Titolo, String Casa, String Autore, String Genere, short Durata) {
        this.Titolo = Titolo;
        this.Casa = Casa;
        this.Autore = Autore;
        this.Genere = Genere;
        this.Durata = Durata;
    }

/******************************GETTER***************************/

    public String getTitolo(){
        return Titolo;
    }
    public String getCasa(){
        return Casa;
    }
    public String getAutore(){
        return Autore;
    }
    public String getGenere(){
        return Genere;
    }
    public short getDurata(){
        return Durata;
    }

/********************************SETTER****************************/
    
    public void setTitolo (String Titolo) {
        this.Titolo = Titolo;
    }
    public void setCasa (String Casa) {
        this.Casa = Casa;
    }
    public void setAutore (String Autore) {
        this.Autore = Autore;
    }
    public void setGenere (String Genere) {
        this.Genere = Genere;
    }
    public void setDurata (short Durata) {
        this.Durata = Durata;
    }
    
/******************************UTILITY***************************/
    
    public String toString () {
        String s = "Titolo: " + Titolo + "\n"
                + "Casa: " + Casa + "\n"
                + "Autore: " + Autore + "\n"
                + "Genere: " + Genere + "\n"
                + "Durata: " + Durata;
        return s;
    }
}







package dvd;
import javax.swing.JOptionPane;
/**
 *
 * @author andrea
 */
public class DvdTest {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Dvd d1;
        d1 = new Dvd ("2012", "Centropolis Entertainmen", "Roland Emmerich",
                "Catastrofico, Azione", (short)158);
        JOptionPane.showMessageDialog(null, d1.toString());
    }
}
ok... non mi è molto chiaro cosa siano i metodi getter e i metodi setter... ho capito qualcosa del tipo "i metodi getter servono per leggere i dati, i metodi setter servono per modificare i dati" ho scritto qualcosa di sensato? se si, chi può modificare/leggere tali dati? il programmatore/programma o l'utente che usa il programma?
a cosa servono tutti quei + che ci sono nel toString?
scusate per la confusione che ho in testa e grazie anticipatamente a tutti quelli che vorranno aiutare un totale niubbo xD =)
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2010, 22:00   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Se tu dichiarassi le variabili membro della tua classe public anzichè private, potresti accedervi dall'esterno e non avresti bisogno dei metodi setter e getter. Ma questo è sconsigliato: l'incapsulamento è uno dei pilastri su cui si basa la programmazione ad oggetti.

Il + in java, se usato tra una stringa e un qualsiasi altro tipo assume ruolo di 'operatore di concatenazione'. Non stai facendo altro che comporre una stringa in quel metodo, usando le variabili membro della tua classe.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2010, 22:22   #3
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
Quote:
Originariamente inviato da ndakota Guarda i messaggi
Se tu dichiarassi le variabili membro della tua classe public anzichè private, potresti accedervi dall'esterno e non avresti bisogno dei metodi setter e getter. Ma questo è sconsigliato: l'incapsulamento è uno dei pilastri su cui si basa la programmazione ad oggetti.

Il + in java, se usato tra una stringa e un qualsiasi altro tipo assume ruolo di 'operatore di concatenazione'. Non stai facendo altro che comporre una stringa in quel metodo, usando le variabili membro della tua classe.
quindi ad esempio se io nella classe DVDTest ho bisogno del valore di "Autore" contenuto nella classe DVD ho bisogno di mettere un metodo getter?

(non ci sarebbe bisogno di tutto questo impostando le variabili friendly o public)
__________________
ho concluso positivamente con: PianoMagic0

Ultima modifica di Lo ScArSe : 19-10-2010 alle 22:25.
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2010, 22:28   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da Lo ScArSe Guarda i messaggi
quindi ad esempio se io nella classe DVDTest ho bisogno del valore di "Autore" contenuto nella classe DVD ho bisogno di mettere un metodo getter?

(non ci sarebbe bisogno di tutto questo impostando le variabili friendly o public)
Esatto, se pensi che le tue variabili membro ti servano anche all'esterno ci farai un metodo getter. Altrimenti, potrebbe benissimo darsi che ti servano solo per elaborazioni interne alla tua classe e quindi non ci farai metodi getter.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2010, 22:35   #5
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
Quote:
Originariamente inviato da ndakota Guarda i messaggi
Esatto, se pensi che le tue variabili membro ti servano anche all'esterno ci farai un metodo getter. Altrimenti, potrebbe benissimo darsi che ti servano solo per elaborazioni interne alla tua classe e quindi non ci farai metodi getter.
invece il setter serve nel caso in cui debba modificare il valore delle variabili in altre classi?
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2010, 22:54   #6
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Esatto
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2010, 23:12   #7
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
Quote:
Originariamente inviato da ndakota Guarda i messaggi
Esatto
perfetto =) grazie mille =)
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2010, 20:35   #8
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
rieccomi ragazzi... stiamo facendo un programma sul fantacalcio, ci vorrà tutto l anno e 10000 righe di codice ha detto il prof... bene xD... questo è lo scheletro delle prime 2 classi che sto costruendo: Giocatore e Portiere (dove vedete /*****/ manca il codice che ancora non studiamo.
Comunque il problema è che nella classe Portiere all ultima riga "return Voto;" mi da il seguente errore: Voto has private access in FantaCalcio.Giocatore... e tutto il discorso dei metodi setter di ieri... come risolvo?

Quote:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package fantacalcio;

/**
*
* @author andrea
*/
public class Giocatore {

/*Dichiarazione delle variabili */

private String Nome;
private String Cognome;
private String Ruolo;
private String Squadra;
private float Quotazione;
private float MediaVoto;
private byte GoalFatti;
private byte Presenze;
private byte Ammonizioni;
private byte Espulsioni;
private byte RigoriSbagliati;
private byte Autogoal;
private byte Assist;
private byte Pagella;
private float Voto;

/*Dichiarazione dei Metodi Getter*/

public String getNome () {
return Nome;
}

public String getCognome () {
return Cognome;
}

public String getRuolo () {
return Ruolo;
}

public String getSquadra () {
return Squadra;
}

public float getQuotazione () {
return Quotazione;
}

public float getMediaVoto () {
return MediaVoto;
}

public byte getGoalFatti () {
return GoalFatti;
}

public byte getPresenze () {
return Presenze;
}

public byte getAmmonizioni () {
return Ammonizioni;
}

public byte getEspulsioni () {
return Espulsioni;
}

public byte getRigoriSbagliati () {
return RigoriSbagliati;
}

public byte getAutogoal () {
return Autogoal;
}

public byte getAssist () {
return Assist;
}

public byte getPagella () {
return Pagella;
}

public float getVoto () {
return Voto;
}

/*Dichiarazione dei Metodi Setter*/

public void setNome (String Nome) {
this.Nome = Nome;
}

public void setCognome (String Cognome) {
this.Cognome = Cognome;
}

public void setRuolo (String Ruolo) {
this.Ruolo = Ruolo;
}

public void setSquadra (String Squadra) {
this.Squadra = Squadra;
}

public void setQuotazione (float Quotazione) {
this.Quotazione = Quotazione;
}

public void setMediaVoto (float MediaVoto) {
this.MediaVoto = MediaVoto;
}

public void setGoalFatti (byte GoalFatti) {
this.GoalFatti = GoalFatti;
}

public void setPresenze (byte Presenze) {
this.Presenze = Presenze;
}

public void setAmmonizioni (byte Ammonizioni) {
this.Ammonizioni = Ammonizioni;
}

public void setEspulsioni (byte Espulsioni) {
this.Espulsioni = Espulsioni;
}

public void setRigoriSbagliati (byte RigoriSbagliati) {
this. RigoriSbagliati = RigoriSbagliati;
}

public void setAutogoal (byte Autogoal) {
this.Autogoal = Autogoal;
}

public void setAssist (byte Assist) {
this.Assist = Assist;
}

public void setPagella (byte Pagella) {
this.Pagella = Pagella;
}

public void setVoto (float Voto) {
this.Voto = Voto;
}

/* Dichiarazione metodo CalcolaVoto*/

public float CalcolaVoto (byte GoalFatti, byte Ammonizioni, byte Espulsioni,
byte RigoriSbagliati, byte AutoGoal, byte Assist,
byte Pagella) {
/****************************************************
*
*/
return Voto;
}

/*Dichiarazione metodo CalcolaMediaVoto*/

public float CalcolaMediaVoto (float Voto) {
/********************************************************
*
*/
return MediaVoto;
}

/*Dichiarazione Costruttore*/

public Giocatore() {
/***********************************************
*
*/
}

}









/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package fantacalcio;

/**
*
* @author andrea
*/
public class Portiere extends Giocatore {

/*Dichiarazione Variabili*/

private byte RigoriParati;
private byte GoalSubiti;

/*Dichiarazione Metodi Getter*/

public byte getRigoriParati () {
return RigoriParati;
}

public byte getGoalSubiti () {
return GoalSubiti;
}

/*Dichiarazione Metodi Setter*/

public void setRigoriParati (byte RigoriParati) {
this.RigoriParati = RigoriParati;
}

public void setGoalSubiti (byte GoalSubiti) {
this.GoalSubiti = GoalSubiti;
}

/*Dichiarazione metodo CalcolaVoto (portieri) */

public float CalcolaVoto (byte GoalFatti, byte Ammonizioni, byte Espulsioni,
byte RigoriSbagliati, byte AutoGoal, byte Assist,
byte Pagella, byte RigoriParati, byte GoalSubiti) {
/****************************************************
*
*/
return Voto;
}
}
grazie anticipatamente a tutti =)
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2010, 21:47   #9
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Voto è un campo di Giocatore, ma non di Portiere

estendendo Giocatore, Portiere eredita metodi e campi protected e public

dunque puoi sostituire
Codice:
return Voto;
con
Codice:
return getVoto();
o in alternativa rendere gli attributi protected
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2010, 22:20   #10
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
Quote:
Originariamente inviato da tuccio` Guarda i messaggi
Voto è un campo di Giocatore, ma non di Portiere

estendendo Giocatore, Portiere eredita metodi e campi protected e public

dunque puoi sostituire
Codice:
return Voto;
con
Codice:
return getVoto();
o in alternativa rendere gli attributi protected
grazie mille cosi l'errore è scomparso... ma scusa... a cosa servono i setter se poi bisogna comunque usare un metodo getter?
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2010, 21:17   #11
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
upppp
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2010, 21:24   #12
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
ragazzi scusate un altro carico di domande :S... spiegazione sugli array e problemi nella compilazione con vari errori...

Codice:
import javax.swing.JOptionPane;
public class Array {
    private float voto[];
    voto = new float [5];
    

    public void inserisciValore (int I) {
        String s = JOptionPane.showInputDialog(null, "inserisci il"+I+" numero ");
        float x = float.parsefloat (s);
        voto[i] = x;
    }
    
    public void inserisciValori(){
        for(int I=0;I<voto.length;I++) {
            inserisciValore (I);
        }
    }
    
    public void visualizzaValore (int I) {
        JOptionPane.showMessageDialog(null, "il " +I+"° Voto è" +voto[i]);
    }
    
    public void visualizzaValori () {
        for(int I=0;I<voto.length;I++) {
            visualizzaValore(I);
        }
    }
    
    public int ricercaValori (float x) {
        int posizione = -1;
        for (int I=0;I<voto.length;I++) {
            if (voto[i] == x) {
                posizione = I;
                I = voto.length;
            }
        }
        return posizione;
    }
}
"voto = new float[5];" cannot find symbol - symbol: class voto - location: class array - <identifier expected>

"float x = float.parsefloat (s);" float cannot be dereferenced - class expected - ';' exprected - not a statement - ';' expected -
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2010, 21:40   #13
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Primo errore: dichiarazione dell'array. Anche il private è fuori luogo.

Secondo errore: occhio alla differenza tra il tipo float a la classe Float.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2010, 16:26   #14
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
public void ordinaValori () {
for (int I=0;I<nominativo.length-1;I++) {
for (int J=1;J<nominativo.length;J++) {
if (nominativo[i].compareTo(nominativo[J]) = 1) {
scambia(nominativo[i], nominativo[J]);
}
}

}
}
}

ragazzi e qui? unexpected type.. required: variable... found: value (tutto questo nell'if)
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2010, 16:47   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Lo ScArSe Guarda i messaggi
public void ordinaValori () {
for (int I=0;I<nominativo.length-1;I++) {
for (int J=1;J<nominativo.length;J++) {
if (nominativo[i].compareTo(nominativo[J]) = 1) {
scambia(nominativo[i], nominativo[J]);
}
}

}
}
}

ragazzi e qui? unexpected type.. required: variable... found: value (tutto questo nell'if)
1) Nel for hai dichiarato una variabile con nome "I" (i maiuscola) e nell'if tenti di usare una variabile "i" (i minuscola) che non hai mai dichiarato e dunque non esiste...
2) nell'if esegui una assegnazione perchè stai usando l'operatore di assegnamento '=' invece devi usare '=='...
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 10-11-2010 alle 16:50.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2010, 19:14   #16
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
1) Nel for hai dichiarato una variabile con nome "I" (i maiuscola) e nell'if tenti di usare una variabile "i" (i minuscola) che non hai mai dichiarato e dunque non esiste...
2) nell'if esegui una assegnazione perchè stai usando l'operatore di assegnamento '=' invece devi usare '=='...
le i nel programma sono maiuscole xD comunque grazie, è bruttissimo quando stai mezz'ora a sclerare e vedi che era uno stupido errore di distrazione che non avevi visto grazie mille
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2010, 19:30   #17
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
rieccoci

Codice:
    public void scambia (String nominativo[i], nominativo[J]){
        String a= nominativo[J];
        String b= nominativo[i];
        nominativo [i] = a;
        nominativo[J] =b;

    }
}
c'è qualche problema alla prima riga... ']' expected
e poi mi fa storie che J e I non sono dichiarate... questa è la prima volta che invio un array in altri metodi quindi se ho fatto qualcosa di assurdo scusatemi xD
__________________
ho concluso positivamente con: PianoMagic0

Ultima modifica di Lo ScArSe : 10-11-2010 alle 19:36.
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2010, 21:21   #18
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
alla fine l ho risolta cosi

Codice:
    public void ordinaValori () {
        for (int I=0;I<nominativo.length-1;I++) {
            for (int J=1;J<nominativo.length;J++) {
                if (nominativo[i].compareTo(nominativo[J]) == 1)
                    scambia(nominativo, I, J);
            }
        }
    }

    /********************Scambiare************************/

    public void scambia (String nominativo[], int I, int J){
        String a= nominativo[J];
        String b= nominativo[i];
        nominativo [i] = a;
        nominativo[J] =b;

    }


edit... compila ma non ordina :S

provato anche cosi... niente (anche mettendo void senza return)

Codice:
    public void ordinaValori () {
        for (int I=0;I<nominativo.length-1;I++) {
            for (int J=1;J<nominativo.length;J++) {
                if (nominativo[i].compareTo(nominativo[J]) == 1)
                    scambia(I, J);
            }
        }
    }

    /********************Scambiare************************/

    public String scambia (int I, int J){
        String a= nominativo[J];
        String b= nominativo[i];
        nominativo [i] = a;
        nominativo[J] =b;
        return nominativo[i];
    }
__________________
ho concluso positivamente con: PianoMagic0

Ultima modifica di Lo ScArSe : 10-11-2010 alle 21:55.
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2010, 11:12   #19
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
up
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2010, 20:18   #20
Lo ScArSe
Member
 
Iscritto dal: Jan 2008
Messaggi: 77
niente?? scusate l insistenza ma mi serve per domani :S
__________________
ho concluso positivamente con: PianoMagic0
Lo ScArSe è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Yakuza Kiwami 3 and Dark Ties avrà...
Iran, il regime prolunga il blocco di in...
Lucasfilm cambia guida: cosa succede a S...
Roborock lancia in Italia F25 ACE Pro: c...
Auto elettriche, a Busto Arsizio stop al...
Smartphone potenti sotto i 300€: ecco i ...
Google rassicura: ChromeOS continuer&agr...
Merge Labs: esce allo scoperto la societ...
Blocco note su Windows 11 è sempre più c...
Cybersecurity: la vera leva strategica p...
Huawei annuncia tre prodotti: uno smartp...
La Cina sta proseguendo i test del razzo...
Sharing a Genova: via i monopattini, lim...
Sophie Turner è Lara Croft: prime...
Xiaomi, Apple, Samsung, Dreame, Roborock...
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:25.


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