Sei sulla pagina 1di 5

/----- - ------N \

-7
,....--

\
I(

,._.
I

E PROFESS.PONIT-T5 '.
INFORIVAIIICA PER 'AZ.i-ERI)E
.
.
.
ja

ari"

I
1:41310

:1~6
11.6.

41

r,,_
:r

OVE. TECNOLOGIE
.PER I I 1_'. -TOP

PIRATERIA:

L.C~ IDiCIE LA NUOVA LEi E

-' -

a-rvig-Os

VERSINE 6
ARRE/ATO

IL SUCCESSORE DEL 86

COME SCEGLIERE
LA LASER

ri-

Fox PRO 2.5


PER WINDOWS:
IL DATABASE

p-

Casa EdttrIcerr

tecniche nuove

Numero 1 1993

PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor
Sped. in Abb. Postale gruppo IV/70 - Trimestrale - Anno - 2 - Una cdpia Lif. 4000

N ot;44/44/apii//11:,

N 1 aprile 1993

EDITORIALE

PIACERE DI CONOSCERTI
di Renato Fumi

NUOVE TECNOLOGIE
NOVIT PER I PORTATILI
di Charlotte Klopp

14

PIRATERIA

LA NUOVA LEGGE ITALIANA


di Mauro Mazza

AMBIENTI
MS -DOS VERSIONE 6
di Marco Spada

INTERVISTA
QUESTIONE DI CULTURA
di R. F.

CASE HISTORY
ITALTEL: DOPO GLI STANDARD LA
FORMAZIONE
di Paolo Bonen

SOTTO ESAME
WORKS 3.0: NON SOLO WINDOWS
di Giancarlo Sada

AUTOCAD 12
di G. S.

CACCIA ALLA VOLPE


di Marco Anelli

VISUAL C++
di Guido Bertolotti

MICROPROCESSORI
586? NO: PENTIUM
di Luigi Rizzi

17
19
23

27
29
32
34
Milill
36
39

PRATICA

GUIDA ALL'ACQUISTO:
COME SCEGLIERE LA LASER
di G. G. M.

43

''\

\ ,r
/I

NEL MONDO
TIPS & TRICS
hinDLic&;'11 - aprile 1993

42

PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Sotto esame
a Microsoft, sempre attenta alle im-

Viene inoltre fornito l'intero Software

pressioni degli utenti finali dei suoi

Development Kit (SDK) per Windows e la possibi-

prodotti, ha effettuato una ricerca


sui programmatori professionisti
che impiegano il C e il C++. Gran

lit di sviluppare applicazioni per l'MS-DOS.


Sono infine messi a disposizione CodeView e un

parte di essi desidererebbe utilizzare il C++ al posto del C come linguaggio di sviluppo primario, per sfruttarne i vantaggi associati alla programmazione a oggetti. Tuttavia, il linguag-

gio complesso e il tempo necessario per l'apprendimento lungo. Inoltre, gli attuali compilatori C++ introducono notevoli overhead che si
traducono in maggiori dimensioni degli eseguibili
e, soprattutto, in una esecuzione spesso troppo
lenta. Cos i buoni propositi cadono facilmente

source profiler sia per Windows che per MS DOS. Noi abbiamo provato la versione
Professional ma, tenendo conto delle differenze
sopra esposte, anche chi interessato alla versione Standard potr averne una panoramica completa.

L'AMBIENTE DI SVILUPPO
Visual C1-+ 1.0 aumenta la produttivit e accelera

la costruzione di applicazioni utilizzando molti

davanti alle difficolt pratiche.

strumenti, tutti integrati tra loro: il Visual

Per programmare sotto Windows, infine, sarebbe


auspicabile aumentare il livello di astrazione delle
librerie fornite finora e aggiungere nuove e pi
potenti funzionalit. Anche un ambiente di sviluppo integrato, flessibile e comprendente tool
avanzati, funzionante sotto Windows, una necessit imprescindibile per ridurre i tempi di svi-

Workbench, il primo ambiente a cui si accede


(comprende editor, compilatore, debugger);
l'AppWizard, che con pochi click di mouse per-

luppo.

mette di creare lo scheletro di un'applicazione;


l'AppStudio, con il quale si creano e si modificano risorse (icone, cursori, finestre, bottoni e cos
via) in modo semplice e intuitivo; il ClassWizard,
per il collegamento dell'interfaccia utente al codi-

ce C++ che gestisce gli eventi; le Microsoft

LE RISPOSTE

Foundation Classes (MFC) 2.0, una grande libreria di classi che semplifica di molto la programmazione per Windows.

La Microsoft ha cercato, con Visual C++ 1.0, di


risolvere questi problemi. La prorar
MlernsnitVlsigal CAt.
grammazione sotto Windows in C file Ecfit View Project Browne Debug Teole Optiome Anta" Help
e, soprattutto, in C++ ora accesmi,s.,,,, 1:1 [1] 101:i
1,s1
uthivii.]
sibile ai programmatori di ogni li-I
<2> CANSVCWOURCEASTARTUPIWILD.0

D ED
o'

vello, grazie all'eliminazione di

_p_cte ttw,

retuwn(-1);

titivi.

e:1> ClIMSVCISAMPLESIMENUiMENUI

me

Il nuovo ambiente, infatti, completamente integrato, funziona sotto Windows e fornisce strumenti
potenti per l'editing, la costruzione di risorse (icone, cursori, immagini bitmapped, finestre, men e

1: 41.1,7_ y

,A.._

.,,...,

So ),..t cher], th_s on.

gn,i

,p;_,J_ '_1/ 1.11 11i1

Vt

10

lud ti at taill, Des:roy the

CI CF
Z1.4. --,d

menu for

I, -,:yr. .0.11 -prin,

Duu.i-JvHummad=uu),

rcturn;
)

1,-,d the etttneps and nildnuk the 10

hIL,diElth.
.il

L_,,,,dE,I.Lnia- dliust
NILI).1

aLue,edBLIotoi_ --

gargralon(beid

the neon 0

chee..=e

"Jnoble ;o Icce bit.2p chee,con",

"Erro=', MEL:CONEXCIANATLDN

KB_OK);

Jestro?Utridcw(hund);

cos via), il passaggio veloce da un

tool all'altro, il browsing e il de-

.'1

''

bugging. Il pacchetto viene fornito

cIln:ernal.2

in due versioni, Standard e

File

<.>
,,,,/,..

recentissimo
Visual C++ 1.0.

Creare programmi in C e
C++ per Windows e

MS -DOS diventa ora pi

veloce e produttivo,

grazie a un notevole
ambiente di sviluppo ed
estese librerie di classi

La prima pu essere consigliata a

chi comincia a programmare

Li '.- I

Professional.

Abbiamo provato il

-1'

-1.9

i i4dtli.C.1.4>)

gran parte dei lavori banali e ripe-

di Guido Bertolotti

ienl..

NU

//include

Sifdef _I
in

C++ sotto

Vediamo ora in dettaglio ciascuno di questi strumenti.

mente fa uso del QuickC per Windows.

VISUAL WORKBENCH

La versione Professional invece de itinata a pro-

l'ambiente principale, da cui si pu immediata-

grammatori esperti che sviluppano applicazioni


medio -grandi e che finora hanno p robabilmente
utilizzato Microsoft C/C++ 7.0. Oltre a tutte le caratteristiche incluse nella versione S :andard, con-

mente accedere a tutti i tool, compresi AppStudio

tiene un compilatore ottimizzante, [e d la possibilit di specificare alternativament e, con switch

sono di un colore, i commenti di un altro, le strin-

semplificati, se ridurre il pi possibile le dimensioni dell'eseguibile o massimizzarne la velocit.

sshgctil! Et
itendlf

Windows e non prevede di svilup Hire progetti


molto estesi. E un ideale upgrade p er chi attual-

/" CM,
IMPLEKEITI

BEGIN
/7({

ON a

e AppWizard. L'editor incluso permette di preparare il codice sorgente (C o C++) che viene anche

ONICL
ON IR

colorato per migliorarne la leggibilit (le keyword

END-KEssi

ghe di un altro ancora).


Si possono aprire tante finestre sia di editing sia

ON=9/
,,T.

l'chkbx"

per la consultazione delle classi: la gerarchia vieI

PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor
afii@MMOUI - aprile 1993

Sotto esame
ne rappresentata graficamente con alberi e, cliccando con il mouse, si possono esplodere i nodi in
sottogerarchie con notevoli vantaggi in termini di
velocit di consultazione. E anche possibile evi-

denziare le relazioni fra funzioni chiamanti e


chiamate. Il debugger integrato pienamente
compatibile con CodeView, che pu essere richia-

mato in ogni momento, in una delle due versioni


per Windows o MS -DOS. CodeView viene caricato molto pi velocemente della precedente release
inclusa nel C/C++ 7.0. Si pu compilare un modulo o un intero progetto con un click. Compilatore

completa una finestra che pu essere mandata immediatamente in esecuzione con un colpo di tasto.

Il programmatore in grado di aggiungere alla

Anche in AppStudio si possono sfruttare le possi-

PAGINA A FRONTE:

bilit di multitasking di Windows, creando e mo-

UNA SCHERMATA DI

dificando contemporaneamente pi risorse in finestre diverse.

VISUAL WORKBENCH,

(interfaccia per documenti multipli, toolbar.

E ancora possibile, per quei programmatori che


ne avessero la necessit. editare direttamente, nel
modo tradizionale, il testo dei file che descrivono
le risorse. E sempre garantita la compatibilit con

CON 4 FINESTRE DI
EDITING APERTE CONTEMPORANEAMENTE, DI

CUI DUE RIDOTTE A


ICONA. SI NOTI LA

stampa e anteprima di stampa. controlli custom.

il vecchio compilatore di risorse del C/C++ 7.0 e

TOOLBAR CON I BOTTO-

help sensibile al contesto).

col Software Development Kit (SDK) di Windows.

AppWizard, basandosi sulla libreria MFC 2.0,


prepara i sorgenti e tutti i file necessari per una

NI PER LE FUNZIONALIT DI GESTIONE DEI

CLASSWIZARD

FILE, LA RICERCA DI

ClassWizard un nuovo strumento, il primo nel


suo genere: possiamo infatti considerarlo come un
assistente del programmatore. Accessibile sia
dal Visual Workbench che da AppStudio, esso
permette di scegliere i messaggi di Windows ai

TESTO, LA COMPILAZIO-

quali il nostro programma dovr rispondere e as-

QUI MOSTRATA UNA

segnare, per ogni messaggio, il nome della funzio-

ne che se ne occuper. ClassWizard, in modo au-

SCHERMATA D'AIUTO
SULLE CLASSI PER IL

tomatico, aggiorna gli header con le necessarie di-

COLLEGAMENTO E L'IN-

chiarazioni di funzioni e di variabili e aggiunge


anche, nei file d'implementazione, le appropriate

CORPORAMENTO DI OG-

funzioni vuote, insieme a commenti che aiutano

DELLE MFC 2.0.

APPSTUDIO

Eccoci giunti al tool d'impatto pi immediato, richiamabile come al solito dal Visual Workbench:
un insieme di editor specializzati che permetto -

Segnalibro

Cerca

grossi progetti con decine o centinaia di fi-

Description

..E Client Classes

kcii,niry

A client document that manages


client items. You musi derive your
documents from this class instead
of CDocument to implement OLE
client functionality.

r rd,.: lintiti-rc

r---

A client item class that represents


the client's side of the connection
to an embedded or linked OLE
item. You musi derive client items
from this class.

:LE Exception Class


eption

Exception resulting from a faikire in


OLE processing. This class is
used by both chents and servers.

plE Server Classes


gOleServet

GETTI (OLE CLASSES)

menticanze ed errori, specialmente per


I Hietarchy

OLE Classes
Class

IN QUESTA PAGINA:
HELP A IPERTESTO.

MFC Help
? Copyright

Precedente i Cronologia I Browser

NE E IL DEBUGGING.

il programmatore a capire che tipo di istruzioni


dovr aggiungere. Si pu saltare direttamente al
codice di gestione con un click: questo elimina la
necessit di aprire e chiudere manualmen1'
te diversi sorgenti, che spesso fonte di di-

Microsoft Visual C++

golft

dialog box. In questo modo semplice e intuitivo si

trascinarli come tutti gli altri.

to dall'utente per ottenere il programma finale.


AppWizard si dimostra estremamente utile, perch non bisogna ogni volta partire da zero: modificare e aggiungere funzionalit a una base gi
presente molto pi semplice e si evita il frustrante compito di dovere ogni volta reinventare
l'acqua calda.

scrollar e cos via) dall'apposita palette e trascinarli uno alla volta nella posizione voluta della

cos di editare una nuova funzione mentre la compilazione procede.

compilazione immediata dell'applicazione. Si pu


cos ottenere subito una versione di base funzionante, il cui codice dovr essere esteso e modifica-

Modifica

(che possono essere bottoni, combobox. edit box.

palette elementi di controllo custom e prenderli e

Il modo pi rapido per cominciare a sviluppare


una nuova applicazione chiamare AppWizard.
Da dialog box si possono scegliere le caratteristiche che il nuovo programma dovr supportare

omano

Per preparare una dialog box si pu. come in


Visual Basic, cliccare gli elementi di controllo

e linker operano poi in background, permettendo

APPWIZARD

se

no di creare e modificare risorse, ovvero men,

icone, cursori, immagini bitmapped, simboli, tabelle di stringhe e tabelle di tasti acceleratori.

A server application class that


creates and manages server

___

le. Quando cambiano le relazioni fra l'interfaccia utente e il codice, si pu usare


ClassWizard per aggiornare direttamente i
sorgenti. Tuttavia, questo tool completamente non -invasivo: non cambia mai parti
di programma scritte dall'utente.
Ci evita tutti i problemi di interpretazione connessi con l'uso di generatori autoq
matici di codice. Oltre a queste funzionalit, ClassWizard utilizza le MFC 2.0 per
inizializzare i valori di default dei vari elementi di una dialog box, convalidare i dati
inseriti dall'utente finale e assegnarli direttamente alle variabili quando si chiude
la finestra: non c' pi bisogno di scrivere

rvizrr~36 001
PDF compression, OCR, web optimization
using a watermarked evaluation copy of CVISION PDFCompressor

km.)&2

- aprile 1993

Sotto esame
una funzione get per leggere i valori e assegnar-

in C++ in un quarto delle linee necessarie alla ver-

li a variabili. Infine, anche i progetti sviluppati


utilizzando le MFC 1.0 (con il Microsoft C/C++
7.0) possono essere facilmente importati e resi

sione in C, dev'essere ancora pagato, e non tutti

compatibili con ClassWizard e le MFC 2.0.

usate dal programma: questo riduce di molto la

Chi programma utilizzando l'SDK per Windows


non pu invece avvalersi di ClassWizard, a causa
della profonda integrazione di quest'ultimo con le

mole dell'eseguibile, specialmente per programmi


che fanno uso di grosse librerie (come le MFC).

MFC 2.0.

LE MICROSOFT FOUNDATION CLASSES

AVER PREPARATO, CON

La libreria Microsoft Foundation Classes (MFC)


2.0 fornisce un vasto insieme (oltre 100 classi) di
elementi precostruiti che semplifica enormemente
la programmazione in C++ sotto Windows. Per

L'APPOSITO EDITOR

esempio si pu aggiungere una toolbar a un'appli-

GRAFICO E LA RELATI-

cazione con solo 10 linee di codice che per ne

VA PALETTE, UNA DIA -

chiamano oltre 1.500 nella libreria.

APPSTUDIO:

38

DOPO

Tra le principali nuove classi e possibilit offerte


citiamo: documenti, con visualizzazione, editing,
gestione file (New, Open, Save, Save as), visualizzazione grafica personalizzabile, stampa e anteprima di stampa; toolbar e righe di stato; gestione
di moduli da compilare, editing, scrolling, ricerca, sostituzione, spostamento, preview e stampa

--

, LO. LP 121.... 11r..=1,2

formo

r....
r..4

,,

ILMii; ig LI C.... i

TV, pat C R.... 6, d

.T.,.....____,

......_

Oteck

1W

.1I

~o I
adonni

m. rt,ktm, nr.,

..

1..t.w.

Q.

no_tmoot p0.12.11

Ti

-1

Luning

Male

o ~li

I:~

n..?

di testi; supporto dell'Object Linking and

n...1
eurst I

DOCUMENTAZIONE E ASSISTENZA
Dobbiamo registrare la mancanza di un tutorial
interattivo che, viste le dimensioni e la complessit del prodotto, riterremmo utile per un primo
contatto con l'ambiente di sviluppo. Viene invece
fornito un completo tutorial su supporto cartaceo
che, attraverso la costruzione del programma di
esempio Scribble (presente sui dischetti), permette di sperimentare dal vivo gran parte delle possi-

help sensibile al contesto.

MANDARE SUBITO IN

Le MFC 2.0 sono fornite in formato sorgente,


progettato in modo da essere indipendente dal

stito pi tempo e impegno, l'impatto meno immediato ma i risultati che se ne ottengono sono sicuramente migliori.
L'help fornito ovviamente in ipertesto e si diinostra piuttosto completo, almeno per le necessit
pi immediate. Anche i programmi di esempio coprono gran parte delle possibilit offerte.
Per informazioni pi specifiche bisogna invece
consultare la documentazione, che comprende,
oltre ai manuali utente e all'aggiornamento per gli

ESECUZIONE (A DESTRA IN ALTO) PER VEESTETICO E FUNZIONA-

compilatore, dando cos la possibilit di utilizzarle anche con altri compilatori C++ standard.
I programmatori che lo desiderano possono me-

LE.

scolare il ricorso alle MFC 2.0 con normali chia-

RIFICARE IL RISULTATO

mate al Software Development Kit (SDK) di


Windows, o anche utilizzare le MFC 1.0: ci per-

mette di programmare spingendosi fmo al livello

mette di condividere parte del codice, riducendo


in tal modo le dimensioni dei singoli eseguibili e
l'occupazione di memoria centrale.

BASSO). LA SI PU

rn

Inse -

(DLL): se diverse applicazioni sono contemporaneamente attive, l'opzione link dinamico per-

LOG BOX (A DESTRA IN

Mme6Steetuncel.

{Ira ntors

In questo caso, infatti, il linking causerebbe normalmente l'aggiunta di un gran numero di funzioni inutilizzate. Tutte le MFC 2.0 sono inserite anche in un'unica libreria a collegamento dinamico

bilit del Visual C++.

IN i

'

Il linker evita di inserire le funzioni che non sono

Embedding (OLE o Collegamento e Incorporamento di O etti), sia in modo client sia server,
per sfruttare appieno questa interessante possibilit introdotta con la versione 3.1 di Windows;

a L_

gli overhead relativi al C++ sono stati eliminati.

Vslndnw

19:91,

LI=J ZUCELMIWI
ANPI 11Aft Amrr
oe Rtopti
IWl AccELMMOnl

ribloy
0111

Ic.nl

IJ
table
.l
un

I00

interattivo motivata dalla sua relativa rigidit e


limitatezza. Seguendo un tutorial in cui va inve-

di dettaglio necessario, consente una migrazione


graduale verso il nuovo ambiente e d modo di
riutilizzare moduli sviluppati con sistemi prece-

utilizzatori del C/C++ 7.0, i due volumi della Class

denti.

aggiunta ulteriore documentazione, promessa dalla Microsoft, per un totale di oltre 8.000 pagine.

Library Reference per le MFC 2.0.


In tutto fanno circa 2.400 pagine, a cui pu essere

MENUI

ibn m

Probabilmente la scelta di non includere un corso

nMb

IL COMPILATORE E IL LINKER
Si tratta, in conclusione, senza dubbio di un ottirato rispetto alla versione inclusa nel C/C++ 7.0 e

mo e potentissimo prodotto, in cui evidente uno


sforzo notevole per migliorare sempre pi le pre-

fornisce codice a volte un po' pi compatto e spes-

stazioni e la facilit d'uso, mantenendo nel con-

so molto pi veloce.

tempo la compatibilit con le versioni precedenti.

I programmi sviluppati con le MFC sotto


Windows 3.1 sono inoltre compatibili con

SE APERTI. IN PRIMO

stata introdotta anche la possibilit di generare


codice ottimizzato per l'80386.
Tuttavia, compilando un programma di prova in

PIANO LEDITOR PER LE

C++, che fa uso delle MFC 2.0, si ottiene un ese-

alcuna modifica ai sorgenti.

IMMAGINI BITMAPPED.

guibile lungo pi del quadruplo del corrispondente scritto in C con chiamate all'SDK.

Possiamo quindi affermare che l'adozione del

Il grosso vantaggio in termini di maggiore astra-

zioni un investimento che durer nel tempo.

Anche il compilatore stato ulteriormente miglio-

APPSTUDIO CON TUTTI


I

SEI EDITOR DI RISOR-

Windows NT e Win32s, basta ricompilarli senza

Visual C++ per lo sviluppo delle proprie applica-

zione, che permette di scrivere questo programma

PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor
DYAOPC)&822 - aprile 1993

Potrebbero piacerti anche