Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-02-2008, 20:40   #1
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
[Java] Variabili "globali"

Salve a tutti,

volevo sapere come si fa in Java a definire delle variabili in modo da poterle usare in tutte le classi di uno stesso package.

Ho provato a dichiararle public o protected in una classe ma le altre classi non le vedono.


Altra domanda:

Se ho una classe A che istanzia una classe B, può creare problemi se nella definizione di B metto che estende A?

Grazie
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 20:46   #2
afsdfdlecosdfsfdcco
Registered User
 
Iscritto dal: Jul 2007
Messaggi: 915
Quote:
Originariamente inviato da Pompolus Guarda i messaggi
Salve a tutti,

volevo sapere come si fa in Java a definire delle variabili in modo da poterle usare in tutte le classi di uno stesso package.

Ho provato a dichiararle public o protected in una classe ma le altre classi non le vedono.
In java non esistono "variabili globali". La cosa piu' simile che puoi fare è creare una classe di sole variabili "public static" e poi fai un import static nelle altre classi (si, è contorto)
afsdfdlecosdfsfdcco è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 20:48   #3
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2774
Per la prima domanda, parli di variabili d'istanza o statiche?
protected dovrebbe essere il modificatore corretto, ma forse per quello che devi fare tu devi aggiungere anche static. Dipende da cosa vuoi fare, non si è capito bene.
http://java.sun.com/docs/books/tutor...sscontrol.html

Per la seconda domanda non sono sicuro ma credo di no
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 20:49   #4
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da Pompolus Guarda i messaggi
Altra domanda:

Se ho una classe A che istanzia una classe B, può creare problemi se nella definizione di B metto che estende A?

Grazie
Non ho mai provato, ma ad occhio direi di si.

E poi non avrebbe molto senso logicamente (se B è una estensione di A com'è che A necessita di B per eseguire il suo lavoro? Significherebbe che la stessa B avrebbe bisogno di se stessa per poter fare quello per cui è stata progettata)

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 20:56   #5
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2774
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
E poi non avrebbe molto senso logicamente (se B è una estensione di A com'è che A necessita di B per eseguire il suo lavoro? Significherebbe che la stessa B avrebbe bisogno di se stessa per poter fare quello per cui è stata progettata)
Non ho capito, è troppo contorto

Ad ogni modo, al di là del senso logico le istanze di A e B sono comunque delle entità distinte, quindi perché A non dovrebbe poter istanziare B?
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:09   #6
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da Pompolus Guarda i messaggi
volevo sapere come si fa in Java a definire delle variabili in modo da poterle usare in tutte le classi di uno stesso package.
Si fa' cosi':
fek è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:12   #7
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
Quote:
Originariamente inviato da alecocco Guarda i messaggi
In java non esistono "variabili globali". La cosa piu' simile che puoi fare è creare una classe di sole variabili "public static" e poi fai un import static nelle altre classi (si, è contorto)
Ho provato ma non sembra funzionare,
che io sappia poi in Java una classe importa di default tutte le altre classi dello stesso package...

Comuqnue ho definito come static ste variabili ma nelle altre classi non le riconosce.

Qualche altro consiglio?
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:17   #8
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2774
Posta il codice così vediamo

PS: usa il tag CODE
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:37   #9
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
Allora, cerco di spiegare un pò meglio:

premetto che questo è il mio primo programma in Java quindi perdonatemi se dico o ho fatto qualche sfondone.

Io devo realizzare un sistema client/server dove il server può gestire più connessioni assegnando a ognuna di esse un thread dedicato.

Il problema nasce proprio però quando la classe CollabServer chiama il costruttore di CollabHandler(che è la classe che dovrebbe far partire il thread per gestire la connessione). Quando ciò avviene si verifica una IOException e CollabHandler non parte.

Notate che CollabServer estende thread mentre CollabHandler estende CollabServer proprio per poter usufruire di alcune variabili in comune.

Ecco il codice delle 2 classi:

CollaServer

Codice:
package serverclientprova;

import java.net.*;
import java.io.*;
import java.util.*;

public class CollabServer extends Thread {
//--------------------------------------------------
protected FilmInProg [] vFiP;
protected String info = "";
protected MessageInputStream mis;
protected MessageOutputStream mos;
protected BufferedReader bis;
protected BufferedWriter bos;
protected int nM;
   
    public CollabServer() throws IOException {
        MemorizzaFile();
        nM = ContaMatrici();
        vFiP = new FilmInProg [nM];
        CreaVettore();
        ServerSocket server = new ServerSocket(1414);
        
        System.out.println ("Accepting connections...");
        while(true) {
            Socket client = server.accept();  //ogni richiesta di connessione  viene accettata
            System.out.println ("Accepted from " + client.getInetAddress());
            try{
            new CollabHandler(client).start(); /////QUI E' IL PROBLEMA////////
            }catch(IOException e){
                System.out.println("IO Exception" + "\n");   
           }//Istanziamo un oggetto CollabHandler per gestire la connessione        }
        }
   }
        

   public void MemorizzaFile () throws IOException {
       try{
           bis = new BufferedReader(new InputStreamReader(new FileInputStream("DbCinema.txt"))); //apriamo il file di testo contenente le info
           String temp = "";
           while( (temp = bis.readLine()) != null)
            info = info + temp + "\n";
           } catch(IOException e){
                System.out.println("IO Exception" + "\n");   
           }
           finally {
                try {
                    bis.close();
                } catch (IOException e) {
                     System.out.println("IO Exception" + "\n");
                }
           }
    }
    
    
    public int ContaMatrici () throws IOException { //conta il numero delle matrici che dovranno esser create
      String inputLine = "";
      int num = 0;
      try { 
          bis = new BufferedReader(new InputStreamReader(new FileInputStream("DbCinema.txt"))); //apriamo il file di testo contenente le info
          inputLine = bis.readLine();
          while (inputLine.compareTo("FINE") != 0) {              
                bis.readLine();
                inputLine = bis.readLine();
                while (inputLine.compareTo("---") != 0) {
                    num++;
                    inputLine = bis.readLine();
                }
                inputLine = bis.readLine();
            }
      }
        catch (IOException e) {
        System.out.println("IO Exception" + "\n");
        } finally {
            try {
                bis.close();
            } catch (IOException e) {
                 System.out.println("IO Exception" + "\n");
                }
            }
        return num;
     }
   
   public void CreaVettore () throws IOException {
       String NomeF, NomeS, t;
       int i = 0;   
       try{
            bis = new BufferedReader(new InputStreamReader(new FileInputStream("DbCinema.txt")));
            NomeF = bis.readLine();
            while (NomeF.compareTo("FINE") != 0){
                    NomeS = bis.readLine();
                    t = bis.readLine();
                    while (t.compareTo("---") != 0){ 
                         vFiP[i] = new FilmInProg( NomeF, NomeS, t);
                         i++;
                         t = bis.readLine();
                    }
                   NomeF = bis.readLine();
                }
            }catch (IOException e) {
                System.out.println("IO Exception" + "\n");
            }finally{
                try {
                    bis.close();
                } catch (IOException e) {
                     System.out.println("IO Exception" + "\n");
                }    
            }
     }
    
//--------------------------------------------------
    public static void main(String args[]) throws IOException {
        new CollabServer();
    
    }
}
CollabHandler

Codice:
package serverclientprova;

import java.net.*;
import java.io.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;



public class CollabHandler extends CollabServer {
    protected Socket socket;
  //  protected MessageInputStream mis;
   // protected MessageOutputStream mos;
    protected ObjectInputStream ois;
    protected ObjectOutputStream oos;
       
    
    //--------------------------------------------------
    public CollabHandler(Socket socket) throws IOException {
       this.socket = socket;
        try{
            mis = new MessageInputStream(socket.getInputStream());
            mos = new MessageOutputStream(socket.getOutputStream());
            ois = new ObjectInputStream(socket.getInputStream());
            oos = new ObjectOutputStream(socket.getOutputStream());
        }catch (IOException e) {
            System.out.println("IO Exception" + "\n");
        }
    }
    
    
    
    public void run ()   {
        
        try{
            while(true){
                System.out.println("QUI CI ARRIVA");
                mis.receive();
                try{
                    Thread.sleep(1000);
                }catch (InterruptedException ex) {}
                String cmd = mis.readUTF(); 
                if (cmd.equals ("Richiedi"))
                    Richiedi(); 
                else if (cmd.equals ("PostiLiberi")){
                    mis.receive();
                    String Sala = mis.readUTF();
                    String Orario = mis.readUTF();
                    PostiLiberi(Sala, Orario);
                }
                else if (cmd.equals ("Compra"))
                    Compra();
            }
        }
        catch (ClassNotFoundException ex) {
            Logger.getLogger(CollabHandler.class.getName()).log(Level.SEVERE, null, ex);
        }        catch (IOException ex){
        ex.printStackTrace();
        }
    } 
.
.
.
.

Ultima modifica di Pompolus : 06-02-2008 alle 21:42.
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:42   #10
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Pompolus Guarda i messaggi
volevo sapere come si fa in Java a definire delle variabili in modo da poterle usare in tutte le classi di uno stesso package.
Premesso che una cosa del genere non è una gran bellezza e bisognerebbe capire meglio perché hai bisogno di fare questo e come intendi usarle.

Se proprio vuoi renderle visibili solamente a classi nello stesso package (e vale anche per la classe che le contiene), allora devono avere livello di accesso di "default" (package level), cioè non va specificato un modificatore di accesso. Poi le metti static. Quindi:

Codice:
class Globali
{
    static int a;
    static String b;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:49   #11
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
Quote:
Originariamente inviato da andbin Guarda i messaggi
Premesso che una cosa del genere non è una gran bellezza e bisognerebbe capire meglio perché hai bisogno di fare questo e come intendi usarle.

Se proprio vuoi renderle visibili solamente a classi nello stesso package (e vale anche per la classe che le contiene), allora devono avere livello di accesso di "default" (package level), cioè non va specificato un modificatore di accesso. Poi le metti static. Quindi:

Codice:
class Globali
{
    static int a;
    static String b;
}

ho provato a fare come dici tu ma non riesco a far funzionare.
Io ho creato all'interno del package una classe chiamata "Globali" e il codice da te scritto.
Ma nelle altre classi dello stesso package, nè a nè b vengono riconosciute.
Devo fare qualche import o roba del genere?
Ah io uso NetBean, non so se può essere utile ^^
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:54   #12
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Il prossimo che consiglia ad un principiante di imparare prima il C gli linko questo topic.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:54   #13
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Scusa, ma CollabHandler estende CollabServer.

Questo significa che CollabHandler è CollabServer.

Che bisogno hai di creare una CollabServer e poi da dentro chiamare una CollabHandler se la CollabHandler fa già il proprio lavoro e allo stesso tempo anche quello della CollabServer (essendo essa stessa una CollabServer visto che la estende) ?.

Usa direttamente la CollabHandler

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:55   #14
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
comunque il mio problema resta che la chiamata "new CollabHandler(client).start();" non funziona.

L'unica cosa che ho pensato da cui possa dipendere è il fatto che estende CollabServer e CollabServer estende Thread e che quindi possa dare una qualche sorta di conflitto.

Per questo ho pensato di usare delle variabili "globali" e quindi poter evitare di far estendere CollabServer, ma non sono neanche sicuro che possa essere una soluzione.

Non so proprio perchè non parte : \
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 21:59   #15
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
Scusa, ma CollabHandler estende CollabServer.

Questo significa che CollabHandler è CollabServer.

Che bisogno hai di creare una CollabServer e poi da dentro chiamare una CollabHandler se la CollabHandler fa già il proprio lavoro e allo stesso tempo anche quello della CollabServer (essendo essa stessa una CollabServer visto che la estende) ?.

Usa direttamente la CollabHandler

Ciao

Allora ripeto questo è il mio primo programma quindi sto andando un pò a casaccio...

Io devo creare un thread per ogni connessione che il server accetta, per questo istanzio un collabhandler per ogni connessione. Solo che collabhandler utilizzerà delle variabili contenute in collabserver ed è SOLO per questo motivo che collabhandler estende collabserver.

Lo so che non è elegante ma è l'unico modo che sono riuscito a trovare per far vedere quelle cazzo di variabili ad entrambe le classi senza doverle passare in tutti i metodi (improponibile).
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 22:01   #16
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da Pompolus Guarda i messaggi
Lo so che non è elegante ma è l'unico modo che sono riuscito a trovare per far vedere quelle cazzo di variabili ad entrambe le classi senza doverle passare in tutti i metodi (improponibile).
Perche' improponibile?
Prova, vedrai che finisci prima che tentando di costringere Java a fare quello che non vuole fare (le variabili globali).
fek è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 22:27   #17
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da Pompolus Guarda i messaggi
Allora ripeto questo è il mio primo programma quindi sto andando un pò a casaccio...

Io devo creare un thread per ogni connessione che il server accetta, per questo istanzio un collabhandler per ogni connessione. Solo che collabhandler utilizzerà delle variabili contenute in collabserver ed è SOLO per questo motivo che collabhandler estende collabserver.

Lo so che non è elegante ma è l'unico modo che sono riuscito a trovare per far vedere quelle cazzo di variabili ad entrambe le classi senza doverle passare in tutti i metodi (improponibile).
Putroppo hai sbagliato il progetto delle due classi.

Devi pensare ad oggetti. Che cos'è (che oggetto è) la CollabServer? Immagino sia l'idealizzazione di un "Server". La CollabHandler cos'è? E' l'idealizzazione di un thread che gestisce la connessione immagino.

Bene.

Quello che hai fatto tu è questo: "La CollabServer è un Server che estende un Thread, mentre la CollabHandler è un gestore di connessione che estende un Server che estende un Thread.

1° - Che bisogno ha il Server di essere un Thread. Perchè hai fatto CollabServer extends Thread? Non ce n'è bisogno, visto che il server non deve essere un thread, ma solo un server. Invece ad essere un Thread dovrebbe essere CollabHandler.

2° - Perchè CollabHandler è un Server? Che bisogno ha CollabHandler di essere un server? Nessuno.

Quindi in sostanza inizia a rifare il progetto partendo da questo suggerimento :

class CollabServer {
// Codice qua
}

e

class CollabHandler extends Thread {
// Codice qua
}

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 22:40   #18
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
Ok, ho eliminato il problema delle variabili globali (Ora CollabServer le passa a CollabHandler), inoltre CollabHandler ora estende Thread (non esetende più CollabServer) e CollabServer non estende più nulla...

Però continua a non funzionare.

Posto il codice di CollabHandler dove si blocca:

Codice:
package serverclientprova;

import java.net.*;
import java.io.*;
import java.util.*;
// import prominence.msg.*; ?????
import java.util.logging.Level;
import java.util.logging.Logger;



public class CollabHandler extends Thread {
    protected Socket socket;
    protected MessageInputStream mis;
    protected MessageOutputStream mos;
    protected ObjectInputStream ois;
    protected ObjectOutputStream oos;
    protected int nM;
    protected String info;
    protected FilmInProg [] vFiP;

    //--------------------------------------------------
    public CollabHandler(Socket socket, String info, int nM, FilmInProg [] vFiP) throws IOException {
       this.socket = socket;
       this.info = info;
       this.nM = nM;
       this.vFiP = vFiP.clone();
       try{
            mis = new MessageInputStream(socket.getInputStream());
            mos = new MessageOutputStream(socket.getOutputStream());
            }catch (IOException e) {
                System.out.println("IO Exception" + "\n");
             }
       try{
            
            ois = new ObjectInputStream(socket.getInputStream());//Qui è il problema, questa istruzione non viene eseguita e si blocca, perchè? 
            oos = new ObjectOutputStream(socket.getOutputStream());
       }catch (IOException e) {
            System.out.println("IO Exception" + "\n");
        }
       start();
    }
.
.
.
.
Quindi CollabServer crea un'istanza di CollabHandler, ma non arrivando all'istruzione "start()" il thread non parte e CollabHandler non fa nulla... Il problema quasi sicuramente deriva dall'uso dell' ObjectInputStream, ma in cosa ho sbagliato??

Grazie ancora dell'aiuto

Ultima modifica di Pompolus : 06-02-2008 alle 22:42.
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 23:19   #19
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
già finiti i consigli?
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2008, 00:28   #20
Pompolus
Member
 
Iscritto dal: Oct 2005
Messaggi: 258
Raga mi sta venendo un dubbio atroce...

Io devo passare un vettore di oggetti da client a server e viceversa.

Ho usato un ObjectInputStream e un ObjectOutputStream ma mi danno un casino di errori.

Qualcuno può postarmi il codice funzionante?

Ecco come ho fatto io:

Lato server:
Codice:
ois = new ObjectInputStream(socket.getInputStream());
             
          oos = new ObjectOutputStream(socket.getOutputStream());
Lato Client:
Codice:
Ois = new ObjectInputStream (i);
                             
            Oos = new ObjectOutputStream (o);
dove i e o sono rispettivamenti l'InputStream e l'OutputStream del socket.


Vi prego aiutatemi che sto in alto mare
Pompolus è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Iliad: si consolida la partnership tecno...
Il SoC a 2 nm di Samsung non sfigura nel...
Prezzo shock per i Galaxy Buds FE + nuov...
Il nuovo SoC di Qualcomm vuole stupire: ...
Offerta lampo per pulire l'auto: aspirap...
I robotaxi di Amazon entrano in azione: ...
ECOVACS DEEBOT T50 PRO OMNI Gen2 domina ...
iPhone 17 Pro su Amazon: tutti i colori,...
Disney Plus da 2,99 euro al mese per 3 m...
Nuovo test di accensione dei motori per ...
Novità dalle analisi dell'asteroi...
La PS6 sarà più potente del previsto: ec...
Sony svela Xperia 10 VII: è il nu...
Amazon Weekend da urlo: iPhone 16 a prez...
Spotify diffida ReVanced: chiesta la rim...
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: 11:44.


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