Pagina principale

Pagina precedente

Visual Basic®

Pagina successiva

     VB è l'abbreviazione di Visual Basic, linguaggio di programmazione sviluppato dalla MICROSOFT.

     Lo scopo di questa pagina è quello di supportare gli sviluppatori VB attraverso piccoli espedienti di programmazione (in inglese tricks) che la CYBER nel corso degli anni ha utilizzato nei suoi programmi. Sarà dato anche spazio ad articoli di interesse comune ed, eventualmente, a dibattiti telematici.

     Poiché non vi sono fini di lucro, tutti i programmatori che lo desiderano possono contribuire alla stesura di questa pagina: è sufficiente prendere contatto con noi via e-mail.

     Allo stesso modo, coloro i quali hanno un problema possono rivolgersi a noi (sempre via e-mail) per una risposta: compatibilmente con gli impegni di lavoro, cercheremo di dare a tutti una risposta.


FAT 16, FAT 32 e partizionamento dell'hard disk
di Ettore Massimo Albani

          La vecchia FAT 16 (File Allocation Table a 16 bit) usata nel MS-DOS 6.x consente di gestire fino ad un massimo di 2^16=65536 cluster (granuli) della dimensione massima di 65536 byte; di conseguenza, il limite massimo teorico di questa struttura è di 4 TB (4'000 GB), tuttavia, questioni legate ad un limite strutturale del MS-DOS, portano questo limite a "soli" 2 GB.

     Dalla tabella acclusa si evince che non è conveniente con la struttura FAT 16 avere partizioni più grandi di 255 o 511 MB: infatti, le dimensione del cluster per il primo caso sono di 4 KB e per il secondo di 8K. Ricordiamoci che il cluster è l'unità minima di registrazione, per cui un file da 1 byte occupa fisicamente uno spazio rispettivamente di 4096 e 8192 byte! Questo fenomeno viene detto granularità e deve essere tenuto presente quando si installa un nuovo disco. Molto spesso chi vende PC trova più comodo ignorare il problema per consegnare al più presto la macchina, per cui effettua la scelta di un'unica partizione: finché i dischi non superano i 500 MB il problema è limitato, ma se i dischi hanno capacità maggiori... Si pensi che in un disco da 1.6 GB con un'unica partizione, il file da 1 byte considerato prima occupa la bellezza di 32768 byte!

     Fare partizioni più piccole ha anche altri vantaggi:

  1. maggiore velocità di accesso ai dati

  2. minore probabilità di perdere dati

  3. maggiore ordine mentale nel predisporre le risorse di memoria

  4. salvataggi dei dati più semplici e rapidi

     

     Vediamo ora una tabella che ci chiarirà le idee:

Tipo memoria

Dimensione disco

Tipo FAT

Settori
per
Cluster

Cluster

Floppy 5.25"

360 KB

12 bit

2

1 KB

Floppy 3.5"

720 KB

12 bit

2

1 KB

Floppy 5.25"

1.2 MB

12 bit

1

512 B

Floppy 3.5"

1.44 MB

12 bit

1

512 B

Floppy 3.5"

2.88 MB

12 bit

2

1 KB

Hard Disk

fino a 15 MB

12 bit

8

4 KB

Hard Disk

da 16 a 127 MB

16 bit

4

2 KB

Hard Disk

da 128 a 255 MB

16 bit

8

4 KB

Hard Disk

da 256 a 511 MB

16 bit

16

8 KB

Hard Disk

da 512 a 1023 MB

16 bit

32

16 KB

Hard Disk

da 1024 a 2048 MB

16 bit

64

32 KB

     L'esperienza dimostra che la partizione a 255 MB non è conveniente in W95: infatti, si rischia di rimanere senza spazio a disposizione per la memoria virtuale dopo poche connessioni con EXPLORER e/o scaricamento di posta con magari qualche allegato. Perciò, la partizione ideale risulta quella a 511 MB.

     W95 OSR2 e naturalmente W98 hanno portato una piccola rivoluzione per quel che riguarda il sistema di gestione della memoria di massa. Infatti, all'atto dell'installazione, è possibile scegliere tra la FAT16 e la FAT32.

     L'esperienza consiglia di non utilizzare la FAT32 per problemi di compatibilità con programmi MS-DOS che accedono direttamente alla FAT. Tuttavia, si deve considerare che, ormai, la maggior parte dei programmi è scritta in ambiente Windows a 16 e 32 bit, quindi è possibile scegliere con più serenità la FAT32. Inoltre quasi tutti i nuovi PC possiedono hard disk di capacità ben superiore ai 2 GB, il che rende obbligatorio la scelta della FAT32.

     Il vantaggio immediato nell'utilizzo è quello della minore dimensione dei cluster e, quindi, una migliore utilizzo della memoria di massa (solo 4096 byte per cluster).

     Resta valido, daltronde, il concetto che più file sono presenti nella stessa partizione, meno veloce è la loro ricerca. Il partizionamento su unità superiori ai 2 GB perciò è un valido mezzo per sistemi più efficienti.


Trick nº 1

     A quanti di voi sarà capitato di avere il seguente messaggio: invalid use of null a seguito dell'assegnazione ad una variabile od alla proprietà Text di un controllo del contenuto di un campo vuoto?

     Il rimedio potrebbe essere quello di testare mediante la funzione IsNull il campo prima di fare l'assegnazione, ma questo implica due istruzioni al posto di una:

If  IsNull(DATA.Recordset("NOMECAMPO")) Then
NOME.Text = DATA.Recordset("NOMECAMPO")
Else
NOME.Text = ""
End If

    Provate, invece, usando l'operatore di concatenazione "&":

NOME.Text = "" & DATA.Recordset("NOMECAMPO")

Ultimo aggiornamento: 20/07/2006