”GESTIONE TEATRO ©”
Marco Meletti
Classe 5 Aia
2001/02 ©
INDICE RELAZIONE
1. Descrizione Progetto
2. Realizzazione Progetto
2.1. Delphi
2.2. Microsoft Access
2.2.1.
Impostazione Odbc
2.3. Inserimento dati
2.4. Ricerca dati
2.5. Stampa dati
2.5.1.
Report
2.5.2.
Microsoft Word
3. Guida al Programma
3.1. Schermata Principale
3.2. Menù
3.2.1.
Gestione Dati
3.2.1.1.
Indirizzi
3.2.1.2.
Clienti
3.2.1.3.
Contratti
3.2.1.4.
Fatture
3.2.1.5.
Scadenziario
3.2.2.
Archivi
3.2.2.1.
Spettacoli
3.2.2.2.
Fornitori
3.2.2.3.
Generi
3.2.2.4.
Mod. Pagamento
3.2.2.5.
Iva
3.2.2.6.
Fornitori
3.2.2.7.
Codice Selezione Indirizzi
3.2.3.
Stampa
3.2.3.1.
Indirizzi
3.2.3.2.
Clienti
3.2.3.3.
Contratti
3.2.3.4.
Fatture
3.2.4.
Opzioni
3.2.4.1.
Credits
3.2.4.2.
Guida
3.2.4.3.
Editor Contratti – Fatture
3.2.4.4.
Visualizza Report Salvati
3.2.4.5.
Esci
GUIDA TECNICA
DESCRIZIONE DEL PROGETTO
Il progetto è nato grazie all’opportunità di lavoro che mi è stata offerta dalla compagnia teatrale
“Teatro del Drago”. Il lavoro che mi era stato affidato era quello di creare un programma per la
gestione dei dati. Il programma oltre che alla gestione dei dati doveva rispecchiare alcune
caratteristiche fondamentali che mi erano state espressamente richieste dai ragazzi della compagnia.
La compagnia teatrale utilizzava già un programma per la gestione anche se era molto vecchio e con
la presenza di molti bug.
Uno dei problemi principali del vecchio programma era la compatibilità con i programmi della
SUITE OFFICE. I dati non erano memorizzati in un unico database, ma in tabelle singole
realizzate con il programma Fox Pro della Microsoft. Queste tabelle non potevano essere aperte o
modificate con il programma Microsoft Access o utilizzate da qualsiasi altro programma.
Il programma oltre alla gestione dei dati doveva anche occuparsi della stampa di essi. Per esempio
si ha la necessità di stampare le etichette con i nominativi e i rispettivi indirizzi da attaccare nelle
buste senza bisogno di scriverli a mano. Oltre alla stampa degli indirizzi o dei dati relativi al cliente
il programma si occupa anche della stampa dei contratti e delle fatture in modo da poter
automatizzare tutto il processo e rendere meno faticoso il lavoro delle persone.
Sempre nell’ottica della semplificazione e della velocità si sono introdotti degli archivi per gestire
meglio l’inserimento dei dati. Per esempio, sono stati creati degli archivi per gli spettacoli, per le
modalità di pagamento, per i vari tipi di iva da applicare sui costi di uno spettacolo o anche per
gestire i dati relativi ai fornitori.
Per quanto riguarda, invece, la gestione dei dati ci si doveva occupare dei contatti della compagnia,
dei dati relativi ai clienti e della creazione dei contratti e delle fatture. Oltre a questo ci si è anche
occupati della gestione dello scadenziario, in modo da poter gestire meglio le fatture.
REALIZZAZIONE DEL PROGETTO
Per realizzare il mio programma ho utilizzato un ambiente di sviluppo visuale. Di programmi in
commercio ce ne sono parecchi, tra i più conosciuti Microsoft Visual C ++, Delphi, C++ Builder e
Visual Basic.
Nel mio caso ho deciso di utilizzare Delphi visto che è un’ evoluzione del linguaggio Pascal
studiato negli anni passati. Delphi è stato utilizzato per creare l’interfaccia utente.
Per la gestione del database ho pensato di utilizzare Microsoft Access, visto che è un programma
abbastanza diffuso e anche molto semplice da usare. Oltre a queste due considerazioni la scelta di
Access è stata anche obbligata visto che quelli che mi hanno commissionato il lavoro mi hanno
chiesto di creargli un programma compatibile al massimo con i programmi della Suite Office.
•
DELPHI
Delphi è uno dei prodotti più venduti della Borland. E’ un linguaggio di tipo RAD (Rapid
Application Development), cioè un ambiente per il rapido sviluppo delle applicazioni.
Delphi permette di creare applicazioni sotto Windows grazie a una comoda interfaccia grafica per
l’utente (GUI
Graphical User Interface) utilizzando al massimo la potenza dell’object pascal.
Offre la possibilità di creare applicazioni di tutti i tipi, da applicazioni gestionali, a giochi, a
programmi per la gestione delle e-mail e anche alla realizzazione di web browser.
•
MICROSOFT ACCESS
Access è stato introdotto nel mercato dei database nell’ottobre del 1992 e subito milioni di utenti
hanno adottato questo prodotto in quanto è molto semplice da utilizzare e permette una buona
gestione dei database.
Oltre ad essere un programma di gestione dei database per utenti non molto esperti, permette di
soddisfare a pieno le esigenze dei programmatori visto che è in grado di integrare Visual Basic for
Applications.
Inoltre, da’ la possibilità di integrare il database all’interno degli altri programmi della Suite Office.
Un esempio è la possibilità d’importare nel programma Outlook un database generato in Access
contenente i nomi dei clienti con i relativi indirizzi e dati.
Uno dei fattori che mi ha portato ad utilizzare Access è stata proprio una di queste possibilità.
L’utilizzo di Access nel mio programma è molto limitato in quanto è stato utilizzato solamente per
la creazione del database e delle sue relative tabelle, infatti tutto quello che riguarda la gestione dei
dati è stata realizzata tramite Delphi.
Access, infatti, dà la possibilità di effettuare molte operazioni tra cui la creazione di maschere per
l’inserimento dei dati, l’esecuzione di varie interrogazioni sui dati tramite una comoda interfaccia o
inserendo il codice Sql. Access gestisce anche tutto quello che riguarda la stampa dei dati, infatti si
ha la possibilità di stampare i dati in maniera tradizionale oppure creando dei Report.
FASI DEL PROGRAMMA
La prima operazione che ho dovuto compiere per la realizzazione del database è stata quella
di convertire i vecchi dati contenuti in un database realizzato in Fox Pro.
Questa operazione è stata inizialmente molto complicata, in quanto Access nonostante
supportasse i database realizzati in Fox Pro, non riusciva a convertire i vari tipi di dati di
ogni singolo campo del database, altrimenti non riusciva a importare i valori contenuti nei
campi. Per raggiungere il mio obiettivo ho dovuto importare ogni tabella del vecchio
database nel programma della Borland “Database Desktop” e convertirli come tabelle
Paradox 7; una volta fatta questa operazione per ogni singola tabella ho dovuto rieffettuare
questa operazione all’interno di Access importando stavolta le tabelle realizzate in Paradox.
Il vecchio database era stato realizzato in maniera impropria e scorretta, in quanto non era
stata applicato nessun collegamento tra le varie tabelle e per questo non ho potuto realizzare
collegamenti tra tabelle in quanto si sarebbe persa una moltitudine di dati. Il risultato di tutto
questo lavoro è stata la realizzazione del database teatro.mdb
Dopo aver creato il mio database ho incominciato a lavorare in ambiente Delphi. Come
prima operazione ho dovuto interfacciare il mio database con il mio programma. Per far ciò
ho dovuto utilizzare il componente ODBC (Open Database Connectivity). Senza questa
operazione non avrei potuto portare avanti il progetto.
•
Come avviene l’interfacciamento
1. Fare clic su Start, scegliere Impostazioni e, quindi, fare clic su Pannello di
controllo. Fare doppio clic su Strumenti di amministrazione e quindi su Origini
dati (ODBC).
Comparirà la seguente finestra.
2. Ciccare su Aggiungi e selezionare i driver per il database di Access (vedi figura)
3. Infine assegneremo al nostro database un nome che in questo caso è gestione teatro
e selezioneremo la directory o il computer su cui è situato il database
Nome
Directory
Database
4. Ora il nostro database è interfacciato con il Bde (Borland Database Engine). Non
resta che completare l’interfacciamento con il programma realizzato in delphi. Il
database va interfacciato come segue
Database
ODBC
DELPHI
TABLE
DATASET
QUERY
COMPONENTI DATAWARE
Dbgrid,Dbedit,DbNavigator,DbImage,DbText
Esempio d’interfacciamento del database con un componente query
Immagine
Posiziono un
componente Query e
un componente
Datasource sulla Form
Imposto la proprietà Dataset del
componente Datasource con il
nome del mio dataset che in
questo caso è il componente
Query
Ora imposto nel componente
Query la proprietà Database
Name
con il nome del mio database
creato con l’ODBC
Sempre nel componente Query,
inserisco del codice SQL nella
proprietà Sql per visualizzare
una tabella presente nel
database.
Es: Tabella clienti
Select * from clienti
In questa maniera seleziono tutti
i dati presenti nella tabella
clienti
Ora attivo il mio componente.
Impostando a True il campo
Active del componente Query.
Per vedere il risultato basta
inserire un componente Dbgrid
Interfacciato con il datasource
Gestione dei dati (Inserimento,Ricerca,Aggiornamento,Cancellazione)
L’inserimento,l’aggiornamento e la cancellazione dei dati è un operazione molto semplice; infatti,
basta utilizzare il componente DBNAVIGATOR, il quale automaticamente esegue l’operazione in
base al pulsante utilizzato. Questo componente va interfacciato con il datasource presente nella
form.Queste operazioni vengono svolte solamente se si utilizza il componete Table e non il
componente Query. Nel mio programma ho aggiunto una funzione che permette di eseguire le
operazioni sui dati solamente dopo aver premuto il tasto “F2”. Questa funzione consente una
maggior sicurezza in quanto si potrebbe inavvertitamente cancellare o modificare dei dati.
La ricerca sui dati, invece, è stata più complicata; infatti bisogna utilizzare un componente Query,
quindi ho dovuto ogni volta cambiare la proprietà dataset del datasource con il componente Query e
se volevo inserire i dati dovevo effettuare di nuovo questa operazione impostando il dataset con il
componente Table.
Per la Ricerca
Datasource.Dataset = Table
Datasource.Dataset = Query
Codice
datasource1.Enabled :=false;
datasource1.dataset:=query;
datasource1.Enabled :=true;
Per Inserire,Modificare ed Eliminare
Datasource.Dataset = Query
Datasource.Dataset = Table
Codice
datasource1.Enabled :=false;
datasource1.dataset:=table;
datasource1.Enabled :=true;
RICERCHE SUI DATI
Campi di tipo Numerico
editbox
Campo per inserire il
contenuto
Codice
query.sql.clear;
query.SQL.add ('select * from indirizzi where id ='+editbox.text);
// Cerca tutti gli indirizzi aventi come id il numero inserito
nell’editbox
query.open;
Campi di tipo AlfaNumerico
editbox
Campo per inserire il
contenuto
Codice
app:=''''+editbox.Text +'''';
//Utilizzo una variabile d’appoggio per ricercare il dato. Non faccio
altro che aggiungere un apice all’inizio e uno alla fine del mio valore
da cercare.
query.sql.clear;
query.sql.add ('select * from indirizzi where citta = '+app );
//Ricerco tutti i dati nella tabella indirizzi aventi come città il valore
della variabile d’appoggio APP
query.open;
Come si è visto per la ricerca di dati di tipo alfanumerico ho dovuto utilizzare una variabile
d’appoggio, infatti il programma mi dava sempre un errore se non utilizzavo questa. L’errore era
dovuto al fatto che il codice Sql pretende che un parametro di tipo alfanumerico sia preceduto dalle
virgolette (“).
Invece, per fare delle ricerche su campi di tipo data ho dovuto utilizzare delle query parametriche,
perchè utilizzando il solito codice, la ricerca su questi campi non era possibile.
Per ovviare a questi problemi ho utilizzato il seguente codice.
query1.close;
query1.SQL.Text :='select * from fatture where dfdadoc=:data';
// imposto il codice sql per eseguire la ricerca sui dati. Il nostro parametro è “DATA”
query1.ParamByName('data').asdatetime:=strtodate(edit5.text);
// con questa riga di codice assegno al mio parametro il valore contenuto nel componente edit5
query1.open;
Stampa dei dati.
Per eseguire la stampa dei dati ho optato per due soluzioni:
1. Utilizzo dei Report
2. Utilizzo di Word
Report
Ho pensato di utilizzare i report solamente per la stampa di alcuni dati. I dati che sono stati stampati
nel seguente metodo sono stati i dati relativi agli indirizzi, in quanto si aveva il bisogno di stampare
gli indirizzi in modo da poterli applicare alle lettere da inviare. La soluzione dei report è stata presa
in considerazione anche per la stampa di tutti gli archivi e dei prospetti contenenti le informazioni
per ogni cliente.
La funzione dei report è quella di stampare i dati contenuti all’interno dei database organizzandoli
in una certa maniera. Infatti grazie al componente Quick Report di Delphi si ha la possibilità di
organizzare i dati come si vuole.
OPERAZIONI BASE PER LA CREAZIONE DI UN NUOVO REPORT
Si inserisce un nuovo componente
Quick Report dal menù NEW
Come seconda operazione dobbiamo
impostare la proprietà dataset del
nostro report con un componente
query o table il quale conterrà i dati
da stampare.
Questi due componenti possono
essere posizionati direttamente sul
report, oppure dovremmo includere la
unit dove sono presenti questi
componenti.
Ora dobbiamo posizionare sul nostro
componente report dei componenti
QrBand. Questi componenti servono
per impostare una determinata pagina
del report a svolgere una specifica
funzione.Le operazioni più comuni
che si assegnano a questi componenti
sono la RbTitle (permette di
impostare il titolo del nostro report),
rbcolumheader (serve per inserire
tramite label il nome dei campi del
database o del semplice testo),infine si
ha la proprietà rbdetail la quale
inserendo all’interno di questa banda
dei componenti Qrdbtext farà
visualizzare il contenuto del nostro
database
Come ultima operazione si può
impostare il formato della carta su cui
stampare, per esempio A4, oppure
formato lettera e anche il numero di
colonne. Per far tutto ciò basta
definire le impostazioni da una
finestra speciale.
Oltre che utilizzare i report per la stampa ho usato anche un’ apposita stampa interfacciando
Microsoft Word con Delphi.
Ho dovuto utilizzare Word per la stampa, perché i contratti e le fatture non potevano essere
stampate tramite report.
Per eseguire questo interfacciamento si utilizza uno dei tanti componenti della Palette Servers, nel
mio caso, il componente Word Document.
Il compito di questo componente è di inviare all’applicazione Word i dati contenuti all’interno di
una qualsiasi tabella. Inoltre questo componente permette anche di impostare l’impaginazione del
nostro documento.
Di seguito un piccolo esempio di utilizzo di questo componente.
Inserisco nella form un Pulsante e il
componente Server Word Document
Nella proprietà Click del nostro pulsante inseriamo il seguente codice. (N.B: In questo caso i dati
esportati da Delphi a Word sono tutti contenuti in due database. In tutti i modi si ha la possibilità di
esportare qualsiasi tipo di dato.)
VAR APP:INTEGER;
begin
WORD.Activate ;
WORD.range.font.size:=14;
WORD.range.Bold :=2;
WORD.Range.Text :=IMPOSTA_CONTRATTO.TABLE1.FIELDBYNAME ('Tit').ASSTRING;
word.Range.InsertParagraphAfter;
word.Range.InsertParagraphafter ;
WORD.range.font.size:=12;
WORD.range.Bold :=0;
WORD.paragraphs.last.range.text :=IMPOSTA_CONTRATTO.TABLE1.FIELDBYNAME ('indirizzo').ASSTRING;
word.Range.InsertParagraphAfter;
word.Range.InsertParagraphafter ;
WORD.paragraphs.last.range.text :=IMPOSTA_CONTRATTO.TABLE1.FIELDBYNAME ('t1').ASSTRING;
word.Range.InsertParagraphAfter;
word.Range.InsertParagraphafter ;
WORD.paragraphs.last.range.text :=IMPOSTA_CONTRATTO.TABLE1.FIELDBYNAME ('A').ASSTRING;
word.Range.InsertParagraphAfter;
WORD.paragraphs.last.range.text :=IMPOSTA_CONTRATTO.TABLE1.FIELDBYNAME ('m3').ASSTRING;
APP:=QUERY1.FieldValues ['id'];
WORD.Paragraphs.Space15;
end;
Ecco il risultato finale.
(Microsoft Word deve essere già in fase di esecuzione in modo da poter utilizzare questo componente )
Gestione dell’editor per la stampa dei contratti e delle fatture
Come abbiamo detto in precedenza le fatture e i contratti vengono stampati tramite word. Entrambi
hanno un formato standard, cioè contengono un testo predefinito che raramente viene modificato.
Questo testo è contenuto all’interno di un database che può essere modificato tramite un apposito
editor di testo creato da me. Infatti sia i contratti e le fatture sono state parametrizzate ricavando
così delle parti di testo fisse. L’editor è stato realizzato utilizzando un componente Table e vari
dbedit.
Le parti in rosso sono le variabili che vengono automaticamente inserite dal computer in fase di
stampa del contratto. Per esempio la variabile città cambierà valore in base al contratto che si starà
stampando.
Un equivalente editor è stato realizzato per la gestione delle fatture.
Gestione Scadenziario
Una funzione che è stata realizzata per il programma è la gestione dello scadenziario. Esso
serve per gestire le scadenze delle fatture. Infatti l’utente potrà ordinare le fatture in base alla
data di scadenza oppure visualizzare quelle che sono già state evase oppure quelle ancora da
fare.
Oltre a questa funzione, ho implementato un’ ulteriore funzione, la quale ogni volta che si
accede al programma controlla se ci sono fatture in scadenza. In questo caso il programma
mostrerà all’utente un apposito messaggio e darà la possibilità di visualizzare quella determinata
fattura oppure di proseguire nell’esecuzione del programma.
Messaggio visualizzato
Per realizzare questa funzione non ho fatto altro che eseguire una select e controllare se il
campo data_scadenza sia uguale alla data odierna. Ho inserito un dbedit non visibile dall’utente
e dopo aver fatto l’interrogazione vado a controllare se il suo contenuto è vuoto o no. Se
dovesse risultare non vuoto faccio apparire il messaggio di avviso, altrimenti no.
Codice per eseguire l’operazione appena descritta
gestione_fatture.data_fatture.Enabled :=false;
gestione_fatture.data_fatture.dataset:=gestione_fatture.ric;
gestione_fatture.data_fatture.Enabled :=true;
gestione_fatture.ric.close;
gestione_fatture.ric.SQL.Text :='select * from fatture where dfdascad=:data';
gestione_fatture.ric.ParamByName('data').asdatetime:=date; //date = data del giorno
gestione_fatture.ric.open;
// eseguo la ricerca controllando il campo data
if edit_data.Text <> '' then
if MessageDlg('Oggi scade una fattura , vuoi controllarla ?',mtInformation, [mbYes, mbNo], 0)
= mrYes then
gestione_fatture.showmodal;
//ho controlla se il mio dbedit contiene un valore, se sì faccio visualizzare il messaggio.
//se l’utente ciccherà sul pulsante Yes il programma farà visualizzare la fattura che sta per
//scadere
Guida
La guida del programma è stata realizzata utilizzando il programma free Help Express scaricato da
internet. Questo editor permette di creare in modo semplice e veloce file di guida. Questo editor è
simile a un editor per pagine web. In tutti i casi il programma ha bisogno del compilatore della
Microsoft per le guide. Questo editor è contenuto all’interno di una directory di Delphi.
Installazione
Per realizzare l’installazione del programma ho utilizzato il programma fornito con delphi
Install Shield Express For Delphi. Questo programma tramite un apposito wizard permette di creare
in brevissimo tempo installazioni di tipo professionali.
Infatti tramite wizard ho impostato le varie caratteristiche come le varie maschere che verranno
visualizzate durante l’installazione, le varie directory contenenti i diversi file e i relativi database.
Il programma ha realizzato i seguenti file i quali possono essere copiati su un Cdrom
Se si clicca sul file Setup.exe il risultato è il seguente
Una volta che è stata completato l’installazione bisogna interfacciare i vari database con il
programma. Per compiere questa operazione bisogna configurare l’ODBC come ho scritto sopra.
Marco Meletti
Classe 5 Aia 2001/02
GUIDA UTENTE
SCHERMATA PRINCIPALE DEL PROGRAMMA
Dalla schermata principale del programma si può raggiungere qualsiasi sezione.
Il programma è stato suddiviso in quattro menù.
Nella parte inferiore della schermata sono stati inseriti un calendario e un orologio per utilità
immediata.
ELENCO DEI MENU’
GESTIONE DATI
ARCHIVI
STAMPA
OPZIONI
Si occupa di gestire i dati
relativi agli argomenti
presenti. Si potranno inserire,
modificare,eliminare,ricercare
e aggiornare.
In questa sezione del
programma vengono gestiti
tutti gli archivi. Da ogni
schermata è possibile anche
effettuare la stampa di essi
effettuando le stesse
operazioni precedentemente
elencate
Viene eseguita la stampa di
tutti i dati che possono essere
precedentemente selezionati
tramite un’apposita sezione.
In questa sezione si può
visualizzare la guida del
programma,l’editor per i
contratti e le fatture,gli
eventuali report salvati sul
computer e uscire dal
programma.
Gestione dati
Per poter lavorare sui dati, come prima operazione bisogna premere il tasto “F2”;una volta premuto
si potrà lavorare sui dati utilizzando l’apposita barra.
Utilizzando i tasti presenti si potranno eseguire le seguenti operazioni.
Inoltre si potrà effettuare delle ricerche selezionando il campo da ricercare e inserire il testo tramite
l’apposito spazio. Una volta effettuata la ricerca i risultati potranno essere visualizzati e modificati a
proprio piacimento.
ARCHIVI
In questa sezione si possono inserire,modificare ed eliminare tutti i dati relativi agli archivi. Per
effettuare queste operazione andrà sempre utilizzata la barra come descritto nella pagina precedente.
Inoltre dalle schermate relative agli archivi è possibile effettuare la stampa di essi tramite report!
Dati presenti
nell’archivio
Barra per la gestione dati
Ritorno al menù
principale
Stampa dati
E’ stato adottato un modello unico per ogni archivio in modo da rendere più semplice l’utilizzo da
parte dell’utente.
STAMPA DATI
In queste schermate sarà possibile stampare tutti i dati relativi ai clienti, agli indirizzi, alle fatture e
ai contratti.
Prima di stampare i dati sarà possibile selezionare i dati tramite un’apposita schermata che
permetterà di effettuare varie ricerche sui dati stessi.
Una volta selezionati i dati si potrà procedere con la stampa di essi.
Schermata per
selezionare i
dati
Barra per scorrere i dati
Selezione
Dati
Stampa dati
Ritorno al menù
principale
Ringraziamenti
Vorrei ringraziare tutte quelle persone che mi hanno aiutato per la realizzazione del progetto.
Senza di loro avrei fatto più fatica a risolvere certi problemi, ma con il loro aiuto e i loro
consigli sono riuscito a portare a termine il lavoro.
Un ringraziamento speciale a tutti i ragazzi del newsgroup del sito di Marco Cantù che mi hanno
aiutato sempre e anche in modo veloce.
Inoltre un ringraziamento speciale a Marco Cantù il quale,in persona,con mia grande sorpresa,
mi ha risposto risolvendo un problema riguardante i database in Access.
Per chi non conoscesse Marco Cantù, qui di seguito allegherò una breve storia che si può
trovare sul suo sito
Marco Cantù
Marco Cantù è autore del best-seller Mastering Delphi 4 (pubblicato da SYBEX negli USA e
tradotto in altre dieci lingue), autore di numerosi articoli per riviste italiane (Computer
Programming, PDJ) e internazionali e relatore alle principali conferenze su Delphi a livello
mondiale. In italiano ha pubblicato i volumi "Delphi 2" e "Delphi 3" con McGraw-Hill Italia. Prima
di concentrarsi su Delphi era un esperto di C++ e programmazione Windows con MFC, OWL e
API. Per informazioni più dettagliate leggere la sua biografia, riportata qui sotto...
Biografia
Marco è nato a Piacenza nel 1965. Dopo aver frequentato il Liceo Scientifico locale ha frequentato
il Politecnico di Milano, dove si e' laureato a pieni voti in Ingegneria Elettronica, indirizzo
Informatica.
Dopo il servizio civile ha scritto il suo primo libro, un testo su Borland C++ pubblicato da Apogeo,
e ha trovato lavoro come insegnante in Mondadori Informatica Education (allora sede di Microsoft
University in Italia). In Mondadori, Marco ha tenuto per tre anni corsi di Linguaggio C++,
Programmazione Windows con l'API, Visual C++ e MFC. Nello stesso periodo ha pubblicato il suo
libro di C++ negli Stati Uniti (cone le case editrici Bantam prima e Random House poi) e ha scritto
numerosi articoli per PCProfessionale.
L'uscita di Delphi ha segnato per Marco una svolta: ha abbandonato Mondadori e ha fondato una
societa', Wintech Italia Srl, con cui organizzare corsi Delphi. Ha scritto un libro di grandissimo
successo su Delphi, Mastering Delphi, pubblicato da Sybex e tradotto in 10 lingue.
Sull'onda del successo di Delphi e dei suoi libri, Marco ha scritto articoli su molte riviste italiane e
straniere, ha aggiornato il libro su Delphi scrivendone anche uno piu' avanzato, ha organizzato
corsi, seminari, e molte altre iniziative legate a Delphi in Italia, ha partecipato a conferenze e
insegnato corsi su Delphi in diverse parti del mondo: Londra, Amsterdam, Francoforte, Parigi,
Singapore, New York, San Francisco, Denver, Anaheim, Stoccolma, Washington...
Immagine dell’E-Mail speditami da Marco Cantù
RINGRAZIAMENTI
Ringrazio il professore Mauro Sandrini per avermi dato
l’opportunità di effettuare questa esperienza e per avermi
guidato con i suoi consigli.
Un ringraziamento particolare va ai professori F. Cerini, P. Zoli
per l’aiuto fornitomi nella realizzazione del progetto.
La mia riconoscenza a tutti i professori del corso d’ Informatica
per il loro insegnamento.
Infine un doveroso grazie alla Compagnia Teatrale
”Teatro del Drago” che ha avuto fiducia in me.
Marco Meletti