Guide e Tutorials:indexed | ||||||||||||||||||||||||||||||||||||||
I files di risorse (Seconda parte) Seguendo l'esempio dell'articolo precedente, siamo rimasti ad un file di risorse contenente la bitmap "bollicine" ed una tabella delle stringhe ad una riga sola e due colonne, una avente l'intestazione di colonna 'Italiano (Standard)' e l'altra 'Inglese (Regno Unito)' anche se in teoria si può scegliere qualsiasi versione della lingua. All'interno della cella corrispondente alla lingua italiana abbiamo inserito il testo 'Applicazione' mentre in quella corrispondente alla lingua inglese abbiamo immesso 'Application'. In linea di massima la tabella delle stringhe, così come è stata appena descritta dovrebbe presentarsi in questo modo: Chiudendo quindi il filla finestra 'Modifica tabella delle stringhe' ci si potrà rendere conto dalla struttura del file .res che a tale file si è aggiunto un secondo elemento (secondo rispetto alla bitmap che abbiamo inserito nel corso dell'articolo precedente) ossia la tabella delle stringhe. Una tabella formata da due tabelle integrate tra loro ossia quella avente come intestazione di colonna 'Italiano (Standard)' e quella avente come intestazione 'Inglese (Regno Unito)'. La struttura del file di risorse così come è stato modificato dovrebbe essere simile a quella mostrata nella figura qui sotto: Il grosso vantaggio rappresentato dalla possibilità al momento dell'esecuzione di un'applicazione di caricare dal file di risorse solo le stringhe, le bitmap, le icone e i dati necessari anziché tutti contemporaneamente al momento del caricamento di un form o di un modulo. Inoltre è sempre molto più facile operare esternamente su un file archivio che dover rientrare nella propria applicazione modificandone il codice. Adesso che il nostro file .res (dove naturalmente .res è l'estensione tipica dei files di risorse. Un file con estensione differente non verrà caricato nell'Editor di Risorse per un'eventuale modifica) è finalmente completo con tutti i dati che vogliamo collegare all'applicazione, possiamo tranquillamente salvare il file. Quando un file di risorse modificato non è stato salvato, nella barra di stato viene visualizzata l'icona di un dischetto ed un messaggio che indica che la stringa è stata modificata, come si può vedere perfettamente dall'immagine precedente. Per salvare un file .res basterà premere col tasto sinistro del mouse l'icona recante un dischetto nella toolbar dell'Editor di Risorse. La CommonDialog Apri permetterà di sfogliare l'hard disk fino a trovare la cartella nella quale s'intende salvare il file. Naturalmente, se un file .res è associato ad una determinata applicazione, è buona norma inserirla nella stessa cartella che contiene i files del progetto di tale applicazione. Adesso che il lavoro è stato salvato, il file di risorse e tutto il suo contenuto è disponibile. Esistono tre funzioni per il recupero dei dati archiviati in tale file. Vediamole adesso una per una. La funzione LoadResPicture Carica unabitmap, un'icona o un cursore da un file risorsa. E'dunque la funzione che dovremo utilizzare per recuperare la bitmap "bollicine" che abbiamo inserito nel file .res. La sintassi della funzione è la seguente:
dove indice rappresenta l'identificatore della bitmap nel file di risorse. Corrisponde quindi all'intero che appare alla destra dell'icona della bitmap nell'Editor di Risorse, nel momento in cui viene visualizzata la sua struttura. Prendendo come esempio la prima immagine di questo articolo, si può notare facilmente che l'intero identificatore della bitmap "bollicine" corrisponde a 101. Se avessimo inserito una seconda bitmap nel file di risorse, essa avrebbe preso l'identificatore 102 e così via per tutte le bitmap e le icone archiviate. Sempre riguardo la funzione LoadResPicture, formato corrisponde ad un valore o ad una costante che specifica il formato dei dati restituiti, come indicato dalla tabella sottostante:
Ad esempio, se volessimo inserire in un controllo PictureBox la bitmap "bollicine" presente nel file .res che abbiamo salvato, dovremmo inserire questa linea di codice:
tenendo sempre conto che questo codice è basato sul numero e la tipologia dei dati archiviati nel file .res di esempio. Se invece "bollicine" fosse stato un'icona il codice sarebbe stato il seguente:
mentre nell'ultimo caso, quello cioè di un cursore:
Altra funzione per il recupero dei dati è la LoadResString che recupera una stringa da un file di risorse. La sintassi è la seguente:
dove indice rappresenta come per le immagini, l'identificatore della stringa. Come si vede dalla figura, entrambe le colonne (Italiano ed Inglese) hanno un unico identificatore ossia 101. Questo perchè in fase di esecuzione viene selezionata automaticamente a tabella delle stringhe corrispondente all'ID delle impostazioni internazionali di sistema. Sarà quindi il sistema dell'utente a determinare quale colonna caricare, in corrispondenza della stringa con identificatore 101. Quindi per recuperare o la stringa 'Applicazione' nel caso in cui l'utente sia italiano o 'Application' per la lingua inglese:
La terza funzione da considerare è LoadResData che carica dati di vari tipi (ma con una dimensione massima di 64K) da un file di risorse e restituisce una matrice Byte. La sintassi è la seguente:
dove indice rappresenta l'identificatore della risorsa che si vuole recuperare dal file mentre formato è un valore che specifica il formato originale dei dati restituiti. Tale valore può essere inoltre il nome della stringa di una determinata risorsa. I tipi di formato sono elencati nella tabella sottostante:
|
Archivio:ndexed | ||||
Lezioni | Commenta questa lezione | Invia la tua guida | Avviso per le nuove lezioni | Proponi un argomento |
Visual Basic Italia© copyright 2000 - tutti i diritti riservati |