Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-01-2006, 16:50   #1
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
[C] Leggere File Strutturati

raga c'è un modo facile ed abbastanza rapido per leggere delle informazioni da un file "strutturato"?

Nel senso che ho un file di questo tipo, più o meno:
Codice:
<nomeCategoria> <nomeCategoriaPadre> >numeroProprietàSpecificheDellaCategoria> <Proprieta_1> …<Proprieta_N>
...
...
<nomeCategoria> <nomeCategoriaPadre> >numeroProprietàSpecificheDellaCategoria> <Proprieta_1> …<Proprieta_N>
e vorrei inserire i vari elementi in un array (ma volendo anche qualche altra cosa) poichè dopo con questi dati devo costruire un albero radicato.

mi date info su come leggere efficientemente da file una cosa del genere?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2006, 17:16   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da leadergl
raga c'è un modo facile ed abbastanza rapido per leggere delle informazioni da un file "strutturato"?

Nel senso che ho un file di questo tipo, più o meno:
Codice:
<nomeCategoria> <nomeCategoriaPadre> >numeroProprietàSpecificheDellaCategoria> <Proprieta_1> …<Proprieta_N>
...
...
<nomeCategoria> <nomeCategoriaPadre> >numeroProprietàSpecificheDellaCategoria> <Proprieta_1> …<Proprieta_N>
Ciao, la soluzione più semplice in questi casi è quella di leggere tutta la riga in un buffer (ad esempio con la funzione fgets) e poi "spezzare" i vari campi con la funzione strtok.
Se all'interno di ogni campo non devi avere lo spazio, puoi usare lo spazio come delimitatore per la strtok, altrimenti devi usare o un altro separatore oppure proprio un altro metodo per la separazione dei campi.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2006, 17:35   #3
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
ok...ma se non so quanto è lunga la mia riga?
può tanto essere 10 caratteri quanto 100.....come si fa?
c'è una funzione che legge in automatico l'intera riga?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2006, 19:01   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da leadergl
ok...ma se non so quanto è lunga la mia riga?
può tanto essere 10 caratteri quanto 100.....come si fa?
c'è una funzione che legge in automatico l'intera riga?
Beh, in genere si fissa comunque un limite massimo alla lunghezza della linea, anche molto grande. La funzione fgets accetta un massimo di N caratteri specificati nel suo secondo parametro.
Si può fare ad esempio:
Codice:
#define MAXBUFLEN   1024
...
char buffer[MAXBUFLEN];
...
while (fgets (buffer, MAXBUFLEN, f) != NULL)
{
    ...elabora riga...
}
Purtroppo in "C" non è facile fare come in altri linguaggi in cui puoi fare (ad esempio in Java):
Codice:
String line = br.readLine ();
Si potrebbe fare anche in "C" una cosa del genere ma devi fare tu una gestione di una "stringa espandibile" e poi fare una apposita funzione di lettura da file. Questo, ovviamente, a meno di usare delle librerie apposite.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2006, 21:13   #5
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Quote:
Originariamente inviato da andbin
...e poi "spezzare" i vari campi con la funzione strtok...
ma in che libreria si trova??
mi sembra utilissima! dimmi che è standard e sarò un uomo felice!
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2006, 21:39   #6
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Quote:
Originariamente inviato da Gandalf_BD
ma in che libreria si trova??
mi sembra utilissima! dimmi che è standard e sarò un uomo felice!
E' in <string.h>

è considerata `unsafe` per applicazioni multi-thread, dove è preferibile utilizzare la `strtok_r`
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2006, 21:45   #7
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Quote:
Originariamente inviato da maxithron
...è considerata `unsafe` per applicazioni multi-thread, dove è preferibile utilizzare la `strtok_r`...
ha solo questa controindicazione???
cavolo... da oggi sono un uomo nuovo!
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 11:18   #8
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
bella la strtok, adesso faccio qualche prova e forse avrò finto di cilare per cercare gli spazi.
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 13:30   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da wisher
bella la strtok, adesso faccio qualche prova e forse avrò finto di cilare per cercare gli spazi.
Beh ... comunque la strtok() non è "oro colato". Come già detto non è thread-safe (perché usa delle sue variabili globali) e a me personalmente non piace molto per il fatto che alla prima chiamata gli si passa (ovviamente) il puntatore alla stringa e nelle successive gli si passa NULL (altrimenti penserebbe che è un'altra nuova stringa!).

Prendiamo questo codice:
Codice:
char string[] = ";aa;;bb;cc;", *p, *s;
s = string;

while ((p = strtok (s, ";")) != NULL)
{
    printf ("[%s]\n", p);
    s = NULL;
}
stampa, come è intuibile:
Codice:
[aa]
[bb]
[cc]
Ecco una gestione (thread-safe) equivalente alla strtok che ho buttato giù:
Codice:
typedef struct
{
    char *ptr;
    char *delim;
} GET_TOKEN;

void get_token_init (GET_TOKEN *gt, char *string, char *delim)
{
    gt->ptr = string;
    gt->delim = delim;
}

char *get_token_next (GET_TOKEN *gt, char *delim)
{
    char *str;

    if (delim == NULL)
        delim = gt->delim;
  
    while (*gt->ptr != '\0' && strchr (delim, *gt->ptr) != NULL)
        gt->ptr++;
    
    if (*gt->ptr == '\0')
        return NULL;

    str = gt->ptr;

    while (*gt->ptr != '\0' && strchr (delim, *gt->ptr) == NULL)
        gt->ptr++;

    if (*gt->ptr != '\0')
    {
        *gt->ptr = '\0';
        gt->ptr++;
    }

    return str;
}

/*-----------------------------*/

char string[] = ";aa;;bb;cc;", *p;
GET_TOKEN gt;

get_token_init (&gt, string, ";");

while ((p = get_token_next (&gt, NULL)) != NULL)
    printf ("[%s]\n", p);
l'output è uguale a quello sopra.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 13:36   #10
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
grazie, adesso provo...
cmq x il momento nn sto lavorando con stringhe, terrò presente x il futuro.
ciao
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 14:22   #11
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Quote:
Originariamente inviato da andbin
Beh ... comunque la strtok() non è "oro colato". Come già detto non è thread-safe (perché usa delle sue variabili globali)...
beh... ma mi pare di aver capito che la strtok_r risolve tutti i problemi, no?
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 16:08   #12
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Gandalf_BD
beh... ma mi pare di aver capito che la strtok_r risolve tutti i problemi, no?
Beh ... non proprio!

Innanzitutto strtok_r è disponibile solo su Linux. Su Windows (almeno sul VC++) non esiste ma esiste solo la strtok, che però è (fortunatamente) thread-safe.

Ma lasciamo perdere un momento la questione del thread-safe o non thread-safe. Il problema principale della strtok è che usa delle sue variabili globali e questo impedisce il suo utilizzo in modo "parallelo" anche all'interno dello stesso thread!

Esempio di codice:
Codice:
#include <stdio.h>
#include <string.h>

void print_subtokens (char *str)
{
    char *p, *s;

    s = str;

    /* !!!!!!!! BANG, CREA CASINI !!!!!!!! */
    while ((p = strtok (s, "-")) != NULL)
    {
        printf ("[%s]\n", p);
        s = NULL;
    }
}

int main ()
{
    char string[] = ";a-a;;b-b;c-c;", *p, *s;
    s = string;

    while ((p = strtok (s, ";")) != NULL)
    {
        print_subtokens (p);
        s = NULL;
    }

    return 0;
}
Hai capito cosa succede? Sei stai usando la strtok (in un loop come sopra) e nel frattempo richiami una qualunque altra funzione che usa a sua volta la strtok .... bang!!! Ti pianta dei casini proprio perché la strtok usa quelle sue variabili globali. L'output di questo codice non è sicuramente quello che ci si aspetterebbe!

Con le funzioni get_token_xxx che ho buttato giù io, questo non succederebbe, perché lo stato della funzione è memorizzato in una struttura GET_TOKEN e ne puoi avere quante ne vuoi!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)

Ultima modifica di andbin : 05-01-2006 alle 16:15.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 16:42   #13
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
scusate ma o ho capito male il problema o non capisco proprio l'utilizzo di strtok ... se lui sa com'è la struttura

quindi

struct ciao_mamma {
char nome_categoria [n];
char nome_categoria_padre[n];
int num;
...
};

basta che usi un fread e sei a posto

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 16:59   #14
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Fenomeno85
scusate ma o ho capito male il problema o non capisco proprio l'utilizzo di strtok ... se lui sa com'è la struttura

quindi

struct ciao_mamma {
char nome_categoria [n];
char nome_categoria_padre[n];
int num;
...
};

basta che usi un fread e sei a posto
Dal post iniziale di leadergl io, sinceramente, ho capito che lui ha un file di testo con N campi su ogni riga. In questo caso la fread è inutile.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 20:46   #15
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Quote:
Originariamente inviato da andbin
Hai capito cosa succede? Sei stai usando la strtok (in un loop come sopra) e nel frattempo richiami una qualunque altra funzione che usa a sua volta la strtok .... bang!!! Ti pianta dei casini proprio perché la strtok usa quelle sue variabili globali. L'output di questo codice non è sicuramente quello che ci si aspetterebbe!
penso di aver capito...
... però se nella tua funzione print_subtokens() avessi usato due char con nomi diversi da quelli del main(), si sarebbe presentato lo stesso problema?
se si... non ho capito
se no... grazie mille per tutte le delucidazioni!
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 21:28   #16
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Gandalf_BD
penso di aver capito...
... però se nella tua funzione print_subtokens() avessi usato due char con nomi diversi da quelli del main(), si sarebbe presentato lo stesso problema?
Si, certamente!! I nomi delle variabili non centrano niente. Le variabili p ed s, pur avendo lo stesso nome nelle due funzioni, sono variabili locali di ognuna funzione ed hanno indirizzi diversi.

Il problema. purtroppo, è interno alla strtok. La prima volta che chiami la strtok, gli passi nel primo parametro il puntatore all'inizio della stringa da esaminare. Nelle successive chiamate alla strtok, passi un NULL nel primo parametro e la strtok continua ad operare sulla stessa stringa perché si è tenuta "da qualche parte" delle informazioni sulla stringa, in pratica si "ricorda", per dirlo in modo semplice, dove è arrivata. Ma questa informazione è globale, quindi ce n'è soltanto una (per il singolo thread).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2006, 22:36   #17
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Quote:
Originariamente inviato da andbin
Si, certamente!! I nomi delle variabili non centrano niente. Le variabili p ed s, pur avendo lo stesso nome nelle due funzioni, sono variabili locali di ognuna funzione ed hanno indirizzi diversi.

Il problema. purtroppo, è interno alla strtok. La prima volta che chiami la strtok, gli passi nel primo parametro il puntatore all'inizio della stringa da esaminare. Nelle successive chiamate alla strtok, passi un NULL nel primo parametro e la strtok continua ad operare sulla stessa stringa perché si è tenuta "da qualche parte" delle informazioni sulla stringa, in pratica si "ricorda", per dirlo in modo semplice, dove è arrivata. Ma questa informazione è globale, quindi ce n'è soltanto una (per il singolo thread).
ok... ora ho capito!
grazie
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2006, 11:07   #18
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Raga vi spiego bene il mio problema...devo scrivere un programma che sia in grado di generare un albero di tassonomia...mi spiego meglio, anzi vi do proprio il testo del mio esercizio così ci capiamo perfettamene!

Il mio problema è che devo fare questo esercizio in C e conosco ancora molto poco questo linguaggio quindi sto incontrando difficoltà....ed una di queste è la lettura da file...

Dovrei fare una prima bozza entro l'8 di questo mese (ed ho scoperto solo l'altro giorno di sto esercizio da fare...) quindi chiedo il vostro immenso aiuto con dei suggerimenti, su come proseguire...

Io avevo pensato ad un "Alberto Radicato" per contenere l'albero della tassonomia (di qui avete un immagine nel file allegato) e questo albero avrà una struttura del tipo:
Codice:
--------------------------
|          PADRE         |
--------------------------
|   FIGLIO   | FRATELLO  |
--------------------------
Dove figlio e fratello sono due puntatori ad una struttura dello stesso tipo...

Codice:
Struttura AlberoRadicato
        Padre (stringa)
        Figlio  (puntatore a "Struttura AlberoRadicato")
        Fratello (puntatore a "Struttura AlberoRadicato")
Fine Struttura
Ecco un'immagine:


credo che sia la struttura ad albero migliore per rappresentare il mio problema in quanto non pone limiti iniziali sul numero dei vari sotto-nodi, ovviamente per indicare che non ci sono più fratelli di un determinato nodo basta usare un carattere speciale identificato come terminatore...

che ne pensate? è ok?
Allegati
File Type: zip Tassonomia.zip (6.4 KB, 4 visite)
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC

Ultima modifica di leadergl : 06-01-2006 alle 11:09.
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2006, 12:16   #19
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da leadergl
Raga vi spiego bene il mio problema...devo scrivere un programma che sia in grado di generare un albero di tassonomia...mi spiego meglio, anzi vi do proprio il testo del mio esercizio così ci capiamo perfettamene!
Ciao, ho appena letto il documento allegato. Interessante! (almeno per me che non ho mai fatto/studiato queste cose ).
Voglio iniziare anche io a scrivere del codice per 'sta cosa, giusto per cultura personale!

Partiamo dal file che deve contenere questa Tassonomia. L'idea (come anche spiegato nel documento) di mettere in ogni riga:
Codice:
<nomeCategoria> <nomeCategoriaPadre> <numeroProprietàSpecificheDellaCategoria> <Proprieta_1> … <Proprieta_N>
non mi sembra molto valida. Il problema (un difetto più che altro) è che avresti, ad esempio, il nome della categoria padre ripetuto più volte per ogni figlio.
La struttura della Tassonomia è sostanzialmente una struttura ad albero. In questi casi un bel file XML sarebbe l'ottimale ma forse sarebbe troppo complessa la sua gestione (dovresti usare un parser "C" per file XML, come la libxml, per esempio).
Una cosa un po' più "leggera" rispetto ad XML per strutturare una gerarchia di elementi potrebbe essere (è una ipotesi) un file di testo organizzato così:
Codice:
[Veicoli da trasporto]
{
  @proprietà1
  @proprietà2
  [Per Mare]
  {
    @proprietà1
    @proprietà2
  }
  [Per Terra]
  {
    @proprietà1
    [Su Rotaia]
    {
      @proprietà1
    }
    [Su Ruota]
    {
      @proprietà1
    }
  }
  [Per Aria]
  {
    @proprietà1
  }
}
Cosa ne pensi?
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)

Ultima modifica di andbin : 06-01-2006 alle 14:27.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2006, 13:23   #20
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Quote:
Originariamente inviato da andbin
Una cosa un po' più "leggera" rispetto ad XML per strutturare una gerarchia di elementi potrebbe essere (è una ipotesi) un file di testo organizzato così:
Codice:
[Veicoli da trasporto]
{
  @proprietà1=...
  @proprietà2=...
  [Per Mare]
  {
    @proprietà1=...
    @proprietà2=...
  }
  [Per Terra]
  {
    @proprietà1=...
    [Su Rotaia]
    {
      @proprietà1=...
    }
    [Su Ruota]
    {
      @proprietà1=...
    }
  }
  [Per Aria]
  {
    @proprietà1=...
  }
}
Cosa ne pensi?
Mi piace questa struttura, è interessante ed utile anche perchè come scritto nel documento devo puntare ad occupare meno spazio possibile col file...l'unico fatto è che mi diventa contorto leggerlo col C rispetto al modello precedente, ripeto che non sono molto pratico di C avendo sempre fatto TurboPascal e VisualBasic....

cmq mi piace l'idea...ma mi servirebbero info su come analizzare la struttura di questo file tramite il C

P.S. mi fa piacere che ti stai interessando, anche a me il tipo di esercizio piace abbastanza, è intrigante...ricordo che devo dare una bozza entro l'8 di questo mese e l'esercizio completo entro il 15 in ogni caso grazie mille...io sarò collegato 24H su 24H (beh tranne stanotte che dormo )
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
Blue Origin potrebbe realizzare il lande...
Artemis II: il prossimo Wet Dress Rehear...
Il nuovo HONOR 600 sta arrivando e avr&a...
La crisi delle memorie non coinvolger&ag...
Windows domina su Steam, ma molti utenti...
Per non incorrere in nuovi aumenti delle...
Cubi Z AI 8M visto da vicino, un mini-PC...
Datacenter nello Spazio, affascinante ma...
Social e minori, Butti apre al dibattito...
Tutte le offerte Amazon del weekend, sol...
Amazon spinge sull'usato garantito: 10% ...
TikTok rischia una maxi-multa in Europa:...
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: 01:26.


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