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 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:
Vediamo ora una tabella che ci chiarirà le idee:
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 Provate, invece, usando l'operatore di concatenazione "&": NOME.Text = "" & DATA.Recordset("NOMECAMPO") |
Ultimo aggiornamento: 20/07/2006