Author(s): Harold Davis
Edition: 1998
Publisher: APOGEO (FANTOMASPING)
Year: 1998
Language: Italian
Commentary: FANTOMASPING
Pages: 870
City: Rome
Tags: Visual Basic 6 Programmazione
SOMMARIO
INTRODUZIONE
Scopo di questo libro
Che cosa serve
Come usare questo libro
Nota alla traduzione
PANORAMICA SU VISUAL BASIC
LA PIATTAFORMA LA PIATTAFORMA
Le edizioni Learning, Professional e Enterprise di Visual Basic 6
Visual Basic 6 e Visual Studio
L'installazione di Visual Basic 6
La Guida in stile HTML
Windows e il Web
Panoramica delle nuove caratteristiche di Visual Basic 6
Riepilogo
COME SFRUTTARE L'IDE DI VISUAL BASIC
Panoramica dell'IDE di Visual Basic
La finestra di dialogo New Project
Gli elementi dell'IDE
Inizio di un nuovo progetto o apertura di un progetto esistente
Salvataggio dei progetti
Impostazione delle opzioni di ambiente, di editor e generali
La scheda Environment
La scheda Editar
La scheda Editor Format
La scheda General
La scheda Docking
La scheda Advanced
Aggiunta di diversi moduli a un progetto
Il menu Edit
La Toolbox
Aggiunta di controlli ai form
Aggiunta di componenti alla Toolbox
Gli oggetti inseribili
I designer
La finestra Properties
Modifica delle proprietà degli oggetti
Suddividere in categorie le proprietà
Il Project Explorer
La finestra Form Layout
Il menu Format
Uso efficace della finestra di codice
Intelligenza artificiale
L'Object Browser
Il Menu Editor
Gli strumenti di debug
La compilazione degli eseguibili
Riepilogo
EVENTI E OGGETTI
Lavorare con i file sorgente Visual Basic
Che cos'è un form Visual Basic?
La programmazione guidata da eventi
Utilizzo della funzione MsgBox quando scatta un evento
Aggiunta di codice a un evento Click di un form
Proprietà e metodi in Visual Basic
Le proprietà
I metodi
Ordinamento di scatto degli eventi
Gli eventi di avvio dei form
Gli eventi di risposta dell'utente dei form
Gli eventi del mouse
Gli eventi della tastiera
Altri eventi
Gli eventi di chiusura dei form
La funzione MsgBox e QueryUnLoad
Aggiunta di codice agli eventi dei form e dei controlli
Concetti fondamentali di programmazione orientata agli oggetti
Incapsulamento delle finestre di dialogo di Visual Basic
Che cosa sono i moduli di classe
Proprietà
Metodi
Uso delle proprietà e dei metodi di classe
Creazione, scatto e gestione degli eventi personalizzati
Riepilogo
SINTASSI DI VISUAL BASIC PER PROGRAMMATORI
Panoramica sulla definizione del linguaggio
Righe di codice e commenti in Visual Basic
Gli identificatori, le costanti e le variabili
Gli identificatori
Le costanti
Le costanti predefinite
Le costanti definite dall'utente
Le variabili
Le parole chiave Public e Private
Le variabili varianti
Utilizzo dell'istruzione Option Explicit
I numeri
Gli operatori
L'operatore punto
L'operatore di assegnamento
L'operatore di insieme
La precedenza degli operatori
La concatenazione fra stringhe
I cicli di controllo e le istruzioni condizionali
Le istruzioni If
Le istruzioni Select Case
Prima creare un'intelaiatura di strutture di controllo
Restituire in una casella di riepilogo il valore di stringa di una voce selezionata
Fare attenzione a messaggi tipo "Incapace"
Le strutture di ciclo
I cicli Do
I cicli For
I moduli, le subroutine e le funzioni
I moduli
I moduli di form
I moduli standard
I moduli di classe
Nomi di file lunghi in progetti VB6 sotto Windows a 32 bit
Procedure
Passaggio di argoment
L'uso delle variabili varianti provoca le conversioni di tipo appropriate
Le strutture definite dal programmatore
Tutto tranne il lavandino della cucina ...
Le matrici
Preservare il contenuto delle matrici dinamiche
Parlare il linguaggio degli oggetti
Utilizzo dei controlli ActiveX
Utilizzo dei componenti ActiveX
Chiamata di procedure esterne
Chiamata dell'API di Windows
Riepilogo
CARATTERISTICHE DI LIVELLO AVANZATO
Il Data Environment
Il Data Object Wizard
Controlli persistenti su pagine di Internet Explorer
L'evento di controllo Validate
Aggiunta dinamica di controlli
Restituire una matrice da una funzione
Il modello ad appartamento di multithreading
La funzione CallByName
Nuove funzioni di stringa
Riepilogo
PROGRAMMAZIONE WINDOWS
INTRODUZIONE Al SISTEMI OPERATIVI
Le linee guida di Windows
La shell di Windows
I fogli delle proprietà
Wizard
Visual Basic Application Wizard
ActiveX e Windows
Altre informazioni sui sistemi operativi Windows
Driver dei dispositivi virtuali
Macchine virtuali
Multithreading
Programmi di installazione
File di guida
Riepilogo
FINESTRE DI DIALOGO COMUNI DI WINDOWS
Finalità del controllo dei dialoghi comuni
Costanti e flag del controllo
Guarda mamma, niente codice
La proprietà Filter
Flag e proprietà nel codice
Altre informazioni sulla guida
Rilevare il comando Cancel
Oggetti di FileSystem
Riepilogo
CONTROLLI D'INTERFACCIA UTENTE
Provare per credere
Inserimento dei controlli dell'interfaccia utente nella Toolbox
Creazione di un foglio proprietà
La storia dei due controlli a schede
Utilizzo del controllo TabStrip
Creazione di un wizard
Utilizzo di un form di opzioni modello
Il wizard Wizard
Creazione di wizard
Il wizard Sundae
La proprietà .Tag
Analisi del codice del wizard
Utilizzo delle demo ProgressBar e Slider
Utilizzo della demo editor di testo
CoolBar
FlatScrollBar
Visualizzazione delle gerarchie: i controlli ListView e TreeView
La funzione Format
I controlli sul calendario
Creazione di un selettore
SysInfo
MSFlexGrid
ImageCombo
Riepilogo
USO DEL REGISTRO DI CONFIGURAZIONE
Vantaggi del Registro di configurazione
La permanenza in vita delle stringhe di profilo private (i file .Ini)
La struttura del Registro
Gerarchia del Registro
Differenze tra i registri di Windows 95/98 e di Windows NT
Parole chiave
Il sottoalbero del software in HKEY_LOCAL_MACHINE
Classi
Descrizione
Utilizzo di Regedit
Riparazione di registri danneggiati
Modifica dei valori nelle parole chiave del registro
Inserimento e cancellazione di parole chiave
Modifica del registro come file ASCIl
Combinazione di file .Reg del registro
Registrazione di componenti e controlli ActiveX
Registrazione di OCX mediante Regocx32.Exe
Regit.Exe
Riepilogo
PROGRAMMAZIONE DEL REGISTRO
API del registro
Dichiarazioni API
Le istruzioni del registro incorporate in Visual Basic
Utilizzo delle costanti VBA per la codifica dei comuni caratteri non stampabili
Utilizzo delle API per manipolare il registro
Ricerca e visualizzazione di chiavi e sottochiavi
Ricerca e modifica di valori
Eliminazione e inserimento di un terminatore nullo
NT a confronto di 95/98
GetUserName
Inserimento ed eliminazione di chiavi
Utilizzo di RegDeleteValue
Creazione di un componente ActiveX per incapsulare le API del registro
Creazione di un server ActiveX
Chiamare il server
Registrazione delle estensioni dei file
Riepilogo
VISUAL STUDIO API WIN32 E MESSAGGI
Strumenti di Visual Studio 6.0 versione Professional
Applicazioni importanti di Visual Studio
Strumenti di Visual Studio 6.0 Enterprise
Funzioni API di Windows di uso comune in Visual Basic
Utilizzo di API nel concreto
Sistemazione di un modulo in primo piano
Spostamento dei controlli tra i form
Blocco degli utenti su un controllo
Modifica del menu Window di una applicazione
Controllo delle risorse minime di sistema
Una casella About per visualizzare informazioni sul sistema
Microsoft System Information Utility
Individuazione della directory di Windows
Monitoraggio delle finestre attive
Per andare oltre
Determinazione del sistema operativo
Problemi comuni
Stringhe con terminatore nullo
Codifica rigida
Sicurezza e accessi
Handle a 16 bit
ANSI e Unicode
Utilizzo delle API Win32s
Il sistema di messaggi di Windows
Aggiunta di menu di scelta rapida alle caselle di riepilogo
Intercettazione del flusso di messaggi
Inserimento di un'icona nel vassoio di Windows 95/98
Riepilogo
VISUAL SOURCESAFE (ENTERPRISE EDITION)
Visual SourceSafe Administrator
Avvio di Administrator
Inserimento di utenti
Modifica dei privilegi di accesso a un progetto
Opzioni di Administrator
Utilizzo di Visual SourceSafe Explorer
Creazione di un progetto VSS mediante VSS Explorer
Integrazione di VSS con Visual Basic
Creazione di un progetto locale VSS con Visual Basic
Inserimento di un progetto Visual Basic in VSS
Determinazione della versione più recente di un file
Registrazione e verifica dei file
Individuazione delle modifiche su un file: operazione "diffing"
Riepilogo
SEGRETI DI PROGRAMMAZIONE
UNA BUONA PRATICA DI PROGRAMMAZIONE
La buona pratica di programmazione
Pseudocodice e PDL
Progettazione dell'architettura delle applicazioni
Convenzioni per l'attribuzione dei nomi
La convenzione ungherese per l'attribuzione dei nomi
Proprietà e metodi personalizzati dei form
Aggiunta di metodi personalizzati
Aggiunta di proprietà personalizzate
Generare eventi personalizzati
Implementazione degli stock come motrici
Interruzione dei cicli Do
Gestione delle caselle di riepilogo
Registrazione di diverse caselle di riepilogo
La proprietà Interval di Timer
Evitare di eliminare involontariamente gli elementi nelle caselle di riepilogo
Copiare negli Appunti le voci selezionate in una casella di riepilogo
Manipolazione delle stringhe
Iniziare le parole in una stringa con la lettera maiuscola
Analisi del codice di Visual Basic e controllo della lunghezza delle righe
Arrotondamento dei numeri
Creazione di elenchi dei tipi di carattere
Riepilogo
VISUAL BASIC E L'OOP
Analisi generale dell'OOP
Incapsulamento
Ereditarietà
Polimorfismo
Early binding e late binding
Sistemi di messaggi
L'OOP in Visual Basic
I form come classi
Fare riferimento agli oggetti
Classi e moduli di classe
Eventi dei moduli di classe
La funzione CreateObject
Quando una variabile esce dal suo ambito
Proprietà dei moduli di classe
Le procedure Property Set
I moduli di classe e i tipi definiti dall'utente
Gli oggetti collezione
È una collezione?
Uno stock che utilizza istanze di classe e una collezione
L'oggetto Application
App.Path
App.PrevInstance
L'utility Class Builder
Estensione di un controllo esistente
Riepilogo
GESTIONE DEGLI ERRORI
Tipi di errori
Da dove vengono i "bachi"?
Errori di sintassi e di compilazione
Alcune direttive per la verifica dei programmi
On Error, Resume e Resume Next
L'oggetto Err
La funzione Error
Il metodo Raise
Errori intercettabili comuni
La proprietà LastDLLError
Generazione di errori
Generazione errori definiti dall'utente
Strumenti di debugging
Le caselle di messaggio e Debug.Print
Accesso veloce ai comandi di debugging
Utilizzo delle asserzioni
Il debugging e l'input tramite il mouse e la tastiera
Gestione degli errori negli oggetti
Riepilogo
OTTIMIZZAZIONE DEI PROGRAMMI
Le schermate di avvio
I metodi TwipsPerPixel
Avvio di un'applicazione di grandi dimensioni
La funzione Shell
Lancio di un'applicazione mediante una associazione di file
Aspettare che termini un programma avviato tramite la funzione Shell
La funzione Shell a 16 bit
Compilazione in pseudocodice e compilazione in codice nativo
Cos'è lo pseudocodice?
Switch del codice nativo
Compilazione condizionale
Costanti condizionali
File di risorse esterni
Ottimizzazione
Misurazione in funzione della velocità
Ottimizzazione in funzione della velocità
Ottimizzazione in funzione della velocità apparente
Riduzione del consumo di memoria
Ricerca di file sul disco
Selezione del testo in un controllo TextBox
Ricorsione
Esempio: la successione di Fibonacci
Esempio: il massimo comun divisore
Riepilogo
SEGRETI DI VISUALIZZAZIONE
PROGETTAZIONE DI UNA BUONA INTERFACCIA
Il progetto di interfacce e il sedile posteriore
Un'nterfaccia più amichevole
Progettazione estetica di una interfaccia utente
Come controllare le azioni dell'utente in un ambiente guidato dagli eventi
Come rendere non disponibili le opzioni e assegnare valori predefiniti
Come assegnare una sequenza preordinata alla pressione del tasto Tab
Come gestire le situazioni di errore
Riepilogo
APPLICAZIONI MDI E MENU
Come creare applicazioni MDI
Gestione dei form figli
Caricamento di form figli non modali
Una struttura per tener traccia dei figli
Riduzione a icona di tutti i form figli
Chiusura di tutti i form figli
Come creare sfondi per una applicazione MDI
Impiego di BitBIt per creare uno sfondo ripetitivo
Come modificare la posizione dei form figli nell'evento Load
Impostazione di un cursore personalizzato
Gestione dei menu
Contese tra menu
Attribuzione di nomi ai menu
Didascalia (Caption)
Terminologia dei menu
Nomi interni dei menu
Matrici di controllo menu
Menu pop-up
Annidamento di sottomenu
Gestione dinamica dei menu
Visibilità delle voci di menu
Come eliminare voci menu
Come aggiungere voci di menu
Caricamento di stringhe di menu da file esterni
Riepilogo
USO DI ACTIVEX
VISUALIZZAZIONE DURANTE L'ESECUZIONE
Effetti speciali
Coriandoli
Come far lampeggiare la barra del titolo
Come sfumare un form
Come disegnare i contorni di un form
Come far esplodere un form
Come creare un effetto Marquee
Stampa di testo tridimensionale sul form
Come mettere "uovo di Pasqua" nel vostro programma
Come "deporre" un uovo
Come far muovere le uova
La vita segreta dei form
All'interno dei form
All'interno dei file di progetto
Riepilogo
CAPIRE ACTIVEX E OLE
L'evoluzione di ActiveX
Che cos'è un oggetto OLE?
Comunicazioni asincrone e sincrone
L'interfaccia OLE
Definizione di oggetto ActiveX
Che cosa fa un oggetto ActiveX
Visual Basic 6 e ActiveX
Visual Basic e il drag and drop
Visual Basic e i contenitori
MAPI
Uso dei controlli MAPI
Funzioni delle Messaging API
File composti e memoria strutturata
Le applicazioni ActiveX e il Registry
Riepilogo
APPLICAZIONI CHE SUPPORTANO OLE
Esercizi di riscaldamento per il drag and drop
Ancora drag and drop
Controlli Picture
Attenzione al titolare dell'evento DragDrop!
Uso del controllo OLE
Uso di DDE al posto di OLE
Incorporamento o collegamento?
Uso del menu di scelta rapida del contenitore OLE
Creazione di oggetti in fase di progettazione
Trovare i nomi delle classi
La finestra di dialogo Insert Object
La finestra di dialogo Paste Special
Impostazione della classe dell'oggetto
Creazione di oggetti in fase di esecuzione
Uso dei metodi del controllo OLE
Attivazione in loco e negoziazione dei menu
Drag and drop su controlli OLE
Il metodo SaveToFile
Riepilogo
CONTROLLO DI OGGETTI DI APPLICAZIONI ESTERNE
Lavorare con componenti ActiveX
GetObject o CreateObject?
Referenziare un oggetto per cui è disponibile una libreria di oggetti
Referenziare le applicazioni di Office 97
Uso di metodi e proprietà degli oggetti
Visual Basic for Applications
Gerarchie di oggetti
Uso di Excel per calcolare i rimborsi di un prestito
Inserimento di un controllo Excel
Uso di un server Excel come correttore ortografico
Creazione e modifica di documenti Word
L'oggetto Word. Basic
Modifica di un database Access
Riepilogo
CREAZIONE DI APPLICAZIONI ACTIVEX
Concetti fondamentali
L'oggetto precedentemente noto come Server OLE
Moduli di classe e ActiveX
I diversi tipi di applicazione ActiveX
Server e client, classi e oggetti
La proprietà Instancing dei moduli di classe
Creazione di un'applicazione ActiveX passo per passo
Denominazione delle classi ActiveX
Proprietà o parametri?
Prepararsi ad eseguire il server
Visualizzare form in un'applicazione ActiveX
Impostazione delle opzioni del progetto
Avvio dell'applicazione ActiveX
Chiamata del componente ActiveX da un client
Impostazione dei riferimenti nel progetto client
Uso dell'Object Browser
Uso della finestra di dialogo Procedure Attributes
Visualizzazione di un form: il client
Creazione di un oggetto senza usare la finestra di dialogo References
La funzione GetObject
Aggiunta e rimozione della registrazione dei componenti ActiveX
Binding
Codice per gli eventi di una classe
La finestra di dialogo Component Request Pending
Un modulo di classe è un involucro
Gestione degli errori con componenti ActiveX
Gestione delle versioni di un componente ActiveX
Creazione di un oggetto applicativo
Gerarchie di oggetti
Oggetti dipendenti
Classi di collezione
Una pizza virtuale
Creare server in-process (DLL ActiveX)
Vincoli sulle DLL in-Process
Riepilogo
CREAZIONE DI CONTROLLI ACTIVEX
I CONTROLLI ACTIVEX
Che cos'è un controllo?
Progetti ActiveX Control
UserControl
Classi
Creazione di pacchetti di controlli ActiveX
Modifica del pacchetto
Ciclo di vita del controllo
Eventi: È meglio dare o ricevere ?
Osservazione del comportamentodel controllo
PropertyBag
Controlli e contenitori
Utilizzo dell'oggetto Extender del contenitore
La proprietà UserMode dell'oggetto Ambient
L'interfaccia del controllo
Licenze per i controlli
Necessità di una licenza per lo sviluppatore
Riepilogo
L'INTERFACCIA DEL CONTROLLO
ActiveX Control Interface Wizard
Impostazione del controllo
Aggiunta di un'icona Toolbox al controllo
Esecuzione del Wizard
Verifica dell'interfaccia
Che cosa fa il Wizard?
Come rendere funzionale il controllo
Aggiunta di un valore di testo predefinito
Implementazione del metodo SelectText
Implementazione dell'evento onSelectText
Implementazione delle proprietà personalizzate
Riassunto
Property Page Wizard
Esecuzione di Property Page Wizard
Come aggiungere manualmente Property Page
Aggiunta di una finestra di dialogo About al controllo
Riepilogo
LE FUNZIONALITÀ DEL CONTROLLO
Il controllo StickyFrame
Proprietà di tipo enumerato
Tipi enumerati
Proprietà enumerate personalizzate
Impostazione di una proprietà predefinita
Creazione di una proprietà predefinita per l'interfaccia utente
Aggiunta di finestre di dialogo personalizzate
Raggruppamento di proprietà per categoria
Proprietà in fase di progettazione e in fase di esecuzione
Creazione di proprietà valide solo in fase di esecuzione
Creazione di un controllo basato su più controlli costituenti
Controlli user-drawn
Creazione di un controllo "Coriandoli"
Che cosa sono gli oggetti UserControl
Riepilogo
CONTROLLI ACTIVEX INSTALLATI VIA WEB
Installazione di controlli attraverso il Web
Browser che "capiscono" ActiveX
Installazione normale
Installazione di un controllo da Web
Verifica del funzionamentodi un controllo in Internet Explorer
Esecuzione di Package and Deployment Wizard
Rendere sicuri i controlli per l'utilizzo con lo scripting
Utilizzo dei file creati da Package and Deployment Wizard
Utilizzo di un controllo ActiveX su Web
Riepilogo
ESTENSIONE DELL'AMBIENTE
APPLICAZIONI INTERNET
Aggiunta di capacità Web olle applicazioni Visual Basic
Il controllo WebBrowser
Il controllo Internet Transfer
Aggiunta di caratteristiche Internet ai controlli
Le applicazioni basate sui documenti ActiveX
Creazione di un'applicazionebasata su documenti ActiveX
Conversione di applicazioni esistenti
I file .Vbd
L'implementazione dei documenti ActiveX
Documenti ActiveX e il Raccoglitore Office
Determinazione del contenitore
Applicazioni basate su DHTML
Determinazione del browser
DHTML e VB6
Applicazioni basate su Internet Information Server (IIS)
Applicazioni basate su IIS, DHTML e ASP
Gli oggetti WebClass
I WebItem
Struttura di un'applicazione basata su MS
Il modello di oggetti delle applicazioni basate su IIS
Riepilogo
CREAZIONE DI UN ADD-IN PER VISUAL BASIC
Che cos'è un add-in?
Tipi di add-in
Utilizzo dell'Add-ln Manager
Un add-in che Visual Basic installa sempre
Altri add-in forniti con Visual Basic
La barra degli strumenti degli add-in
Concetti sull'oggetto VBIDE
I membri dell'oggetto radice
Estensione dell'interfaccia utente
Manipolazione dei progetti
Manipolazione dei form
Risposta agli eventi
Manipolazione del codice
L'oggetto AddInlnstance
Creazione di un semplice add-in
Compilare un add-in
Registrazione e deregistrazione manuale degli add-in
Il modulo di classe di connessione
L'add-in Change Colors
Come far funzionare Change Colors
Programmazione di frmSetColor
Esplorazione della gerarchia di VBIDE.VBE
Aggiunta del codice per la connessione
Riepilogo
COSTRUZIONE DI UN WIZARD
Esecuzione del Wizard Manager
L'interfaccia del Wizard Manager
Fondamenti dei wizard
Utilizzo del file di risorse
Recupero dei valori della tabella delle stringhe
Personalizzazione del wizard
Trasformazione in add-in
Incorniciato di nuovo
Aggiunta di icone alla voce di menu del wizard
Riepilogo
DATABASE, INSTALLAZIONE E GUIDA
I CONCETTI FONDAMENTALI DEI DATABASE
La vita è un database
Architettura multilivello
Server di database
Sistemi di gestione dei database relazionali
Database e OOP
SQL
Il controllo Data di Visual Basic
Controlli sensibili ai dati
Riepilogo
ACTIVEX DATA OBJECT
Dai Data Access Object (DAO) agli ActiveX Data Object (ADO)
ODBC e OLE DB
Uso di DAO per lavorare con i database
Ambienti dei database
Oggetti DAO
Uso di DAO
Connessione a un database
Aggiornamento di una tabella
Creazione ed eliminazione di una tabella
Creazione di una tabella
Eliminazione di una tabella
Uso di un oggetto Recordset
Chiusura della connessione
Che cosa sono gli ActiveX Data Object
Il controllo Data ADO
Data Environment
Il controllo DataRepeater
Riepilogo
STRUMENTI ENTERPRISE EDITION PER I DATABASE
Microsoft SQL Server 7.0
Microsoft Transaction Server 2.0
Visual Modeler
Riepilogo
GUIDA IN LINEA
Guida in linea HTML
Caratteristiche delle guide in linea di Windows
Come creare una guida in linea
Pianificare un progetto per la guida in linea
Tipi di file per creare una guida in linea
Help Compiler Workshop
Come codificare il file relativo agli argomenti della guida
Collegare gli argomenti con i salti e con i pop-up
Aggiungere la grafica ai file degli argomenti
Creare ipergrafica con hot spot
Uso di Help Workshop per creare un file di sommario
Creare il file del progetto della guida in linea
Aggiunta di macro al progetto della guida in linea
Compilazione e collaudo della guida in linea
Collegamento di un file di guida con un progetto di Visual Basic
Strumenti per la guida in linea di terze parti: RoboHelp
Riepilogo
PROGRAMMI D'INSTALLAZIONE
Package and Deployment Wizard
Dettagli dell'installazione gestiti dal Package and Deployment Wizard
Disinstallazione automatica
Punta e vai: Package and Deployment Wizard
File delle dipendenze
File delle dipendenze per i componenti
Il fileVB6dep.ini
File delle dipendenze del progetto: assemblare il tutto
Installazioni via Internet
Modifica del progetto modello Setup1
Riepilogo
CHE COSA C'È NEL CD-ROM
CORRISPONDENZE INGLESE-ITALIANO
INDICE ANALITICO