Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-01-2009, 19:39   #1
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
[C] porting windows-mac

Questo di seguito è il codice di un programma da me realizzato che su windows funziona, ma su mac no.
Cosa devo aggiustare per portarlo su Mac?

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define ELEM 100 // Numero massimo di contatti
#define NCHAR 21 // Numero di caratteri per l'erray

// Definizione della struttura
typedef struct {
					char nome[NCHAR];
					char cognome[NCHAR];
					char telefono[NCHAR];
					char citta[NCHAR];
		       } account;

// Variabili globali
account rubrica[ELEM];
int num_account = 0;

// Prototipi delle funzioni
void InsContatto (char nom[], char cogn[], char tel[], char cit[]);
void ModContatto (char nom[], char cogn[]);
void Cancella (char nom[], char cogn[]);
void Visualizza (char nom[], char cogn[]);

int main()
{ //OPEN main
     int scelta; /* per inserire la scelta del menu' */
     char n[NCHAR]; /* per inserire il nome */
     char m[NCHAR]; /* per inserire il cognome */
     char c[NCHAR]; /* per inserire la citta' */
     char t[NCHAR]; /* per inserire il numero di telefono */
     for (;scelta!= 0;)
     { //OPEN for        
    	  printf ("Rubrica V 1.0\n\n");
          printf ("\t\t  INDEX\n");
          printf ("\t***************************\n");
          printf ("\t* 1 - Inserisci Contatto  *\n");
          printf ("\t* 2 - Modifica Contatto   *\n");
          printf ("\t* 3 - Cancella Contatto   *\n");
          printf ("\t* 4 - Visualizza Contatto *\n");
          printf ("\t*                         *\n");
          printf ("\t* 0 - Esci dal programma  *\n");
          printf ("\t***************************\n\n");
          printf ("Digita: ");
          scanf ("%d", &scelta);
          switch (scelta)
          { //OPEN switch
                 case 0: // Exit
                           break;
                 case 1: // Inserisci contatto 
                           printf ("\nNome: ");
                           fflush (stdin);
                           gets (n);
                           printf ("Cognome: ");
                           fflush (stdin);
                           gets (m);
                           printf ("Telefono: ");
                           fflush (stdin);
                           gets (t);
                           printf ("Citta': ");
                           fflush (stdin);
                           gets (c);
                           printf ("\n");
                           InsContatto(n,m,t,c);
                           break;
                 case 2: // Modifica Contatto
                           printf ("\nNome: ");
                           fflush (stdin);
                           gets (n);
                           printf ("Cognome: ");
                           fflush (stdin);
                           gets (m);
                           ModContatto (n,m);
                           break;
                 case 3: // Cancella
                           printf ("\nNome: ");
                           fflush (stdin);
                           gets (n);
                           printf ("Cognome: ");
                           fflush (stdin);
                           gets (m);
                           Cancella (n,m);
                           break;
                 case 4: // Visualizza
                           printf ("\nNome: ");
                           fflush (stdin);
                           gets (n);
                           printf ("Cognome: ");
                           fflush (stdin);
                           gets (m);
                           Visualizza (n,m);
                           break;
          } //CLOSED switch
    } //CLOSED for
    return 0;
} //CLOSED main

// Definizione delle funzioni
void InsContatto (char nom[], char cogn[], char tel[], char cit[])
{ //OPEN InsContatto
     int i;
     if (num_account == ELEM)
     { //OPEN if
         printf ("Hai raggiunto il limite massimo di contatti\n\n");
         return;
     } //CLOSED if
     for (i=0; i<=num_account; i++)
     { //OPEN for
         if ((strcmp (nom,rubrica[i].nome)==0) && (strcmp (cogn,rubrica[i].cognome)==0))
         { //OPEN if
            printf ("Nome e Cognome utente esistono in memoria\n\n");
            return;
         } //CLOSED if
     } //CLOSED for
     strcpy (rubrica[num_account].nome,nom);
     strcpy (rubrica[num_account].cognome,cogn);
     strcpy (rubrica[num_account].telefono,tel);
     strcpy (rubrica[num_account].citta,cit);
     printf ("\nIl contatto e' stato inserito correttamente\n\n");
     num_account++;
     return;
} //CLOSED InsContatto

void ModContatto (char nom[], char cogn[])
{ //OPEN ModContatto
     int i;
     for (i=0; i<=num_account; i++)
     { //OPEN for
         if ((strcmp (nom,rubrica[i].nome)!=0) && (strcmp (cogn,rubrica[i].cognome)!=0))
         { //OPEN if
            printf ("Il contatto non esiste\n\n");
            return;
         } //CLOSED if
         else
         { //OPEN else
             printf("Nuovo Nome: ");
             fflush (stdin);
             gets (rubrica[i].nome);
             printf("Nuovo Cognome: ");
             fflush (stdin);
             gets (rubrica[i].cognome);
             printf("Nuovo Telefono: ");
             fflush (stdin);
             gets (rubrica[i].telefono);
             printf("Nuova Citta': ");
             fflush (stdin);
             gets (rubrica[i].citta);
             return;
         } //CLOSED else
     } //CLOSED for
} //CLOSED ModContatto

void Cancella (char nom[], char cogn[])
{ //OPEN cancella
     int i;
     for (i=0; i<=num_account; i++)
     { //OPEN for
         if ((strcmp (nom,rubrica[i].nome)!=0) && (strcmp (cogn,rubrica[i].cognome)!=0))
         { //OPEN if
            printf ("Il contatto non esiste\n\n");
            return;
         } //CLOSED if
         else
         { //OPEN else
            rubrica[i].nome[0] ='\0';
            rubrica[i].cognome[0] ='\0';
            rubrica[i].telefono[0] ='\0';
            rubrica[i].citta[0] ='\0';
            printf ("\nContatto cancellato\n\n");
            num_account--;
            return;
         } //CLOSED else
     } //CLOSED for
} //CLOSED Cancella

void Visualizza (char nom[], char cogn[])
{ //OPEN Visualizza
     int i;
     for (i=0; i<=num_account; i++)
     { //OPEN for
         if ((strcmp (nom,rubrica[i].nome)==0) && (strcmp (cogn,rubrica[i].cognome)==0))
         { //OPEN if
            printf ("Il contatto scelto e': \n");
            printf ("\n%s %s\n", rubrica[i].nome, rubrica[i].cognome);
            printf ("%s\n%s\n\n", rubrica[i].telefono, rubrica[i].citta);
            return;
         } //CLOSED if
         else
         { //OPEN else
            printf ("Il contatto non esiste\n\n");
            return;
         } //CLOSED else
     } //CLOSED for
} //CLOSED Visualizza
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn
-hide- è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2009, 20:12   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Tutti i gets() sostituiscili con fgets(), tanto per cominciare. Fai conto che gets() non esista.
Poi, togli tutti i fflush(stdin), infine riprova. Se non risolve, spiegati meglio: in che senso "non funziona"?

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2009, 21:30   #3
Aut0maN
Senior Member
 
L'Avatar di Aut0maN
 
Iscritto dal: Jul 2004
Città: Vicenza
Messaggi: 3832
mi sembra di intravedere uno degli esempi citati nella guida di Fabrizio Ciacchi di html.it che stò avidamente seguendo anch'io
__________________
PSN: raiden_it || Steam: id ||
Aut0maN è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2009, 22:43   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Aut0maN Guarda i messaggi
mi sembra di intravedere uno degli esempi citati nella guida di Fabrizio Ciacchi di html.it che stò avidamente seguendo anch'io
Se usa fflush su stdin allo siamo freschi
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2009, 23:43   #5
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
Quote:
Tutti i gets() sostituiscili con fgets(), tanto per cominciare. Fai conto che gets() non esista.
Poi, togli tutti i fflush(stdin), infine riprova. Se non risolve, spiegati meglio: in che senso "non funziona"?
Non credo cambi molto, perché già una cosa simile l'avevo fatta.
Mi spiego meglio. Quando avvio il programma dal mac la prima istruzione di ogni case, cioè il printf "nome" viene saltata e compare una cosa del genere a schermo

nome: cognome:


da qui in poi funziona regolarmente, ma ormai è andato via una cosa importante del programma.
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn
-hide- è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2009, 23:54   #6
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Se usa fflush su stdin allo siamo freschi
Quello è il minimo...

Questo è l'Hello World proposto in quella "guida", non propriamente conforme allo standard ANSI C:

Codice:
#include <stdio.h>

main ()
{
  printf("Hello World!");
}
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 09:22   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da -hide- Guarda i messaggi
Non credo cambi molto, perché già una cosa simile l'avevo fatta.
Mi spiego meglio. Quando avvio il programma dal mac la prima istruzione di ogni case, cioè il printf "nome" viene saltata e compare una cosa del genere a schermo

nome: cognome:


da qui in poi funziona regolarmente, ma ormai è andato via una cosa importante del programma.
Dove fflush effettivamente serviva non ce l'ha messo Rimane un invio nello standard input. L'invio non viene prelevato dalla scanf che legge la scelta.
Inserisci sotto alla scanf e al posto di ogni fflush(stdin):

while(getchar() != '\n');

Mi dai il link a questa guida ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 10:34   #8
Aut0maN
Senior Member
 
L'Avatar di Aut0maN
 
Iscritto dal: Jul 2004
Città: Vicenza
Messaggi: 3832
Quote:
Originariamente inviato da cionci Guarda i messaggi
Dove fflush effettivamente serviva non ce l'ha messo Rimane un invio nello standard input. L'invio non viene prelevato dalla scanf che legge la scelta.
Inserisci sotto alla scanf e al posto di ogni fflush(stdin):

while(getchar() != '\n');

Mi dai il link a questa guida ?
Te lo passo io:

http://programmazione.html.it/guide/leggi/32/guida-c/

piuttosto se ne conosci una realizzata meglio me la suggeriresti?
(preferirei materiale free)
__________________
PSN: raiden_it || Steam: id ||
Aut0maN è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 10:59   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Aut0maN Guarda i messaggi
piuttosto se ne conosci una realizzata meglio me la suggeriresti?
(preferirei materiale free)
Purtroppo non ne conosco

Ci sono alcune cose abbastanza inutili in quel codice:

// Popolo la variabile daInserire
printf (" NOME > ");
scanf ("%s", nome);
strcpy(daInserire.nome, nome);
printf (" COGNOME > ");
scanf ("%s", cognome);
strcpy(daInserire.cognome, cognome);
printf (" TELEFONO > ");
scanf ("%s", telefono);
strcpy(daInserire.telefono, telefono);
printf (" EMAIL > ");
scanf ("%s", email);
strcpy(daInserire.email, email);
printf (" SITOWEB > ");
scanf ("%s", sitoweb);
strcpy(daInserire.sitoweb, sitoweb);

Che senso ha usare quelle variabili di appoggio ? Perché non leggere direttamente i membri della struttura ? Anzi, perché non scrivere direttamente le informazioni nel nodo allocato dinamicamente ?

Ultima modifica di cionci : 13-01-2009 alle 11:02.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 11:04   #10
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
Quote:
Dove fflush effettivamente serviva non ce l'ha messo Rimane un invio nello standard input. L'invio non viene prelevato dalla scanf che legge la scelta.
Inserisci sotto alla scanf e al posto di ogni fflush(stdin):

while(getchar() != '\n');
Allora ho fatto una prova.
L'istruzione scritta dopo la scanf risolve il problema del salto del printf "nome".
Inserendo la stessa funzione prima di tutti i gets si attende un invio per far partire l'istruzione e questo rende il programma un pò troppo lento. Quindi l'ho levato e funziona comunque correttamente.

Mi ero dimenticato una cosa invece. Su mac non mi fa dichiarare scelta come short int. Al momento del lancio del programma da terminale il programma parte già concluso.
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn
-hide- è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 11:11   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Diciamo che quel ciclo fa la stessa funzione di fflush(stdin).
Comunque è strano, gets non dovrebbe prelevare lo '\n' dallo stdin...l'unica funzione di input che preleva lo '\n' è fgets.
Edit: aspetta, lo devi inserire dopo gets, non prima

Sostituisci SEMPRE gets e scanf("%s", xxx) con fgets. gets non permette di controllare che il numero di caratteri inseriti sia minore della dimensione dei buffer di lettura usati.
http://www.cplusplus.com/reference/c...dio/fgets.html

Ad esempio:

char nome[50];
fgets(nome, 50, stdin);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 11:17   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Assurdo

Codice:
int scelta; /* per inserire la scelta del menu' */
[cut]
for (;scelta!= 0;)
Parte dal presupposto che scelta sia già diverso da zero. In molti compilatori le variabili automatiche vengono inzializzate nello stack proprio con il valore zero. Uno dei pochi che non lo fa è il compilatore Microsoft
E' questo il motivo per cui ti esce, mah

Inizializza scelta a 1:

int scelta = 1;

Per lo short, utilizza solo short:

short scelta = 1;

Ultima modifica di cionci : 13-01-2009 alle 11:20.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 11:27   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Cercavo il modo di contattare quelli di html.it per dirgli che la guida era inadeguata, ma non sono riuscito a sapere da dove sia possibile farlo
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 11:41   #14
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
il while dopo fgets non cambia la cosa di prima. Sempre attende l'invio. E cmq così sembra funzionare correttamente l'inserimento da input.
Lo short pure risolto ^^
Ora però quando faccio visualizza non formatta più il testo come l'ho deciso io. Va a capo per la mia istruzione e poi di nuovo a capo.
fgets magari non è compatibile con printf?!


Per HTML.it prova a contattare l'amministratore del forum.
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn
-hide- è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 11:55   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Il while lo devi usare con gets, ma non con fgets
fgets ripulisce già lo stdin (legge fino a '\n' compreso).

fgets include lo \n all'interno della stringa. E' per quello che ti stampa strano.

Scrivi una funzione:
Codice:
int readString(char *buffer, int size)
{
   fgets(buffer, size, stdin);
   if(buffer[strlen(buffer)] - 1] == '\n')
   {
       //ho '\n' in fondo alla stringa, allora lo devo rimuovere
       buffer[strlen(buffer)] - 1] = '\0';
       return 0;
   }
   //ci sono ancora caratteri in stdin
   return 1;
}
Questa funzione sopra può essere generica e permette di far gestire al chiamante il caso in cui ci siano ancora caratteri sullo stdin.
In questo programma, invece, se ci sono altri caratteri su stdin potresti tranquillamente svuotarlo:
Codice:
void readString(char *buffer, int size)
{
   fgets(buffer, size, stdin);
   if(buffer[strlen(buffer)] - 1] == '\n')
   {
       //ho '\n' in fondo alla stringa, allora lo devo rimuovere
       buffer[strlen(buffer)] - 1] = '\0';
   }
   else
   {
       while(getchar() != '\n');   
   }
}
Ovviamente restano caratteri nello stdin nel caso in cui venga inserita una stringa più grande della dimensione massima che il vettore di char può contenere.

Ultima modifica di cionci : 13-01-2009 alle 11:59.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 12:55   #16
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
Quote:
fgets include lo \n all'interno della stringa. E' per quello che ti stampa strano.
Immaginavo. Comunque questa cosa ora vedo di risolverla con gli esempi che mi hai fatto.
Invece visto che ci siamo ne chiedo un'altra. Per pulire lo schermo si usa

system ("clear"); // per unix
system ("cls"); // per windows

Ma dove le vado a mettere nel programma per farmi visualizzare sempre il meno all'uscita dal break. Mi conviene fare un ciclo in cui schiacciando un tasto si pulisce?
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn
-hide- è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 16:11   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da -hide- Guarda i messaggi
Immaginavo. Comunque questa cosa ora vedo di risolverla con gli esempi che mi hai fatto.
Non è un esempio, è proprio la funzione che devi inserire nel codice.
Inserisci

readString(nome, NCHAR);

dove nel codice iniziale c'è gets
Quote:
Originariamente inviato da -hide- Guarda i messaggi
Invece visto che ci siamo ne chiedo un'altra. Per pulire lo schermo si usa

system ("clear"); // per unix
system ("cls"); // per windows

Ma dove le vado a mettere nel programma per farmi visualizzare sempre il meno all'uscita dal break. Mi conviene fare un ciclo in cui schiacciando un tasto si pulisce?
Spiegati meglio...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 16:15   #18
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
Ho semplicemente sbagliato a scrivere.
Vorrei visualizzare sempre solo il menù all'uscita dei vari case, quindi dopo il break intendendoci. Cioè si dovrebbe pulire lo schermo e rimanere sempre come prima cosa il menù. Le istruzioni per pulire lo schermo che ho trovato sono quelle, ma non riesco a cogliere la giusta posizione per ottenere ciò che io desidero.

Per le funzioni al più presto faccio
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn
-hide- è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 16:19   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Alla fine dello switch, prima della parentesi chiusa del for
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 19:14   #20
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
O all'inizio, appena prima di stampare il menù.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Blue Origin annuncia un aerofreno ripieg...
Blue Origin annuncia una nuova versione ...
LG UltraFine evo 6K: il primo monitor al...
DJI cambia direzione: investe in Elegoo ...
Black Friday Narwal 2025: risparmi da ca...
Phishing evoluto contro Apple ID: caso f...
Prestazioni in discesa nei giochi? NVIDI...
Addio ai banner dei cookie? L'UE spinge ...
Le offerte Black Friday per gli smartpho...
Il controllo qualità degli iPhone...
Qualcomm Snapdragon X Elite vola con il ...
A2RL Season 2: storia, innovazione e sor...
Core Ultra Series 3: Intel conferma l'ev...
Black Friday Amazon: la GeForce RTX 5070...
EcoFlow, il Black Friday porta grande ri...
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: 21:35.


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