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
Qual è la tua app di instant messaging preferita?
WhatsApp
Telegram
Wickr
LINE
Kik
Tango
WeChat
Viber
Indoona
Snapchat
Facebook Messenger
Un'altra (indicala nei commenti qui sotto)

Mostra i risultati (2568 voti)
Settembre 2025
Windows 11, lo speed test si integra nella barra: misura velocità di up/download e latenze
ISEE, titoli di studio e certificati arrivano su IT Wallet. Il portafoglio digitale si espande
Microsoft contro ValueLicensing: fine delle licenze di Windows e Office a prezzi stracciati?
Il web aperto è ufficialmente in crisi: lo ammette pure Google. La colpa è anche della IA
Intelligenza artificiale per le automobili, licenziati 54 ricercatori a Torino
Dolcificanti a zero calorie e declino cognitivo: una ricerca brasiliana scopre un preoccupante legame
WinToUSB trasforma una chiavetta USB in un sistema Windows perfettamente funzionante
Meta accede a tutto il rullino fotografico senza permesso. Ma disattivare si può: ecco come
Agosto 2025
Google, stop all'obbligo di usare Gmail per gli account Android
Browser IA, l'allarme di Malwarebytes: ingannare gli assistenti e rubare dati è fin troppo semplice
Lo script che estende gli aggiornamenti di sicurezza di Windows 10 anche senza account Microsoft
La Danimarca saluta la posta cartacea: la consegna delle lettere terminerà alla fine dell'anno
PayPal, allarme sicurezza: i dati di 15,8 milioni di account in vendita sul dark web
Volkswagen, microtransazioni nelle auto: per utilizzare tutti i cavalli bisogna abbonarsi
Windows 11 24H2, dopo l'aggiornamento i dischi scompaiono. E i dati possono corrompersi
Tutti gli Arretrati
Accadde oggi - 18 settembre


web metrics