Home Page
VB6.0 PROJECTS

con codice
sorgente

Visitatori da luglio 2003
Novità

Ultimo aggiornamento: 10 Novembre, 2008

Ultimi progetti aggiunti

Questa pagina elenca progetti avanzati con esempi di soluzioni a diverse questioni,
che a volte non possono essere risolte solo con il linguaggio VB puro.
Molti di questi progetti fanno uso di funzioni API!

IMPORTANTE: stiamo migrando gradualmente sul nuovo sito di VBCorner, quindi alcuni progetti sono stati spostati lì,
ma non preoccupatevi, verrete reindirizzati automaticamente.

Progetto Descrizione
gbChangeMDIStyle.zip Potete rimuovere i pulsanti Min/Max e disabilitare o meno le relative funzioni anche nei form MDIform e Child. Potete inoltre bloccare i form ed il loro ridimensionamento (anche i Child!).
gbColorToGray.zip Converte un'immagine a colori in una a scala di grigi (nessuna API)
gbCombobox_DropUP.zip Come aprire un combobox verso l'alto (DropUp) invece che verso il basso (DropDown).
Aggiornato: ora la listbox supporta i tasti freccia e Invio, inoltre è stato ulteriormente ottimizzato il codice.
gbMDIChild_True_False.zip Come rendere NON Child un form MDIChild in una applicazione MDI.
gbThumbnails.zip Semplice esempio di come creare un visualizzatore di immagini tipo ACDSee, IrfanView, ecc.
gbCaptureListBox.zip

Come catturare tutti gli items da una ListBox.
Nota: funziona anche con listbox di altre applicazioni, cioè esterne al progetto.

gbResizeCtrlRunTime.zip Come ridimensionare controlli a runtime.
L'esempio mostra come farlo con una TextBox e una PictureBox, aggiungendo anche opzionalmente una scrollbar verticale.

gbTextJustifyAPI.zip

Aggiornato il 24.11.2007

Giustificare accuratamente il testo con i soli metodi di VB è impresa ardua (per non dire impossibile!). Con l'aiuto di qualche manciata di funzioni API possiamo ottenere risultati di tutto rispetto. Basta osservare l'immagine per rendersene conto.

Questo progetto è una traduzione da un listato in C del 1992 (incluso) preso dal libro Programmare Windows di C. Petzold.
Un aspetto importante è quello del ritorno a capo che, sempre grazie alle API, viene gestito in automatico.
A sinistra abbiamo una semplice TextBox con il testo da vogliamo elaborare
Nella PictureBox a destra osserviamo il risultato con il testo stampato utilizzando la giustificazione (calcolando un margine di 10 pixels).

 

gbEnumIconResources.zip
(VB 6.0 EE - SP6) 680 kbytes

Inizio

Come poter usare le icone a 32bit con canale Alpha (Windows XP)

Questo progetto indica la soluzione di 2 problemi (di cui il primo insormontabile senza l'aiuto delle funzioni API).

1) E' noto che Visual Basic non permette di caricare le bellissime icone in formato a 32bit con canale Alpha, conosciute anche come 'Windows XP'. Attraverso un uso intensivo di funzioni API, permette non solo di caricare queste icone ma di scegliere addirittura quale dimensione e quale profondità di colore.

2) L'altro problema è dovuto al fatto che nemmeno il Resource Editor di VB riconosce queste icone a 32bit. Se tentate di caricarle ricevete lo stesso messaggio di errore: "Immagine non valida."

Viene quindi illustrato come creare con il Visual Basic le nostre librerie (DLL) di icone in cui possiamo inserire anche queste icone a 32bit.

Il file ZIP, oltre al progetto, contiene anche tutte i files immagini utilizzati ed alcune librerie di icone 'esclusivamente in formato 32bit' create appositamente per questo esempio e che potete utilizzare liberamente.

Leggi l'articolo su questo argomento.

 

gbGetIconAssociated.zip

Recuperare le icone associate ad un file. L'esempio recupera il formato 16x16 e 32x32 utilizzando la funzione API SHGetFileInfo.

 

gmPrintDBase_2005_2.zip

Inizio

Per stampare la struttura delle tabelle del tuo MDB.

Scarica il progetto

Questo è un progetto veramente utile e pratico (realizzato da Gabriele Marchionni) che stampa la struttura delle tabelle di un file MDB. Da me modificato e pubblicato su gentile concessione dell'autore.

L'ho trovato talmente utile che ho pensato di perfezionarlo ed aggiungervi altre importanti funzionalità per renderlo ancor di più versatile e flessibile. Ecco l'elenco delle modifiche apportate:

- aggiunta una classe che memorizza in un file INI tutti i database recentemente aperti (senza alcun limite di numero), e ne ricarica tutti i percorsi in un combobox all'avvio del programma. Questo evita di dover 'navigare' sempre ogni volta alla ricerca del DB.

- ho reso compatibile al 100% il progetto con i Themes di Windows XP sostituendo i Frame con PictureBox e aggiungendo una chiamata alla funzione InitCommonControls (eliminando così quel classico e fastidioso 'flickering' dei Frame quando si muove il mouse al loro interno).

- ho aggiunto un checkbox che consente all'utente di selezionare o deselezionare tutte le tabelle. Infatti se ho un DB con 57 tabelle e voglio stamparne una sola sono costrettto a cliccare 56 volte per deselezionare le tabelle che non mi servono.

- per la stampa ho parametrizzato la dimensione della prima colonna (Nome del campo) che aveva un'impostazione fissa a 32, ciò non mi permetteva di stampare correttamente alcuni campi se erano più lunghi (creando quindi una stampa del testo sovrapposta). Ho perciò aggiunto un combobox da cui, prima di stampare, si può impostare la larghezza della prima colonna (le altre sono sempre fisse, quindi non ho ritenuto opportuno modificarle.). Funziona solo con la stampa reale, non per l'anteprima di stampa.

- ho corretto un errore nella routine di stampa che, a volte, produceva la stampa di pagine vuote. Infatti il ciclo che controlla se la tabella ha necessità di più pagine veniva eseguito SEMPRE per ogni tabella anche se 'quella' tabella, in realtà, NON era selezionata per la stampa. E se proprio 'quella' tabella era più lunga della pagina la routine inseriva il salto-pagina. con l'effetto di inviare una pagina vuota alla stampante.

- ho aggiunto il codice per poter aprire un DB protetto da password.
Prima, restituiva un laconico "Errore nel file."

- Se nella casella txtPath l'utente digita un qualche percorso, il pulsante "Sfoglia..." aprirà la finestra di dialogo su 'quel' percorso, così da 'snellire' la navigazione nel file system.

 

Network Change

Inizio

Versione 1.3.6

Modificare 'al volo' gli indirizzi IP/DNS del protocollo TCP/IP.
Un programma utilissimo per chi viaggia spesso tra le aziende e deve continuamente modificare i parametri TCP/IP per collegarsi continuamente a server diversi.

 

Common Dialogs Advanced

 Personalizzazione avanzata delle finestre di dialogo comuni Apri/Salva, Carattere e Colori.

 

gbBMP2JPG Esempio VB per convertire BMP in JPG grazie ad una DLL scritta in Delphi (presente nel pacchetto già compilata). Permette di indicare la qualità di compressione (fattore da 1 a 100).
DataGrid_FilterBar Esempio di come simulare una FilterBar con un MSDataGrid, come quella presente nella splendida TrueDBGrid di ComponentOne) che consente di applicare un filtro su più campi.
(VB6 sp6, ADO)
 MultiCasting3

Il multi-casting è una tecnica molto interesante e potente che permette di gestire gli eventi di più controlli come se fosse uno. Per ottenere questo si fa uso di 2 classi.

L'esempio più banale è quando si desidera cambiare una o più proprietà di un TextBox quando riceve o perde il focus (ad es. cambiare il colore di sfondo piuttosto che del testo). Invece di inserire il codice negli eventi GotFocus e LostFocus di ogni TextBox si fanno gestire questi eventi da una classe.

Questo esempio mostra come 'collegare' tutti i controlli di un form in modo automatico, così che se in futuro si aggiungeranno nuovi controlli non occorrerà apportare alcuna modifica in quanto anche questi saranno gestiti automaticamente.

Nota: non sono al momento gestiti gli array di controlli.

 gbCaptureTest Cattura il testo da altre finestre semplicemente posizionando il mouse sopra di esse.
VBInternet.zip Modulo BAS con due routine per inviare e-mail con allegati (utilizzando il programma predefinito) e per aprire una pagina web (utilizzando il programma predefinito) .
Funziona con qualsiasi programma mailer o browser. Include progetto di esempio.
MPlay32 VB

Questo progetto dimostra come riprodurre un file media (AVI, WAV, MID, MPEG, MP3, ...) utilizzando un vecchio programma di Windows: MPlay32.exe.
E' possibile nascondere la finestra del programma e chiuderlo automaticamente alla fine della riproduzione.

ToolbarSample

Toolbar: impostare immagini in maniera flessibile.
Come evitare qualche arrabbiatura di troppo ed impostare le immagini dei pulsanti in modo automatico.

 

ListBox Search

Ricerca veloce in un ListBox del testo digitato in un TextBox.

 

FindFile

Ricerca ricorsiva dei file. Tre metodi per implementarla a confronto (con sorpresa):

  1. Funzioni API
  2. Dir()
  3. FileSystemObject