Hardcore Visual Basic 5.0
Book information
Description
RINGRAZIAMENTI INTRODUZIONE Visual Basic senza limiti Oltre i limiti dell'API di Windows Oltre i limiti delle prestazioni Oltre i limiti degli oggetti Finalmente liberi Di che cosa parla questo libro Di che cosa non parla questo libro Il CD-ROM allegato al libro Codice sorgente e componenti La libreria di tipi dell' API di Windows Componenti ActiveX Wizard e helper Uso dei programmi di esempio Una breve geremiade 1. Lo Spirito del Basic Purificazione del linguaggio While/Wend Gosub/Return Goto Uscire dalle procedure Option Base e gli array con base zero Tipi di dati Una breve storia dei tipi del Basic Scegliere uno stile di dati Joseph Susan Karin Bruce Visibilità e vita delle variabili Convenzioni sui nomi Ungherese di base Prefissi di variabili Codice efficiente Codice compilato - non è una panacea P-codice e codice nativo Librerie a collegamento statico e librerie a collegamento dinamico Quello che non sai può farti male Esaminare il codice l'applicazione Time lt Cronometrare in Basic Cortocircuitare le espressioni logiche:un esempio di cronometraggio Assert Asserzioni al modo del Basic L'implementazione di un'asserzione Compilazione condizionale Altri messaggi di debug Impostazione delle costanti di debug Che cosa asserire 2. Il secondo livello dell'illuminazione Basic Non scrivere mai più un altro enunciato Declare Che cos'è una libreria di tipi? Scrivere una propria libreria di tipi Chiamate all'API di Windows dal Basic Anatomia di una chiamata di procedura Basic Anatomia di una chiamata di procedura DLL Il contratto API Parametri interi Puntatori a interi Interi grandi e valuta Tipi definiti dall'utente Array Variabili senza tipo Trattare con le stringhe Stringhe dentro e fuori Passaggio di puntatori null Interfacce per le funzioni stringa Prendere stringhe dall' API di Windows Impacchettatela in un1 interfaccia Unicode contro Basic Che cos'è Unicode? Funzioni API Unicode Trattare con i puntatori Portate l'accetta Stringhe di lunghezza fissa negli UDT Stringhe a lunghezza variabile negli UDT Altri puntatori negli UDT Stringhe senza tipo Il massimo dei trucchi: puntatori a procedura Limiti dei puntatori a procedura Enumerazioni Crash testing Inserimento di puntatori di procedura nelle variabili Stringhe nelle procedure callback FindAnyWindow 3. La via del Basic agli oggetti I tre pilastri Incapsulamento Riusabilità Polimorfismo Comunque a oggetti Programmazione a oggetti in stile Visual Basic Tipi Tipi intrinseci Tipi definiti dall'utente Classi: tipi che agiscono Dichiarazione di istanze di classe Inizializzazione di oggetti Dichiarazioni con New Procedure contro metodi Ancora sulle proprietà Da dove arrivano gli oggetti? Oggetti da CreateObiect Nuovi oggetti da librerie di tipi Oggetti controllo ActiveX Oggetti maschera Oggetti classe Interfacce duali e IDispatch La prima classe: CDrive Progetto del drive Collaudo Diagrammi di classe Implementazione di (Drive Inizializzazione dei dati di CDrive Lettura dei dati di Cdrive Metodi delle unità Membri di default Altre caratteristiche delle classi Membri statici Membri ''amici'' Eventi La classe Form Polimorfismo e interfacce Interfacce Filtri polimorfi Interfacce in Visual Basic Uso di una classe interfaccia Implementazione di un'interfaccia Uso di un'interfaccia Implementazione di un'altra interfaccia Uso di un'altra interfaccia Variazioni su lmplements e il polimorfismo Implementazione di più interfacce Perfezionamento delle classi pubbliche Implementazione di finestre e classi COM 4. Raccogliere oggetti Una lista di oggetti collegamento Una classe collegamenti Uso di una classe lista Uso di una classe iteratore di lista Implementazione di una classe lista lmplentazione di un iteratore di lista Ancora su Clist per iteratori Vettori come array ridimensionabili Uso dei vettori Implementazione di CVector Stack di oggetti Uso di uno stock Implementazione di uno stack La classe Collection Collezioni, primo corso: memorizzazione dei dati Collezioni, secondo corso: indicizzazione Che cosa fa camminare una collezione? Delega a una collezione Creazione di una collezione lteratori di Variant Enumerazione di Variant Trucchi stupidi con il codice Collection Wizard alla riscossa Creazione della collezione CThings Esplorazione della collezione CThings Esplorazione della collezione CVector Esplorazione della collezione Clist 5. Il canto del cigno della programmazione funzionale DLL funzionali Il componente VBCore Creazione di procedure globali Uso di oggetti interni per accedere a classi globali Dati di istanza e dati condivisi Il Global Wizard Inizializzazione di moduli e inizializzazione di componenti Il buono delle classi Creazione di oggetti globali Sviluppo per il mondo reale Un immaginario progetto reale Chi fa che cosa Come fanno a farlo Sviluppo di progetti reali immaginari Che cosa c'è di sbagliato? Che cosa potete fare? Quando generare errori Come generare errori Trasformazione degli errori API in errori Basic Gestione degli errori nel client Revisione del codice Il programma che non voleva morire StrBreak e StrSpan GetToken Problemi in Paradiso Codificare C in Basic Più veloce o più sicuro Sistemazione dell' API di Windows GetFullPathName SearchPath GetTempPath e GetTempFileName Manipolare bit Cinque parole basse Scorrimento di bit Lettura e scrittura di blob Ordinare, rimescolare e cercare QuickSort ricorsivo QuickSort iterativo Ordinamento di tipi diversi Confronto e scambio Il trucco della classe helper Mescolare Ricerca binaria 6. Assumere il controllo di Windows WinWatch Elementi di WinWatch Tutto sulle finestre La classe Window Alla scoperta di CWindow Una classe CWindow Basic La Via di Windows alle proprietà La Via di Windows ai metodi Interfacce Basic per funzioni Windows Prendere dati stringa di Windows Word e Long delle finestre Bit di stile Posizione e dimensioni di finestra Iterare sulle finestre Iterazione nel modo difficile Fare finestre Ulteriori relazioni tra finestre Tutto sui programmi Funzioni dell' API specifiche del sistema Processi, moduli, finestre top, istanze e thread L'elenco dei processi, dal punto di vista di Windows 95 L'elenco dei processi, dal punto di vista di Windows NT Ancora su handle e ID di processo ID di processo univoci Gestione di più istanze Invio e ricezione di messaggi Invio di messaggi La funzione SendMessage Ricerca di elementi delle caselle di riepilogo Disattivare la visualizzazione durante gli aggiornamenti Ricezione di messaggi Altri modelli di subclassing Altri messaggi, altri eventi Incapsulamento di intercettazioni di messaggi Uso della classe CSysMenu Uso della classe CMinMax Il codice del menu di sistema nella classe CSysMenu Il codice del menu di sistema nella classe CMinMax Subclassing generico Collegamento e scollegamento dei messaggi Elaborazione dei messaggi Debug di window procedure con subclassing 7. Dipingere immagini Da Windows al Basic e ritorno Contesti di dispositivo e oggetti ''tela'' Attributi di contesto di dispositivo, proprietà di tele Funzioni dei contesti di dispositivo, metodi delle tele Prendere a prestito handle di contesto di dispositivo Capacità dello schermo Due modi di disegnare Disegnare: la Via del Basic Disegnare: la Via di Windows Vedere le stelle Curve di Bezier Dipingere in Windows Oggetti Picture Metodi e proprietà delle Picture Caricare oggetti immagine Dipingere: la Via di Windows Una parola su Blit e Blitting BitBlt e PaintPicture StretchBlt e PaintPicture PaintPicture, in conclusione Tutto sulle ROP Trasferimento (blitting) di immagini su sfondi Creare maschere Animare immagini Glass Picture Usare CPictureGlass Dentro il bicchiere Pulizia del vetro Spostare un oggetto Glass Altre proprietà e altri metodi di CPictureGlass Nessun controllo Timer Animare i dorsi delle carte 8. Un handle ai dati Tre approcci ai dati Il problema dell'inizializzazione dei dati Inizializzazione di variabili locali Inizializzazione di variabili maschera Inizializzazione di oggetti classe e variabili interne Inizializzazione di variabili di modulo Uso delle proprie risorse Creazione di uno script di risorse Anatomia di un blocco di risorse Compilazi.one di script di risorse Uso delle risorse di altri Risorse rubate Risorse trovate La Via di Windows all'uso delle risorse Uso di risorse di dati Uso di mappe di bit Handle a immagine e ritorno Problemi di tavolozza Caricamento di tavolozze Trucchi con le tavolozze Icone con qualcosa in più Le nuove icone di Windows e le icone di Visual Basic Una LoadPicture migliorata Una LoadResPicture un po' migliorata Ritorno alle icone in WinWatch Uso dei cursori Uso di risorse stringa Uso di suoni Uso di dati di versione Uso della classe CVersion Controllo dei numeri di versione Implementazione della classe CVersion Uso di altre risorse Creazione di proprie risorse 9. Scrivere codice che dura nel tempo Edwina e il controllo XEditor Il controllo XEditor L'interfaccia di Edwina Il controllo Xeditor Inizializzazione Il nome giusto Passaggio Sostituzione XEditor estende Rich TextBox Il bit ''dirty'' Modalità Text e Rich Text Il formato file di testo Il formato rich text Disattivazione del rich text Metodi e proprietà di Undo Metodi e proprietà di stato Estensioni dei dialoghi comuni Implementare dialoghi comuni: la Via del Basic e quella di Windows Uso dei dialoghi comuni Implementazione di VBGetOpenFileName L'UDT OPENFILENAME Gestione di parametri facoltativi Gestione di filtri, nomi di file e flag Lasciamo fare il resto a Windows Estensioni per ricerca e sostituzione Progettare finestre di dialogo Find e Replace Implementazione della maschera FSearch Caricamento della maschera f Search Ridimensionamento di maschere e spostamento di controlli Inizializzazione dei controlli sulla maschera f Search Il controllo XDropStack Uso di uno stack a discesa XDropStack chiama XEditor Ricerca e sostituzione di testo L'oggetto, Keyboard Uso dell'oggetto Keyboard Controllo dello stato di insert di RichTextBox Implementazione della classe CKeyboard 10. COM dietro le quinte COM: la visione Terminologia COM COM da tutti i punti di vista Il server dei numeri primi Il client del crivello Numeri primi in modo funzionale Numeri primi a oggetti Numeri primi con una DLL ActiveX Numeri primi con un EXE ActiveX Il controllo XSfeve Dietro le quinte alla fabbrica di COM Il nome della classe I GUID sono univoci I GUID sono eterni Quello che non sapete Uso di IUnknown Implementazione di IUnknown Creazione di oggetti Conteggio dei riferimenti e non Conteggio dei riferimenti Conteggio dei riferimenti nei client Quando il conteggio dei riferimenti sbaglia Un esempio di conteggio dei riferimenti Non conteggio dei riferimenti Domande Poco Frequenti su COM Come posso fare uno copio di un oggetto? Qual è la differenza fra i parametri di oggetto ByVal e ByRef? Posso avere il conteggio dei riferimenti corrente? Perché non posso passare struffure come parametri di metodi pubblicio proprietà? Interfacce OVUQ_que IShellLink: scorciatoie per la strada lunga Librerie di tipi di interfaccia Da CShellLink a CShortcut La classe CShortcut Il metodo Save Forzatura dell'interfaccia Il metodo Resolve Proprietà di CShortcut Registry Blues Strumenti per il Registro Apertura e lettura delle chiavi Lettura di valori Nodi ed elementi del Registro di configurazione Accesso al Registro Iterazione sul Registro di configurazione Che cosa scrivere e dove COM e il Registro di configurazione Un crivello nel Registro Registrazione di componenti I programmi Windows nel Registro di configurazione Tutto quello che avreste sempre volutosapere su ... Uso della classe CAbout Una classe che incapsula una maschera Un maschera incapsulata da una classe Animazione La classe CSystem e l'oggetto System Ordinamento di caselle di riepilogo Metodi e proprietà delle collezioni Ricerca di elementi Collezioni ordinate I programmi degli altri Uso di Shell Privilegi da Executive Modalità caratteri destinata all'esecuzione La mamma dell'Executive Uso di ShellExecute Comunicazioni tra processi Memoria condivisa attraverso file mappati in memoria Thread e sincronizzazione Dove non osano gli angeli Il thread successivo Notifica di file La parte client della notifica di file li lato server della notifica di file Il nuovo ''look end feel'' Il senso della tridimensionalità Colori e dimensioni di sistema Ancora sull'interfaccia Caselle a griglia La classe CColorPicker Il controllo XColorPicker Bit Editor Che cos'è un file? Date e ore dei file Operazioni su file politicamente corrette Informazioni sull'interfaccia dei file Uso di classi che incapsulano informazioni di file Incapsulamento delle informazioni dei file Iterazione su file Iterazione su cartelle Cartelle e elementi Fare qualcosa con le cartelle Grandi esploratori e controlli comuni Il controllo lmagelist La proprietà Picture e il metodo Extractlcon Il metodo Overlay Il metodo Draw e la funzione Drawlmage Controlli Toolbar e StatusBar Il controllo TreeView Il controllo ListView INDICE ANALITICO
Similar books
Visual Basic 6 Black Book
1998 · PDF
Visual Basic® .NET Notes for Professionals book
2018 · PDF
Introduction To Computer Programming And Numerical Methods
2007 · PDF
Microsoft Visual Basic 2017 for Windows, Web, and Database Applications: Comprehensive
2017 · PDF
Starting Out With Visual Basic
2017 · PDF
Programming with Microsoft Visual Basic 2017
2017 · PDF
Hardcore Visual Basic
1997 · CHM
Hardcore Visual Basic: Version 5.0
1997 · CHM