Corso di Visual C++ (prima lezione)

Prende oggi il via su ZEUS News un corso di programmazione in Visual C++, grazie alla collaborazione con Tommaso Trani di Software Planet. Iniziamo il corso presentando l'ambiente di sviluppo Visual C++ della Microsoft e le nozioni di base che ci serviranno per riuscire a scrivere i primi programmi per Windows 95/98/NT ... 2000?



[ZEUS News - www.zeusnews.it - 09-06-2001]

Introduzione alla programmazione in ambiente Windows

Innanzitutto ci servirà una buona conoscenza del linguaggio C e dei concetti di base della sua naturale evoluzione: il C++. Cioè l'importante è che sappiate scrivere un costrutto if senza andare a sfogliare il manuale e che abbiate una qualche esperienza di C++, va bene anche la lettura di un libro. Se non siete però tra questi non disperate! Infatti avrete modo comunque di migliorare le vostro conoscenze del linguaggio e comunque di avvalervi di un ambiente di sviluppo visuale che vi farà risparmiare la scrittura di circa il 70% del codice.

La versione del compilatore che utilizzeremo durante il corso è la 6.0, ma va bene qualunque versione dalla 4.2 in poi.

L'utilizzo del linguaggio C++, unito all'ambiente di sviluppo ‘visual', ci permette un'enorme flessibilità, velocità e manutenibilità del codice che andremo a scrivere nonché la possibilità di programmare un'interfaccia utente in modo veramente elementare.

Nello scrivere i nostri programmi ci serviremo della libreria MFC (fornita con il Visual C++). Questa ci permette di programmare l'interfaccia Windows in modo molto semplice ma efficace, sgravandoci dall'onere di andare a sfogliare un tomo come la Win32 API Bible di 1600 pag. ogniqualvolta vogliamo richiamare una funzione del Sistema Operativo (S.O.). Queste funzioni sono chiamate appunto API e l' MFC (Microsoft Foundation Class) si pone proprio come strato isolante fra esse ed il programmatore. Ciò è sicuramente una fortuna vista la rapidità con cui esse si evolvono; in futuro i programmatori che scriveranno programmi richiamando direttamente le API del S.O. saranno visti come quelli che oggi programmano in assembly.

Per vedere qualcosa di concreto, iniziamo a creare la nostra prima applicazione in Visual C++. Sembrerà stupefacente quando con pochi clic di mouse avremo un programma con barra di stato, barra degli strumenti, menu e perfino un help in linea!

Una volta aperto il Visual C++ (da ora in poi VC++) cliccare sulla voce new del menu file; cliccare ora sulla scheda Projects e quindi sulla voce MFC Appwizard(exe), digitare nella casella al lato il nome che daremo al programma ad esempio Prg1 e premere quindi il tasto Ok. Nella prossima schermata selezionare SingleDocument e cliccare quindi su Finish e poi su Ok per ridare la conferma dei file che il VC++ creerà per noi.

A questo punto il nostro primo programma è pronto, bisogna solo compilarlo; cliccare sulla voce Build Prg1.exe del menu Build o premere il tasto funzione associato (F7 di default). Ora il compilatore avrà mostrato l'output della compilazione nella finestra in basso dello schermo (se non è visibile premere Alt+2) e se è andato tutto a buon fine ci dirà qualcosa del genere:

--------------------Configuration: Prg1 - Win32 Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
Prg1.cpp
MainFrm.cpp
Prg1Doc.cpp
Prg1View.cpp
Generating Code...
Linking...

Prg1.exe - 0 error(s), 0 warning(s)

Ciò ci dice che il processo di compilazione e di linking è andato a buon fine e non ci resta quindi che eseguire il codice prodotto, per far ciò cliccare sulla voce Execute del menu Build o premere i tasti scorciatoia Ctrl+F5. Provando ad utilizzare il programma ci si accorge ben presto, che non fa esattamente nulla, ma d'altronde in pochi secondi abbiamo avuto tutta l'infrastruttura di un programma completo con perfino le finestre per aprite e salvare i file nonché le funzionalità di stampa ed anteprima di stampa; non potevamo certo chiedere di più!

Una piccola ripassata sui concetti di compilazione e linking spero che non offenda chi già li conosce, ma sarò comunque breve: la fase di compilazione è la fase nella quale il codice sorgente viene convertito in codice oggetto (se non ci sono errori). I file oggetto sono file, con in genere estensione obj, i quali si trovano nelle directory Debug o Release e che contengono tutto il codice tradotto in linguaggio pseudo-assembler. A questo punto abbiamo tanti files oggetto che devono essere ‘incollatì e a ciò pensa il linker che verifica anche che tutti i riferimenti di chiamate a funzioni siano presenti e corretti; il risultato finale del linking è un eseguibile (exe o dll).

Esplorando l'ambiente del VC++ vediamo che sulla sinistra è presente un riquadro con un raccoglitore a tre schede: c'è il ClassView che ci permette di navigare tra le classi del nostro programma, c'è il ResourceView che ci indica tutte le risorse grafiche come: finestre di dialogo, cursori, bitmap, icone... ed infine c'è il FileView che mostra tutti i files di cui è composto il nostro progetto organizzati in precise gerarchie in base alla loro funzione.

È tutto per questa prima parte e, nel frattempo che iniziate ad esplorare le caratteristiche del Visual C++, vi saluto e vi rimando alla prossima in cui inizieremo a scrivere un programma che manda su schermo del testo e dei disegni e che ci permette anche di stampare il nostro lavoro.

Leggi la seconda puntata del corso

A cura di Software Planet il centro di riferimento per i programmatori e i webmaster italiani.
Su Software Planet è possibile trovare oltre a chat, newsletter, librerie di migliaia di script, forum di discussione, anche corsi online gratuiti e scaricabili di Visual C++, Visual Basic, Java, Delphi, ASP, HTML, Perl, PHP, JavaScript, CGI, DirectX, SistemiOperativi, SQL, C con Linux, WML, Logica ed Automi, Privacy, Flash, Dreamweaver, Fireworks, ActionScript...
Per iscriversi alla newsletter mandare un'email vuota a subscribe@softwareplanet.net

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato con Zeus News ti consigliamo di iscriverti alla Newsletter gratuita. Inoltre puoi consigliare l'articolo utilizzando uno dei pulsanti qui sotto, inserire un commento (anche anonimo) o segnalare un refuso.
© RIPRODUZIONE RISERVATA

Commenti all'articolo (0)


La liberta' di parola e' un diritto inviolabile, ma nei forum di Zeus News vige un regolamento che impone delle restrizioni e che l'utente e' tenuto a rispettare. I moderatori si riservano il diritto di cancellare o modificare i commenti inseriti dagli utenti, senza dover fornire giustificazione alcuna. Gli utenti non registrati al forum inoltre sono sottoposti a moderazione preventiva. La responsabilita' dei commenti ricade esclusivamente sui rispettivi autori. I principali consigli: rimani sempre in argomento; evita commenti offensivi, volgari, violenti o che inneggiano all'illegalita'; non inserire dati personali, link inutili o spam in generale.
E' VIETATA la riproduzione dei testi e delle immagini senza l'espressa autorizzazione scritta di Zeus News. Tutti i marchi e i marchi registrati citati sono di proprietà delle rispettive società. Informativa sulla privacy. I tuoi suggerimenti sono di vitale importanza per Zeus News. Contatta la redazione e contribuisci anche tu a migliorare il sito: pubblicheremo sui forum le lettere piu' interessanti.
Sondaggio
Cosa fai se non usi un'applicazione da molto tempo?
La lascio nel dispositivo, potrei averne bisogno un giorno
La eliminano. Quando ne avr bisogno, la scaricher di nuovo

Mostra i risultati (1358 voti)
Settembre 2023
Microsoft, minireattori nucleari per alimentare i datacenter della IA
NFT senza valore, la bolla è scoppiata
X (ex Twitter), tutti gli utenti dovranno pagare
iPhone 15, il connettore USB-C è zoppo
Il bug di Windows che rende velocissimo Esplora File
Lidl, merendine ritirate: invitavano a visitare sito porno
Meta pensa a Instagram e Facebook a pagamento nella UE
Agosto 2023
Chrome, nuova interfaccia: ecco come abilitarla
L'Internet delle brutte Cose
LibreOffice balza dalla versione 7.6 alla 24.2
La scorciatoia che “congela” Gestione Attività
Ford agli utenti: spegnete il Wi-Fi dell'auto
Sony e Universal contro i 78 giri dell'Internet Archive
Meloni decide la nazionalizzazione di TIM
Da Z-Library un'estensione per aggirare i blocchi
Tutti gli Arretrati
Accadde oggi - 29 settembre


web metrics