Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-02-2008, 21: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, 21: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, 21:48   #3
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
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, 21: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, 21:56   #5
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
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, 22: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, 22: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, 22:17   #8
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Posta il codice così vediamo

PS: usa il tag CODE
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 22: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 22:42.
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 22:42   #10
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 22: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, 22: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, 22: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, 22: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, 22: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, 23: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, 23: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, 23: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 23:42.
Pompolus è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2008, 00: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, 01: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


Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
L’ex CEO di Intel Gelsinger punta su una...
Techly, quattro nuovi supporti TV fra mo...
Mass Effect sacrificato per Star Wars: i...
Gemini, addio al copia e incolla per cor...
13 miliardi per un colpo di stato? NVIDI...
L'agente AI Wabi crea mini-app su misura...
Edge è il primo browser a supportare Acc...
L'IA di Firefox ora compila i moduli da ...
Tracking pixel nelle email: cosa cambia ...
La GeForce RTX 5080 da 24 GB potrebbe ar...
Apple mette alle strette OpenAI, la caus...
Xbox ancora in calo: ecco com'è a...
Car of the Year 2027: sette finaliste e ...
Google Beam cambia tutto: arrivano le vi...
Curry Barker, il regista di Obsession, p...
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: 23:22.


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