xml version="1.0">
Frammenti di codice Spiego il funzionamento di un archivio
Un'archivio è una base dati che ci permette di memorizzare informazioni riguardo, ad esempio, un gruppo di persone.
Nell' organizzazione di un archivio è molto importante l'informazione, di un record, che identifica il record stesso, in quanto univoca.
Quest' informazione è un codice numerico che chiameremo, per convenzione, pk (primary key).
Tutte le operazione sugli archivi vengono effettuate nei file dove sono salvati, permanentemente, gli archivi.
//costruttore (creazione)
tGestioneArchivio::tGestioneArchivio()
{
//CREAZIONE ED APERTURA FILE
}
ihf=open (nomeFile,O_RDWR|O_CREAT,0644);
//SE NON RIESCE AD APRIRE IL FILE RESTITUISCE -1
int pk=0;
//inserisco la chiave primaria, come prima informazione del record, nel file creato
write("archivio.dat",&pk,4);
//chiudo il file
close(ihf);
//distruttore
tGestioneArchivio::~tGestioneArchivio()
{
//CHIUSURA FILE, SE APERTO
}
if (ihf!=-1)
{
}
close(ihf);
void tGestioneArchivio :: visita ()
{
tPersona app;
}
lseek(ihf,0,SEEK_SET);
while(read(ihf,&app,sizeof(tPersona))==sizeof(tPersona));
{
}
stampaInfo(&app);
void tGestioneArchivio::stampaInfo(tPersona *app)
{
//stampa sullo schermo
}
write(1,&app,sizeof(tPersona));
bool tGestioneArchivio :: cancellazioneLogica(int pk)
{
tPersona app;
}
bool cancellato=0;
int ricerca=ricercaLineare(pk);//restituisce -1 se non trova il record
if (ricerca!=-1)
{
}
//apro il file archivio.dat per lettura e scrittura
int ihf=open("archivio.dat",O_RDWR,0644);
//vado alla posizione fisica, dopo averla calcolata
lseek(ihf,sizeof(tPersona)*ricerca+sizeof(int),SEEK_SET);
read(ihf,&app,sizeof(tPersona));
appoggio.cancellato=1;
lseek(ihf,-1l*sizeof(tPersona),SEEK_CUR);
write(ihf,&app,sizeof(tPersona));
//chiudo il file
close(ihf);
cancellato=1;
return cancellato;
indietro