Guide e Tutorials:indexed | |||||
Mostrare la CommonDialog 'Trova' Naturalmente per le CommonDialog Apri, Salva, Stampa eccetera non esistono problemi. Che ne direste però di fornire all'utente la facoltà di cercare (e trovare!) un file all'interno del proprio disco fisso? Ecco che allora entra in gioco il metodo ShowFindDialog. Vediamocelo da vicino. Per poter attivare la CommonDialog è necessario richiamare il metodo ShowFindDialog includendo una directory valida dalla quale partire. Nel caso in cui venga commesso un errore nell'inserimento della directory, la CommonDialog non verrà aperta, senza il classico messaggio d'errore. Esiste però una seconda possibilità ossia quella di tralasciare il nome della directory in modo da utilizzare automaticamente la directory corrente (la cosiddetta App.Path). Adesso però cominciamo sul serio. Apriamo un nuovo progetto. Apriamo un nuovo modulo denominato Module1.bas (lo standard di Visual Basic). Bisognerà inserire nel modulo la dichiarazione della funzione ShallExecute della quale tratteremo nelle prossime lezioni:
Fatto ciò inseriamo (sempre nel modulo Module1.bas) la costante:
e così abbiamo terminato le dichiarazioni generali del modulo. Ecco allora come si mostra il nostro buon metodo ShowFindDialog:
dove naturalmente InitialDirectory che è un parametro opzionale come vedremo tra pochissimo è la directory dalla quale partirà la ricerca attivata dall'utente. Nella funzione ShellExecute, find è il metodo da utilizzare con questa funzione, cioè si dice all'applicazione che si vuole procedere alla ricerca di files e cartelle. Se si provasse a sostituire find con open per esempio, al posto della CommonDialog 'Trova', il Browser individuerà la cartella indicata da InitialDirectory. In poche parole se avete impostato la cartella "C:\" come directory di partenza, il Browser visualizzerà la cartella "C:\" (risultato di dubbia utilità ai fini di questa lezione...). Ma adesso è tempo di continuare...e di ritornare alla form precedentemente aperta. Per comodità non associamo l'apertura della CommonDialog alla pressione di alcun tasto (cosa che può essere fatta agevolmente trasferendo il richiamo al metodo ShowFindDialog ad una sottoprocedura del tipo Command1_Click),ma al caricamento della form stessa. Nella sottoprocedura Load allora inseriamo il richiamo al metodo appena visto:
dove **InitialDirectory** è la directory di partenza (ad es: "C:\Documenti"). Detto questo il lavoro è terminato e la CommonDialog per magia apparirà all'apertura di questa semplice applicazione. Alla prossima lezione. Ciao. |