1 / 13

File ad accesso casuale o random

File ad accesso casuale o random. La principale differenza tra i file sequenziali e i file ad accesso casuale è che in un file ad accesso casuale è possibile leggere e scrivere i dati in qualsiasi ordine.

salaam
Download Presentation

File ad accesso casuale o random

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. File ad accesso casuale o random • La principale differenza tra i file sequenziali e i file ad accesso casuale è che in un file ad accesso casuale è possibile leggere e scrivere i dati in qualsiasi ordine. • Con i file sequenziali è sempre necessario partire dall’inizio del file e procedere in ordine con la scansione attraverso il file.

  2. I file Random offrono maggiore velocità e la capacità di accedere ai dati in base al numero di record . Con questa organizzazione ogni record viene registrato ed identificato in base ad un numero progressivo di record. Ogni record pertanto può essere letto o scritto senza accedere ai record precedenti. I record all’interno dell’archivio sono di lunghezza fissa

  3. Operazioni sui file • Le operazioni che possiano fare sono : • inserimento • lettura • modifica • cancellazione : • logica • fisica

  4. Dichiarazione del struttura dati record • La dichiarazione del record avviene come per i file sequenziali a livello di modulo : • type merci • codice as string *5 • prodotto as string * 20 • prezzoun as currency • quantità as integer • end type • public prodotti as merci • definiamo una variabile col nome prodotti che prenderà il tipo della struttura record di nome merci.

  5. Funzioni • Per la gestione dei file random è necessario avvalersi di alcune funzioni predefinite del V.B. : • len : restituisce il numero di caratteri presenti in una stringa o nel nostro caso in un record es : lr = len(prodotti) • freefile : restituisce il primo numero di file disponibile da utilizzare con la open. Questa funzione si utilizza quando si devono gestire più archivi

  6. Lof (length of file) : restituisce la dimensione in byte del file aperto con la open . Dividendo la lunghezza totale in byte del file per la lunghezza del record otteniamo il numero di record registrati in archivio ( la divisione si fa con l’operatore \ di divisione fra interi ) • seek : utilizzata quando è necessario stabilire la posizione del puntatore all’interno del file, la funzione restituisce la posizione del record successivo nel file. La sintassi è la seguente : • seek(numerofile) oppure posizione = seek(1)

  7. Apertura di un file • Un file random deve essere aperto in modalità randomper tutte le operazioni che dobbiamo compiere sul file sia lettura che scrittura e riscrittura. • La sintassi è la seguente : • open nomepercorso [for random] as numerofile len = lunghezzarecord

  8. esempio : open “c:\5dp\magazzino.dat” [for random] as 1 len=prodotticon tale istruzione il file è aperto per compiere qualsiasi operazione (lettura, scrittura, modifica) for random è posto fra parentesi quadre poichè si può anche ometterlo, cioè viene riconosciuta automaticamente la modalità random

  9. Operazione di scrittura • L’operazione di scrittura sul un file ad A.R. viene eseguita con l’struzione PUT, la sintassi è la seguente : • put #numerofile, posizione ,nomerecord • la posizione viene calcolata come già visto con questa formula usando le funzioni preelencate • posizione =LOF(1) \ LEN(prodotti) • per aggiungere un nuovo record, alla funzione numero dei record si aggiunge un’unità in più

  10. Operazione di lettura • L’operazione di lettura sul un file ad A.R. viene eseguita con l’struzione GET , la sintassi è la seguente : • get #numerofile, posizione ,nomerecord • la posizione è data in input o calcolata

  11. Modifica di un record • per modificare record già esistenti si devono eseguire i seguenti passi • individuare il numero del record da modificare • fornire i nuovi valori per i campi • utilizzare l’istruzione put per la riscrittura specificando la posizione del record

  12. Cancellazione logica di un record • Per cancellare logicamente record si procede in questo modo : • individuare il numero del record da cancellare • contrassegnare un campo del record con un carattere particolare esempio il campo codice con : “*****” • utilizzare l’istruzione put per la riscrittura specificando la posizione del record

  13. Cancellazione fisica • La cancellazione fisica si attua attraverso questi passi: • si crea un file destinazione avente la stessa struttura record del file origine • leggendo sequenzialmente il file origine si copiano nel file destinazione tutti i record che devono essere mantenuti nel file • alla fine si chiudono i due file e si cancella il file origine con l’istruzione Kill • si rinomina il file assegnando il nome del file origine rimosso

More Related