Sincronizza Indice |
Scarica il progetto |
Testo dell'articolo |
Stampa l'articolo |
Avete mai pensato di scrivere un programma multilingua?
Un file di risorse è un un file di testo, con estensione RC che deve essere compilato e trasformato in un file binario con estensione RES. La compilazione viene effettuata mediante un piccolo compilatore di risorse, fornito assieme a Visual Basic 5. Prima di cominciare un progetto vero e proprio è necessario possedere due piccole immagini che utilizzeremo in questo progetto. Le due immagini sono le seguenti: Basterà scaricarle (premere il tasto destro del mouse sopra i due collegamenti e scegliere la voce "Salva Oggetto con nome") ed inserirle nella stessa cartella del nostro progetto, avendo cura di mantenere i nomi originali. Sicuri di possedere le due immagini sopra prepariamo due semplici file di risorse, uno in lingua italiana ed uno in lingua inglese. Apriamo una finestra di Blocco Note e scriviamoci dentro queste righe:
Il contenuto di questo file si riassume in pochi semplici concetti: alle prime cinque righe vengono dichiarati cinque nomi simbolici ai numeri 1001, 1002, 1003, 2001 e 2002. Alla riga 7 inizia una sezione di stinghe, definite alle righe 9, 10 e 11. Ogni costante simbolica rappresenta il proprio numero ed ai tre numeri viene associata una stringa. Alle ultime due righe vengono definite due immagini, PULS1.BMP e PULS2.BMP. Anch'esse sono legate al loro nome simbolico indicante i numeri 2001 e 2002. Per una migliore comprensione di questi concetti si rimanda alle informazioni aggiuntive sui file di risorse. Scritte le informazioni salviamo il documento utilizzando il comando "Salva con nome" del menu File del Blocco Note, come mostrato nella figura 1.
Fatto questo, apparirà la finestra di dialogo per la scelta del nome di file da assegnare al documento. Inserire nella casella apposita, il nome RIS_ITA, come visibile nella figura 2.
Eseguiamo un'operazione simile per il file di risorse in lingua inglese.
Questo codice differisce dal precedente solo per il contenuto delle righe
9, 10 e 11. Al termine di queste due operazioni dovremmo avere all'interno della nostra cartella 4 files:
Generati i due files di risorse è necessario compilarli con il compilatore apposito fornito con Visual Basic. Prima di effettuare questa operazione è necessario ridenominare i due files di risorse con la loro estensione corretta: RC.
Per far questo apriamo un Prompt di MS-DOS, posizioniamoci nella cartella del nostro progetto (nel nostro caso C:\Windows\Desktop\HowTo016) e ridenominiamo i due files utilizzando il comando REN come mostrato nella figura 3.
I comandi che abbiamo eseguito sono:
Da questo momento in poi la nostra cartella conterrà questi files:
Solo adesso possiamo provvedere alla compilazione dei due file di risorse
RC.
Al termine dell'operazione il contenuto della finestra DOS dovrebbe essere simile a quello mostrato nella figura 4.
A seguito del comando di compilazione non dovrebbe comparire alcun messaggio. Per avere la completa sicurezza che la compilazione è andata a buon fine dovremmo avere all'interno della cartella del progetto i seguenti files:
Adesso che abbiamo creato e compilato i due files di risorse .RES è necessario creare i due progetti per sfruttare tali files. Creato un nuovo progetto, inseriamo sopra un form due CommandButtondi nome Pulsante1 e Pulsante2. Impostiamo per essi la proprietà Style a 1-Graphical. Questa proprietà comunica al compilatore che il pulsante ospiterà sopra d'esso un'immagine grafica. Prima di scrivere il codice che gestisce le risorse inseriamo un riferimento
al primo file di risorse, quelle italiane (RIS_ITA.RES).
Fatto questo, apparirà nella finestra di gestione dei progetti il riferimento al file di risorse nella categoria Documenti correlati. È importante ricordare che non è possibile inserire più di un file di risorse per ogni progetto. Pertanto, per utilizzare le risorse in lingua inglese bisognerà creare un nuovo processo che conterrà il riferimento al file di risorse in lingua inglese. Una volta inserito il riferimento al file di risorse, possiamo dedicarci alle poche righe di codice di questo progetto. Innanzitutto, per comodità, dichiariamo delle costanti corrispondenti a quelle specificate nel file di risorse:
Le costanti alle righe 3-7 sono le medesime di quelle dichiarate nel file di risorse. È una scelta implementativa molto comoda. Infatti, ad ogni risorsa è associato un numero, ma a livello di codice è più facile e più chiaro stabilire dei termini letterali indicanti il numero univoco della risorsa.
E questo è il codice del programma. L'abbiamo inserito nell'eventoLoad del form, cosicché i valori vengano subito caricati dal file di risorse. Alla riga 10 impostiamo la Caption del form: il suo valore è caricato dal file di risorse mediante l'istruzione LoadResString ed è identificato dal numero 1001 (riga 3). Alle righe 11 e 12 effettuiamo un'operazione simile: impostiamo le Caption dei due pulsanti caricando i valori con numero 1002 e 1003 (righe 4 e 5) dal file di risorse. Alle righe 13 e 14, invece, carichiamo due immagini dal file di risorse mediante LoadResPicture ed impostiamo la proprietà Picture dei due pulsanti con tali immagini. A differenza dell'istruzione LoadResString, la LoadResPicture richiede due parametri: il primo indica il numero della risorsa, mentre il secondo indica il tipo di immagine da caricare. Tale valore deve essere uno di quelli specificati nell'enumerazione LoadResConstants: vbResBitmap per le immagini bitmap, vbResIcon per le icone e vbResCursor per i cursori del mouse. Oltre alle due citate istruzioni per caricare risorse da un file, ne esiste una terza: LoadResData viene infatti utilizzata per caricare dati generici, non ben definiti, da un file di risorse, ad esempio suoni, video, etc... Possiamo
adesso provare il programma. Ma i nostri sforzi sarebbero stati vani se il risultato si limitasse a questo. E infatti non è così. Passiamo alla creazione dello stesso progetto in lingua inglese? Possedendo già il file di risorse .RES compilato ci basterà creare un nuovo progetto e, sfruttanto la funzione Inserisci file del menu Progetto, inserire prima un riferimento al Form1 e poi al file di risorse in lingua inglese. Fatto
questo, basterà eseguire il progetto per ritrovarsi il testo già
tradotto - nel nostro caso qundi le tre Caption - senza dover apportare
nessuna modifica al codice. |
L'utilizzo dei files di risorse semplifica enormemente la revisione di un progetto per effettuare traduzioni o cambiamenti linguistici o grafici. Infatti il codice non viene minimamente influenzato: basterà fare riferimento al nuovo file di risorse e ricompilare il progetto per avere una nuova versione del programma. La stessa Microsoft, per i suoi progetti multilingua, sfrutta i files di risorse ed inserisce tutte le risorse in un file di libreria. Per cambiare lingua ad un programma basterà sostituire la DLL contenente le risorse, et voilà, il gioco è fatto. Fibia
FBI
|
Torna all'indice degli HowTo |