Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-05-2004, 17:09   #41
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
Codice:
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

struct iscrizione
{
 char nickname[10];
 char email[50];
 char password[10];
 char ripeatpassword[10];
};

struct accesso
{
 char nickname[10];
 char password[10];
};

struct nuovo_admin
{
 char nome[50];
 char cognome[50];
 char anni[5];
 char nickname[10];
 char password[10];
 char ripetipassword[10];
 char email[50];
};

typedef struct iscrizione registrazione;
typedef struct accesso login;
typedef struct nuovo_admin new_admin;

//Prototipi

void new_account(registrazione, FILE *);
void log_in(FILE *,login,registrazione);
void pass_persa(FILE *,registrazione);
void lettura(FILE *,registrazione);
void log_in_admin(FILE *,nuovo_admin);
void menu_user(registrazione);
void menu_admin();
void profilo(registrazione);
void mod_profilo(registrazione);
void member_list(registrazione);

int main(int argc, char* argv[])
{
 FILE *fp,*fp1,*fp2;
 registrazione reg;
 login log;
 new_admin admin;
 int scelta,control=0;
 char  c,nome[20],cognome[20],anni[5],nickname[
 10],password[10],ripetipassword[10],emai
l[50];
 fp1=fopen("admin.dat","rt");
 if(fp1!=NULL)
  { 
   do
    {
     printf("\n                              Sistem Login Tournament");
     printf("\n                          1)Crea Nuovo Account");
     printf("\n                          2)Login");
     printf("\n                          3)Password Smarrita");
     printf("\n                          4)Lettura");
     printf("\n                          5)Login Admin");
     printf("\n                          0)Uscita");
     printf("\n                                     Scelta: ");
     scanf ("%d",&scelta);
     switch(scelta)
	  {
       case 1: new_account(reg,fp);    break;
	   case 2: log_in(fp,log,reg);     break;
	   case 3: pass_persa(fp,reg);     break;
	   case 4: lettura(fp,reg);        break;
	   case 5: log_in_admin(fp,admin); break;
	   case 0: break;
       default: printf("\nErrore: Opzione Inesistente!!");
	  }
	} while(scelta!=0);
  }
 else
  {
   fp2=fopen("admin.dat","wt");
   printf("\n                                 ATTENZIONE!!");
   printf("\n  Non esiste ancora un amministratore di sistema, lo si vuole creare? (s/n): ");
   scanf ("%c",&c);
   if((c=='s')||(c=='S'))
    {
     system("cls");
	 printf("\n                       Creazione Nuovo Amministratore");
	 printf("\nNome: ");  
	 fflush(stdin);
	 gets  (nome);
	 printf("\nCognome: ");
	 fflush(stdin);
	 gets  (cognome);
	 printf("\nEta': ");
	 fflush(stdin);
	 gets  (anni);
	 printf("\nNickname: ");
	 fflush(stdin);
	 gets  (nickname);
	 printf("\nPassword: ");
	 fflush(stdin);
	 gets  (password);
	 printf("\nRipeti Password: ");
	 fflush(stdin);
	 gets  (ripetipassword);
	 printf("\nE-Mail: ");
	 fflush(stdin);
	 gets  (email);
	 strcpy(admin.nome, nome);
	 strcpy(admin.cognome, cognome);
	 strcpy(admin.anni, anni);
	 strcpy(admin.nickname, nickname);
	 strcpy(admin.password, password);
	 strcpy(admin.ripetipassword, ripetipassword);
	 strcpy(admin.email, email);
	 control=fwrite(&admin,sizeof(admin),1,fp2);
     if(control==0)
	  {
	   printf("\nErrore nella creazione dell'amministratore!");
	   printf("\nPremere un tasto per uscire dal programma...");
	   system("del admin.dat");
	   getch();
       exit(EXIT_SUCCESS);
	  }
	 else
	  {
	   printf("\nCreazione Amministratore avvenuta con successo!");
	   printf("\nPremere un tasto per chiudere il programma...");
	   fclose(fp2);
	   getch();
	   exit(EXIT_SUCCESS);
	  }
    }
  else
	{
	 printf("\nQuesto software necessita di almeno un Amministratore!");
     printf("\nPremere un tasto per chiudere il programma...");
	 fclose(fp2);
	 system("del admin.dat");
	 getch();
	 exit(EXIT_SUCCESS);
	}
  }
 return 0;
}

//Funzioni

void new_account(registrazione reg, FILE *fp)
{
 int controllo,n;
 char  nickname[10],password[10],ripeatpassword
[10],email[10];
 printf("\n                              Creazione Nuovo Account");
 printf("\nNickname (MAX 10): ");
 fflush(stdin);
 gets  (nickname);
 printf("\nPassword: ");
 fflush(stdin);
 gets  (password);
 printf("\nRipeti Password: ");
 fflush(stdin);
 gets  (ripeatpassword);
 printf("\nE-Mail: ");
 fflush(stdin);
 gets  (email);
 controllo=1;
 fp=fopen("iscrizione.dat","a+t");
   if(fp!=NULL)
    {
     while(controllo && !feof(fp))
	  {
	   n=fread(®,sizeof(reg),1,fp);
	   if(n>0)
        controllo=strcmp(reg.nickname, nickname);
	  }
	  if(controllo!=0)
	   {
		strcpy(reg.nickname, nickname);
		strcpy(reg.password, password);
		strcpy(reg.email, email);
		fwrite(®,sizeof(reg),1,fp);
		printf("\nCreazione nuovo account riuscita");
		printf("\nPremere invio per continuare...");
		fclose(fp);
		getch();
		system("cls");
	   }
      else
	   {
	    printf("\nNickname esistente, scegline un'altro");
        printf("\nPremere invio per continuare...");
		fclose(fp);
		getch();
		system("cls");
	   }
	}
	else
	  printf("\nErrore di scrittura, prova a rieseguire l'operazione");
  fclose(fp);
}

void log_in(FILE *fp,login log,registrazione reg)
{
 int controllo=1,n;
 char nickname[10],password[10];
 printf("\n      Inserisci i dati rispettando le lettere maiscuole e minuscole");
 fp=fopen("iscrizione.dat","rt");
 if(fp!=NULL)
  {
   printf("\nNickname: ");
   fflush(stdin);
   gets  (nickname);
   printf("Password: ");
   fflush(stdin);
   gets  (password);
   controllo = 1;
   while(controllo && !feof(fp))
    { 
     n=fread(®,sizeof(reg),1,fp);
     if(n>0) 
       controllo = strcmp(reg.password, password)||strcmp(reg.nickname, nickname);
    }
   if(!controllo)  
    {
	 printf("\nSistema Di Login Eseguito Correttamente"); 
	 printf("\nPremere invio per continuare...");
	 fclose(fp);
	 getch();
     system("cls");
     menu_user(reg); 
    }
   else 
    {
	 printf("\nNickname o Password Errati!!"); 
     printf("\nPremere invio per continuare...");
	 fclose(fp);
	 getch();
	 system("cls");
    }
  }
  else
   {
	printf("\nErrore di Lettura, premere un tasto per continuare...");
	fclose(fp);
	getch();
	system("cls");
   }
}  


void pass_persa(FILE *fp,registrazione reg)
{
 char nickname[10],email[50];
 int controllo=1,n;
 printf("\n      Inserisci i dati rispettando le lettere maiscuole e minuscole");
 fp=fopen("iscrizione.dat","rt");
 if(fp!=NULL)
  {
   printf("\nNickname: ");
   fflush(stdin);
   gets (nickname);
   printf("\nE-Mail: ");
   fflush(stdin);
   gets (email);
   while(controllo && !feof(fp))
    {
     n=fread(®,sizeof(reg),1,fp);
	 if(n>0)
	   controllo=strcmp(reg.nickname, nickname)||strcmp(reg.email, email);
    }
   if(controllo==0)
    {
	 printf("\nLa tua password e': %s", reg.password);
	 printf("\nPremere un tasto per continuare...");
	 fclose(fp);
	 getch();
	 system("cls");
    }
   else
    {
     printf("\nNickname o E-mail errati!!");
	 printf("\nPremi invio per continuare...");
	 fclose(fp);
	 getch();
	 system("cls");
	}
  }
 else
  {
   printf("\nErrore di lettura, premere un tasto per tornare al menù principale..");
   fclose(fp);
   getch();
   system("cls");
  }
}

void log_in_admin(FILE *fp,new_admin admin)
{
 int controllo=1,n;
 char nickname[10],password[10];
 printf("\n      Inserisci i dati rispettando le lettere maiscuole e minuscole");
 fp=fopen("admin.dat","a+t");
 if(fp!=NULL)
  {
   printf("\n                         Area Di Login Per Amministratori");
   printf("\nNickname: ");
   fflush(stdin);
   gets  (nickname);
   printf("\nPassword: ");
   fflush(stdin);
   gets  (password);
   while(controllo && !feof(fp))
    {
     n=fread(&admin,sizeof(admin),1,fp);
	 if(n>0)
	  controllo=strcmp(admin.password, password)||strcmp(admin.nickname, nickname);
    }
   if(controllo==0)
    {
	 printf("\nSistema Di Login Eseguito Correttamente");
     printf("\nPremere un tasto per continuare...");
	 fclose(fp);
	 getch();
	 system("cls");
    }
   else
    {
	 printf("\nNickname o Password Errati");
	 printf("\nPremere un tasto per continuare...");
	 fclose(fp);
	 getch();
	 system("cls");
    }
  }
}

void menu_user(registrazione reg)
{
 int scelta;
 do
  {
   printf("\n                                       Spazio Utenti");
   printf("\n                               1)Tuo Profilo");
   printf("\n                               2)Modifica Profilo");
   printf("\n                               3)Lista Membri");
   printf("\n                               4)Logout");
   printf("\n                               0)Uscita");
   printf("\n                                            Scelta: ");
   scanf ("%d",&scelta);
   switch(scelta)
    {
     case 1: profilo(reg);      break;
	 case 2: mod_profilo(reg);  break;
	 case 3: member_list(reg);  break;
	 case 4: break;
	 case 0: exit(EXIT_SUCCESS);break;
     default: printf("\nErrore: Opzione Inesistente");
	}
  }
  while(scelta!=0);
}

void lettura(FILE *fp,registrazione reg)
{
 int n;
 fp=fopen("iscrizione.dat","rt");
 if(fp!=NULL)
  {
   while(!feof(fp))
    {
     n=fread(®,sizeof(reg),1,fp);
     if(n>0)
	  {
       printf("\nNickname: %s", reg.nickname);
	   printf("\nPassword: %s", reg.password);
	   printf("\nE-Mail:   %s", reg.email);
	  }
    }
  }
  else
	printf("\nErrore di lettura");
}

Mi da questi 3 errori:

unresolved external symbol "void __cdecl member_list(struct iscrizione)" (?member_list@@YAXUiscrizione@@@Z)
unresolved external symbol "void __cdecl mod_profilo(struct iscrizione)" (?mod_profilo@@YAXUiscrizione@@@Z)
unresolved external symbol "void __cdecl profilo(struct iscrizione)" (?profilo@@YAXUiscrizione@@@Z)

Dove sbaglio?
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2004, 18:05   #42
fpucci
Senior Member
 
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
Quote:
Innanzitutto grazie per la risposta
Innanzitutto scusa per le tante imprecisioni, ma il fatto è che ho scritto di fretta e a memoria.

Quote:
Il mio primo dubbio, perchè usare open e non fopen, in generale perchè usi le funzioni non precedute dalla f?

Questo
fread(miorec,sizeof(myrecordlettura),10,f)
è uguale a
read (f, (char *) &miorec < 0) ?
Ma tu non hai usato la fread, hai usato la fprintf(), che non va bene al caso tuo.
La fread() invece va bene.

In genere preferisco quelle senza la "f" in quanto l'I/O con quest'ultime è bufferizzato; preferisco l'I/O sincronizzato.

Quote:
Non capisco questo ciclo while scritto così:
while (i < NUMREC && )
perchè l'and non è seguito da alcuna espressione?
Hai di nuovo ragione. Puoi togliere quel refuso di "&&" (inizialmente avevo posto un AND e poi l'ho tolto).

Quote:
Un'altra cosa: quando nel codice dici <</* sovrascrivo il mio array modificato */>>, questo è necessario?
Se abbiamo aperto il file in "r+", alla chiusura,il file, non dovrebbe essere scritto e salvato?
No!. se non esegui la fwrite (o la write) i dati nel file rimangono quelli di prima perché tu la modifica la stai facendo con i dati dell'array in memoria .
E' per questo che dopo aver eseguito la modifica al tuo array, se vuoi che tali modifiche siano permanenti, devi salvarle nel file con fwrite (o write).

Quote:
Se abbiamo aperto il file in "r+", alla chiusura,il file, non dovrebbe essere scritto e salvato?
In questo modo tu hai specificato al S.O. che il file è aperto in lettura e scrittura. Ma se non fai la fwrite (o write) i dati sul file non saranno mai salvati!

Quote:
Non dovrebbe esser necessario usare l'indirizzo per un array, giusto?
Si, il nome dell'array è di per se un pointer all'array stesso
fpucci è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2004, 19:16   #43
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
Nessuno??
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2004, 11:15   #44
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Quote:
Originariamente inviato da fpucci
Innanzitutto scusa per le tante imprecisioni, ma il fatto è che ho scritto di fretta e a memoria.


Ma tu non hai usato la fread, hai usato la fprintf(), che non va bene al caso tuo.
La fread() invece va bene.

In genere preferisco quelle senza la "f" in quanto l'I/O con quest'ultime è bufferizzato; preferisco l'I/O sincronizzato.


Hai di nuovo ragione. Puoi togliere quel refuso di "&&" (inizialmente avevo posto un AND e poi l'ho tolto).


No!. se non esegui la fwrite (o la write) i dati nel file rimangono quelli di prima perché tu la modifica la stai facendo con i dati dell'array in memoria .
E' per questo che dopo aver eseguito la modifica al tuo array, se vuoi che tali modifiche siano permanenti, devi salvarle nel file con fwrite (o write).


In questo modo tu hai specificato al S.O. che il file è aperto in lettura e scrittura. Ma se non fai la fwrite (o write) i dati sul file non saranno mai salvati!


Si, il nome dell'array è di per se un pointer all'array stesso
Grazie ancora per le precisazioni, mi ci metto sotto con l'esercizio e vediamo se posso raggiungere una soluzione!!
i
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2004, 20:29   #45
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
Codice:
void profilo(registrazione reg, char nickname[])
{
FILE *fp;
int control=1,n;
fp=fopen("iscrizione.dat","rt");
if(fp!=NULL)
 {
  while (control==1 && !feof(fp))
   {
 n=fread(&reg,sizeof(reg),1,fp);
    if(n>0)
  control=strcmp(reg.nickname, nickname);
   }
   if(control==0)
{
    printf("\n                               Ecco i tuoi dati\n");
    printf("\nNickname: %s", reg.nickname);
    printf("\nPassword: %s", reg.password);
    printf("\nE-Mail: %s", reg.email);
    printf("\nPremere un tasto per continuare...");
    getch();
    fclose(fp);
 system("cls");
}
  else
  {
   printf("\nDati Inesistenti, premere un tasto per continuare...");
   getch();
   fclose(fp);
system("cls");
  }
 }
 else
  {
printf("\nErrore di lettura, prova a rieseguire l'operazione");
printf("\nPremere un tasto per continuare...");
fclose(fp);
getch();
system("cls");
  }
}

void mod_profilo(registrazione reg, char nickname[])
{
FILE *fp;
int control=1,n,c,pos=0;
char password[10],ripetipassword[10],email[50];
printf("\n                                  ATTENZIONE!!");
printf("\n          Il tuo Nickname rimmarrà invariato, non puoi modificarlo!\n");
printf("\nNuova Password: ");
fflush(stdin);
gets  (password);
printf("\nRipeti Password: ");
fflush(stdin);
gets  (ripetipassword);
printf("\nNuova E-Mail: ");
fflush(stdin);
gets  (email);
fp=fopen("iscrizione.dat","r+t");
if(fp!=NULL)
 {
  while(control==1 && !feof(fp))
   {
 n=fread(&reg,sizeof(reg),1,fp);
 if(n>0)
  control=strcmp(reg.nickname, nickname);
 }
   if(control==0)
{
 pos=(ftell(fp))-(sizeof(reg));
 fclose(fp);
 strcpy(reg.password, password);
 strcpy(reg.ripeatpassword, ripetipassword);
 strcpy(reg.email, email);
 fp=fopen("iscrizione.dat","r+");
 fseek(fp,pos,0);
 c=fwrite(&reg,sizeof(reg),1,fp);
 if(c>0)
  {
   printf("\nOperazione eseguita con successo!");
   fclose(fp);
   profilo(reg,nickname);
   system("cls");
  }
 else
  {
   printf("\nSi e' vericato un errore nel salvare i dati.");
   printf("\nContatta l'amministratore di sistema");
   printf("\nPremere un tasto per continuare...");
   getch();
   fclose(fp);
   system("cls");
  }
}
else
{
 printf("\nErrore Interno: Il tuo nickname non esiste!!");
 printf("\nContatta l'amministratore di sistema");
 printf("\nPremere un tasto per continuare...");
 getch();
 fclose(fp);
 system("cls");
}
 }
else
 {
  printf("\nErrore Interno: Non è stato trovato il file di gestione");
  printf("\nPremere un tasto per continuare...");
  getch();
  system("cls");
 }
}
Ho un problema con queste 2 funzioni, praticamente funzionano correttamente se nel file c'è solo un utente registrato, ma se c'è ne più di uno non funzionano correttamente, la prima funzione non mi vede il profilo se mi loggo con il secondo user, e successivamente se tento di modificarlo mi da praticamente lo stesso errore, non trova i dati.
Come mai?

Ultima modifica di Gogeta ss4 : 09-05-2004 alle 22:18.
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2004, 22:56   #46
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
fp=fopen("iscrizione.dat","r+t");

fp=fopen("iscrizione.dat","r+");

Decidi se aprirlo in binario o in testo
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2004, 14:26   #47
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
avevo dimenticato un fclose(fp)
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2004, 15:54   #48
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
gokan ho appena finito una funzione di modifica dei campi (per quanto riguarda il mio programma), dacci un occhiata magari riesci ad aggiustare il tuo..

Codice:
void mod_profilo(registrazione reg, char nickname[])
{
 FILE *fp;
 int control=1,n,c,pos=0;
 char password[10],ripetipassword[10],email[50];
 printf("\n                                  ATTENZIONE!!");
 printf("\n          Il tuo Nickname rimmarrà invariato, non puoi modificarlo!\n");
 printf("\nNuova Password: ");
 fflush(stdin);
 gets  (password);
 printf("\nRipeti Password: ");
 fflush(stdin);
 gets  (ripetipassword);
 printf("\nNuova E-Mail: ");
 fflush(stdin);
 gets  (email);
 fp=fopen("iscrizione.dat","r+t");
 if(fp!=NULL)
  {
   while(control && !feof(fp))
    {
	 n=fread(&reg,sizeof(reg),1,fp);
	 if(n>0)
	  control=strcmp(reg.nickname, nickname);
	 }
    if(control==0)
	{
	 pos=(ftell(fp))-(sizeof(reg));
	 fclose(fp);
	 strcpy(reg.password, password);
	 strcpy(reg.ripeatpassword, ripetipassword);
	 strcpy(reg.email, email);
	 fp=fopen("iscrizione.dat","r+");
	 fseek(fp,pos,0);
	 c=fwrite(&reg,sizeof(reg),1,fp);
	 if(c>0)
	  {
	   printf("\nOperazione eseguita con successo!");
	   fclose(fp);
	   profilo(reg,nickname);
	   system("cls");
	  }
	 else
	  {
	   printf("\nSi e' vericato un errore nel salvare i dati.");
	   printf("\nContatta l'amministratore di sistema");
	   printf("\nPremere un tasto per continuare...");
	   getch();
	   fclose(fp);
	   system("cls");
	  }
	}
	else
	{
	 printf("\nErrore Interno: Il tuo nickname non esiste!!");
	 printf("\nContatta l'amministratore di sistema");
	 printf("\nPremere un tasto per continuare...");
	 getch();
	 fclose(fp);
	 system("cls");
	}
  }
 else
  {
   printf("\nErrore Interno: Non è stato trovato il file di gestione");
   printf("\nPremere un tasto per continuare...");
   getch();
   system("cls");
  }
}
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2004, 18:15   #49
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Grazie per l'interessamente, effettivamente mi potrebbe servire..
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2004, 23:11   #50
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
Finalmente stasera ho finito la parte del programma che riguarda l'utente(10 pagine di codice )
Adesso devo fare quella dell'admin!
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 17:55   #51
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
Raga come faccio a eliminare una struttura da file?
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 18:09   #52
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
Crei un altro file con tutte le altre strutture meno qella che vuoi eliminare...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 18:10   #53
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
ok grazie.
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 18:13   #54
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
Dimenticavo, io uso visual c++ e quando faccio il debug mi fa vedere la freccetta di fianco a ogni istruzione, quando però richiama una funzione, la freccia si ferma alla chiamata di funzione e non va dove c'è la definizione della funzione.
Non c'è un modo per farla andare li, perchè se no se c'è qualche errore all'interno delle funzioni non riesco a vederlo
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 18:16   #55
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
Premi F11 per entrare dentro ad un funzione... F10 per non entrarci...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 18:48   #56
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
Grazie!!
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 19:08   #57
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Quote:
Originariamente inviato da Gogeta ss4
Dimenticavo, io uso visual c++ e quando faccio il debug mi fa vedere la freccetta di fianco a ogni istruzione, quando però richiama una funzione, la freccia si ferma alla chiamata di funzione e non va dove c'è la definizione della funzione.
Non c'è un modo per farla andare li, perchè se no se c'è qualche errore all'interno delle funzioni non riesco a vederlo
Ciao Gogeta, vorrei imparare ad usare discretamente il debugger di Visual C ed in generale con qualsiasi Ide, hai seguito qualche guida particolare per imparare ad usarlo bene?
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 19:45   #58
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
no, ti spiego brevemente.
Per iniziarlo premi F11, si avvia così il programma, poi fin quando hai istruzioni premi F10, quando dovrai inserire qualche input si blocca, a quel punto apri la finestra e inserisci l'input, dopo che lo hai inserito premi sul visual c e continui a premere F10, se trovi qualche chiamata di funzione premi F11 per entrarvi.
Tutto qui
Grazie al Debug ho risolto molti errori!.
Impara ad usarlo bene così ti rendi più facile la programmazione!
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 19:48   #59
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Lo so che il debug è uno strumento che ogni buon programmatore dovrebbe usare
Grazie per le dritte
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2004, 20:17   #60
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
C'è anche molto altro... I breakpoint (si inseriscono con F9) e sono punti in cui il programma si fermerà automaticamente... Per lanciare l'esecuzione fino al primo breakpoint basta premere F5... Riprende F5 ci si ferma di nuovo al primo breakpoint...

Poi c'è il watch... Nell'apposita finestra si potranno inserire di espressioni (questo che io sappia lo fa solo VC++) e nomi di variabili per valutarne il contenuto istruzione per istruzione...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
iPhone Air va in sconto: il nuovo iPhone...
Polaroid Now Gen 3 torna di moda: la fot...
Fallout 76: l'aggiornamento più g...
Prezzo folle per il top OLED da gaming: ...
Un nuovo processo antitrust per Apple in...
Amazon abbassa il prezzo delle AirPods 4...
Due super offerte Amazon: PC Desktop con...
Apple AirTag: il pacchetto da 4 ora a so...
La Cina senza NVIDIA: Moore Threads e Ca...
Un bel portatile potente in offerta: Ace...
Si mimetizza tra due altoparlanti, ma &e...
Clair Obscur Expedition 33: il lancio su...
Ci risiamo, la censura colpisce Roblox: ...
Gli iPhone 17 Pro perdono una funzione d...
Windows 11 non cresce e riduce la sua qu...
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: 09:49.


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