1. Ingegneria del software
INTERVENTI DI MANUTENZIONE
E PROGETTO DI UN MODULO DI
REGISTRAZIONE AL SITO
www.ing.units.it/bca
A CURA DI:Fabiano Dalla Piazza
1
2. Ingegneria del software
INDICE GENERALE
1. DEFINIZIONE DEL PROBLEMA 3
2. CONTESTO E FATTIBILITA’ 3
3. ANALISI DEI REQUISITI 3
a. Menù di accesso alla pagina 3
b.Parola chiave di accesso al modulo di iscrizione 3
c.Modulo d’iscrizione 6
d.Archivio 7
e.Schemi 7
4. PROGETTAZIONE 9
a.Pagina di accesso del sito 9
b.Pagina di accesso al form 9
c.Schema Entità-Relazione 9
d.Progettazione delle maschere 11
5.IMPLEMENTAZIONE 13
a.Menu di accesso alla pagina informativa 13
b.Pagina di accesso al form 15
c.Database in Microsoft Access 19
maschera principale 20
codice maschera principale 20
maschera admin 23
codice maschera admin 23
maschera corsisti 27
codice maschera principale 27
maschera autorizzati 31
codice maschera autorizzati 31
maschera iscritti 38
codice maschera iscritti 38
maschera richiedi password 45
codice maschera richiedi password 45
maschera password 47
codice maschera password 47
codice modulo1 49
d.Form di iscrizione in .asp 49
interfaccia alumni.asp 50
codice alumni.asp 51
interfaccia psswrd2.asp 54
codice psswrd2.asp 54
6.CONCLUSIONI 57
2
3. Ingegneria del software
1. Definizione del problema
La tesina riguarda la sostituzione nel sito http://www.ing.units.it/bca della
colonna e relativo titolo “Registrazione” con una pagina contenente un’informativa sulla
AT Alumni Association provvista di un collegamento con un’altra pagina dove è
possibile iscriversi.Al termine della procedura,che deve accertarsi di eventuali errori
ortografici e controllare i nomi autorizzati,viene rilasciata una password che consente al
sottoscrittore di ricevere gli aggiornamenti.In caso di “utente non autorizzato” viene
previsto un messaggio recante tale dicitura.
2. Contesto e fattibilità
Il sito http://www.ing.units.it/bca si occupa del Master universitario di primo
livello in Assistite technology,uno dei cui curatori,la prof.Scotti è anche l’ideatrice di
questo lavoro,ed eventualmente collaboratrice nel progetto.Il lavoro non è vincolato da
contratto,per cui non presenta,almeno in linea teorica,limiti di costo o tempo.Ed è stato
eseguito in armonia con il lavoro svolto dal collega Maurizio Chivella sull’omonimo sito.
3. Analisi dei requisiti
a. Menù di accesso alla pagina:In basso col colore blu(fig.1) è riportato un
fac-simile del menù di scelta una volta che ci si collega con
http://www.ing.units.it/bca.Un primo aggiustamento riguarda la voce
“Registrazione” da sostituire con “Alumni”.Naturalmente cliccando poi su tale
voce, si deve aprire il file con l’informativa sull’AT Alumni Association(fig. 2).
Home | Chi siamo | Didattica| FAQ| Sponsor| Registrazione| News|
Contatti| Edizioni precedenti |
Figura 1
AT Alumni Association
AT Alumni Association è l’associazione aperta agli studenti ed ex studenti del Master in Assistive Technology.
L’obiettivo della AT Alumni Association è quello di valorizzare e tenere unito il più grande patrimonio di un
Master: il network dei suoi studenti.
L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia il
networking, favorisce lo sviluppo delle relazioni, organizza attività di formazione continua.
- Attraverso il networking e le numerose occasioni di incontro, tutti gli associati hanno la possibilità di
condividere esperienze, informazioni e conoscenze, fondamentali per il continuo aggiornamento della propria
professionalità.
- Attraverso le attività di formazione organizzate dall’Associazione, gli iscritti hanno l’occasione di perfezionare le
proprie competenze sui principali temi dell’Assistive Technology.
3
4. Ingegneria del software
Le attività dell’Associazione supportano anche i diplomati che desiderano riposizionarsi sul mercato del lavoro;
attraverso azioni di networking e diffusione mirata di curricula, l’Associazione diviene uno strumento privilegiato
di supporto al replacement dei diplomati del Master AT.
Per iscriversi per la prima volta si deve compilare il form on-line.
Iscrizione riservata ai Diplomati del Master in Assistive Technology e ai due Corsi di Perfezionamento in
Assistive Technology
L’Associazione opera attraverso:
• organizzazione di incontri periodici itineranti su specifiche tematiche di Assistive Technology
• organizzazione di iniziative di formazione continua
• attività destinate tipicamente al replacement degli associati
• circolazione di newsletter periodiche di aggiornamento
• organizzazione di occasioni di svago e intrattenimento destinate agli associati
•
Figura 2
b. Parola chiave di accesso al modulo di iscrizione:nella fig.2 ,dove è
riportata la pagina informativa,c’è la parola chiave form on-line (qui riprodotta
fedelmente).Cliccando su questa,si deve poter accedere al modulo di
iscrizione,una cui rappresentazione viene visualizzata nella figura
sottostante(fig.3),compresiva dei titoli.
Iscriviti all'associazione AT Alumni
E-MAIL * * Invalid
Email
Nome *
*
Cognome *
*
Riempi i campi sottostanti
Indirizzo di residenza *
*
4
5. Ingegneria del software
Indirizzo per invio corrispondenza
*
*
Telefono *
*
Corso Frequentato *
CPAT: Corso di Perfezionamento CPAT
in Assistive Technology
MAT: Master in Assistive MAT
Technology
*
Seleziona quale corso hai frequentato
Edizione *
*
Inserire l’anno accademico dell’edizione frequentata
Note
Invia
Figura 3
5
6. Ingegneria del software
c. Modulo d’iscrizione:Tutti i campi* da riempire sono obbligatori,tranne
uno.Vanno effettuati dei controlli che accertino eventuali incongruenze,mentre
la lunghezza dei vari campi* è stabilita nell’ottica di eccedere,piuttosto che
difettare:
Nome:deve essere costituito solo da caratteri alfabetici,fino ad un
massimo fissato arbitrariamente di 40;
Cognome:deve essere costituito solo da caratteri alfabetici, fino ad
un massimo fissato arbitrariamente di 40;
E-mail:può essere costituito da caratteri alfanumerici e contenere
almeno un @, fino ad un massimo fissato arbitrariamente di 50;
Indirizzo di residenza:deve essere costituito solo da caratteri
alfanumerici, fino ad un massimo fissato arbitrariamente di 60;
Indirizzo per invio corrispondenza: deve essere costituito solo da
caratteri alfanumerici, fino ad un massimo fissato arbitrariamente
di 60;
Telefono:sono ammessi esclusivamente caratteri numerici,con
minimo di 9 fino ad un massimo fissato di 14(4 cifre di prefisso
estero+4 cifre di prefisso distretto+6 cifre del numero);
Corso frequentato:è obbligatorio indicare almeno uno dei corsi
frequentati;
Edizione:è obbligatorio inserire una cifra numerica di quattro
lettere “realistica”(per es. una persona non può aver frequentato
un corso nel 3014);
Note:campo opzionale in cui sono ammessi caratteri alfanumerici,
fino ad un massimo fissato arbitrariamente di 120.
Password:deve essere costituita da caratteri ASCII validi in
numero totale di 9.
d. Archivio:Naturalmente non è sufficiente un controllo ortografico o
formale.Un requisito necessario affinché un utente si possa iscrivere è la
partecipazione a uno dei corsi precedenti.La consultazione dell’archivio deve
consentire questo controllo.
Una volta che la registrazione ha avuto successo,viene richiesta una
password(e conferma) per ciascun sottoscrittore,che verrà comunicata
dall’utente.Qualora il processo di identificazione dia risultato negativo deve
comparire il messaggio “Utente non autorizzato”.
Il committente non ha fornito,al momento,ulteriori dettagli sul successivo
processo di riconoscimento finalizzato all’accesso,una volta che l’iscrizione
sia già avvenuta.
e. Schemi:Uno schema generale indica l’interazione tra le parti(fig.4).
Un collegamento consente di raggiungere dal sito,la pagina ancorata AT
Alumni.Un secondo permette di giungere da questa al form di registrazione;il
form richiede i dati utente,esegue controlli ortografici e di coerenza,richiede se
l’utente risulti abilitato(utente autorizzato);l’utente riceve una risposta
condizionata in base al controllo autorizzazione.
*
campi:qui si intende il valore alfabetico,numerico o alfanumerico di una singola voce invocata dal modulo.Es. Nome
6
7. Ingegneria del software
SITO WEB AT ALUMNI FORM ARCHIVIO
ISCRIZIONE
# #
L
E
UTENTE
LEGENDA:
Collegamento Risposta
Richiesta dati Invio password o messaggio utente non autorizzato
Figura 4
Uno schema delle varie funzioni fatto mediante diagramma di flusso è riportato
a pagina seguente(fig.5).In esso è indicata la sequenza delle operazioni.La
convenzione adottata piuttosto diffusa stabilisce di indicare con rettangoli gli
agenti esterni,con cerchi funzioni o processi,con doppia linea parallela gli
archivi o basi di dati,con dei rombi le decisioni condizionate(per es.nel caso
“inserisci Nome”,se dal controllo emergono dei valori incoerenti o
scorretti,uscita rossa “NO” e ridigitazione Nome da parte dell’utente;in caso
contrario uscita blu “OK” e prosegui con inserisci Cognome).
7
8. Ingegneria del software
ACCESSO
ACCESSO AL PAGINA AT ACCESSO AL
SITO COMMUNITY FORM
UTENTE SITO WEB PAGINA
FORM
AT COMM
OK
INSERISCI E-
NO
MAIL
NO NO NO
INSERISCI
INDIRIZZO INSERISCI INSERISCI
INDIRIZZO COGNOME NOME E-MAIL
RESIDENZA COGNOME NOME
RESIDENZA
OK OK OK
INSERISCI
NO INDIRIZZOOK
INVIO
CORRISPONDEN
ZA
OK OK OK
INDIRIZZO INSERISCI CORSO
INVIO INSERISCI CORSO FREQUENTA INSERISCI
TELEFONO EDIZIONE
CORRISPON TELEFONO FREQUENTATO EDIZIONE
TO
DENZA
NO NO NO
COMUNICAZIONE
INSERISCI
ISCRIZIONE
NOTE
INVIA
SI SI
CHIEDI
MESSAGGIO DI
AUTORIZZAZIO
CHIEDI NOME
ERRORE
CONFERMA GENERA NE
INVIA
CONFERMA ESISTENTE CONTROLLO NOTE
ISCRIZIONE PASSWORD
PASSWORD NELL’ARCHIVIO
NO
NO
Figura 5
8
9. Ingegneria del software
4. Progettazione
a) Pagina di accesso del sito:la pagina del sito www.ing.units.it/bca reca il
menu con cui si accede alla pagina di informazione.Un primo intervento
prevede la sostituzione di “Registrazione” con “Alumni” nel codice HTML
della pagina,memorizzata in un file la cui sottocartella è:Master Assistive
Technology_filemenu.htm.Quando si apre la pagina web,il codice HTML
esegue delle chiamate delimitate da <A> e </A> tramite delle href a delle
risorse memorizzate,che,nel caso venga scelto “Registrati”,carica il file
contenuto in: "http://www.ing.units.it/bca/contenuti/06-07/registrazioni06-
07.htm".Bisogna quindi memorizzare a tale indirizzo la nuova pagina
comprensiva dell’informativa all’AT Alumni e accesso al form.E’ bene
variare anche il titolo “Registrazione al sito” con “AT Alumni”,per evitare
equivoci.
b) Pagina di accesso al form:nella pagina di accesso viene inserito un link di
collegamento a: "http://www.mib.edu/forms/Alumni.asp".Nel sito mib.edu si
ricerca,tra le risorse forms,la pagina Alumni che effettua il controllo sui
record.
c) Schema Entità-Relazione:in fig.6 è riportato lo schema Entità-Relazione
per il database.
INDIRIZZO INDIRIZZO ID_COR
RESIDENZA INVIO SOM TELEFONO COGNOME
COGNOME
NOTE
NOME (1,1) (0,1)
E-MAIL ISCRITTI APPARTENENZA CORSISTI
ID
(1,N)
PASSWORD
NOME
PARTECIPAZIONE
(1,N)
ID
CORSO
TIPO
MASTER
EDIZIONE
Figura 6
9
10. Ingegneria del software
TABELLA CORSI MASTER
ID_MAS CONTATORE A CHIAVE PRIMARIA;CAMPO AGGIORNATO AUTOMATICAMENTE
TIPO STRINGA NUMERICA:AI NUMERI I PULSANTI OPZIONALI ASSOCIANO I VALORI
NUMERICI INCREMENTALI;CAMPO OBBLIGATORIO
EDIZIONE STRINGA NUMERICA DI 4 CARATTERI ACCETTABILE;CAMPO OBBLIGATORIO
TABELLA CORSISTI
COGNOME STRINGA ALFANUMERICA <=40 CARATTERI;CAMPO OBBLIGATORIO
NOME STRINGA ALFANUMERICA <=40 CARATTERI;CAMPO OBBLIGATORIO
TABELLA ISCRITTI
ID_ISC CONTATORE A CHIAVE PRIMARIA;CAMPO AGGIORNATO AUTOMATICAMENTE
E-MAIL STRINGA ALFANUMERICA <=50 CARATTERI CONTENENTE ‘@’;CAMPO OBBLIGATORIO
NOME STRINGA ALFANUMERICA <=40 CARATTERI;CAMPO OBBLIGATORIO
COGNOME STRINGA ALFANUMERICA <=40 CARATTERI;CAMPO OBBLIGATORIO
INDIRIZZO DI RESIDENZA STRINGA ALFANUMERICA <=60 CARATTERI;CAMPO OBBLIGATORIO
INDIRIZZO DI INVIO STRINGA ALFANUMERICA <=60 CARATTERI;CAMPO OBBLIGATORIO
TELEFONO STRINGA NUMERICA >=9 E <=14 CARATTERI;CAMPO OBBLIGATORIO
NOTE STRINGA ALFANUMERICA DI MAX 120 CARATTERI;CAMPO OBBLIGATORIO
PASSWORD STRINGA ALFANUMERICA DI MAX 9 CARATTERI;CAMPO OBBLIGATORIO
ID_CORSOM STRINGA NUMERICA DI COLEGAMENTO TABELLA CORSI MASTER
Figura 7
In figura 7 compaiono le caratteristiche dei campi nelle tabelle,mentre a pagina
seguente(fig.8)è riportato lo schema di collegamento fra le tabelle.L’iscrizione
di un’utente può avvenire tramite confronto e relativo accertamento
dell’appartenenza all’archivio corsisti,poiché ha partecipato ad un corso
master.Ogni riga individua un campo della tabella,mentre i campi in rosso
rappresentano le chiavi primarie.
10
11. Ingegneria del software
Figura 8
N OM E ID _ IS C ID _ M A S
CO GN O M E E -M A IL T IP O
N O M E E D IZ IO N E
CO G N OM E
IN D IR IZ Z O D I R E S ID E N Z A
IN D IR IZ Z O D I IN V IO
N O TE
PASSW O RD
ID _ C O R S O M
d. Progettazione delle maschere:nella figura sotto(fig.9) è riportato lo
schema utilizzato per le maschere.
modalità inserimento
PRINCIPALE ADMIN
utente
accedi al record dove utente non autorizzato:esci
amministratore
registrarsi
AUTORIZZATI CORSISTI ISCRITTI
leggi o modifica i dati leggi ,modifica o
inserisci i dati utente
utente autorizzato
iscritti inserisci dei corsisti
RICHIEDI
PASSWORD
inserisci la password
messaggio iscrizione riuscita
Password confermata:invia
Password confermata:invia
confermata:ripeti
confermata:ripeti
Password non
PASSWORD
conferma la password
Figura 9
11
12. Ingegneria del software
All’apertura del file Iscritti.mdb viene aperta in automatico la maschera
“Principale”.Da essa si sceglie se inserire un nuovo iscritto,o agire da
amministratore.Se si sceglie l’opzione “Admin” viene aperta la maschera
“Iscritti” in modalità Aggiungi come form di iscrizione utente,selezionando il
record.Qui i dati utente vengono confrontati con quelli dell’archivio
partecipanti.Nonostante sia previsto un filtraggio(nome e cognome risultanti in
archivio),qualora un cognome non soddisfi i requisiti,viòla comunque i requisiti
dell’integrità referenziale,generando un errore e abortendo la
transazione.L’errore viene successivamente “intercettato” e riformulato con la
frase “UTENTE NON AUTORIZZATO”,che provoca l’uscita dal file.
La maschera “Richiedi Password” permette l’inserimento di una parola
chiave;usa poi una maschera “Password” per richiedere la digitazione.Se le
due coincidono,viene comunicato all’utente l’avvenuta iscrizione,altrimenti
viene inoltrata un’ulteriore richiesta,fino al successo dell’operazione,salvo
uscita volontaria.
L’uscita provoca la chiusura di tutte le maschere.
Se invece si opta per la maschera “Amministratore,si aprono le maschere
“Autorizzati” per le operazioni sui dati “Iscritti” e “Corsisti” per immettere o
modificare i corsisti.
GLI OGGETTI DI CLASSE IMPIEGATI:
Form_Principale USA Form_Admin e Form_Autorizzati e Form_Corsisti
Form_Admin USA Form_Iscritti
Form_Iscritti USA Form_Richiedi_Password
Form_Richiedi_Password USA Form_Password
Form_Password
Form_Corsisti
Form_Autorizzati
I MODULI UTILIZZATI:
Modulo1 PER IMPOSTARE COSTANTI
Il codice relativo alle maschere è riportato in testa al codice sorgente(parte 5).
12
13. Ingegneria del software
5. Implementazione
a) Menu di accesso alla pagina informativa:in fig.10 è visualizzata la nuova
pagina del sito recante a sinistra il menu di scelta.
Figura 10
Sotto viene visualizzato il codice HTML (fig.11)della precedente pagina che è
stata sostituita.Il codice è variato poiché è stata modificata la veste grafica del
sito.La variazione da eseguire alla data di assegnazione del lavoro nella
vecchia pagina riguarda la parte indicata in rosso,da sostituire con la parola in
verde.
Le modifiche alla pagina sono state apportate dai responsabili della
progettazione sito e E-Learning,fra cui Roberto Tomat.
13
14. Ingegneria del software
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0052)http://www.ing.units.it/bca/contenuti/06-07/menu.htm -->
<HTML><HEAD><TITLE>Master in Assistive Technology 2004-2005</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16481" name=GENERATOR>
<SCRIPT language=JavaScript1.2>
<!--
var yourwords = 'Si raccomanda di consultare frequentemente il sito in quanto viene spesso aggiornato';
var speed = 1000;
var control = 1;
function flash()
{
if (control == 1)
{
document.forms["myform"].testo2.value=yourwords;
control=0;
speed=1400
}
else
{
document.forms["myform"].testo2.value="";
control=1;
speed=500
}
setTimeout("flash();",speed);
}
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</SCRIPT>
</HEAD>
<BODY vLink=#000000 aLink=#000000 link=#ffffff bgColor=#006699
background=menu_file/color_background.jpg>
<DIV id=Layer1
style="Z-INDEX: 1; LEFT: 1px; WIDTH: 858px; POSITION: absolute; TOP: 218px; HEIGHT: 35px"
align=center>
<P><FONT face="Verdana, Arial, Helvetica, sans-serif" size=3><A
title="Home page" href="http://www.ing.units.it/bca/contenuti/06-07/intro.htm"
target=contenuti><STRONG>Home</STRONG></A> | <A title="chi siamo"
href="http://www.ing.units.it/bca/contenuti/06-07/chisiamo06-07.htm"
target=contenuti><STRONG>Chi siamo </STRONG></A>| <A title="programma didattico"
href="http://www.ing.units.it/bca/contenuti/06-07/didattica06-07.htm"
target=contenuti><STRONG>Didattica</STRONG></A>| <A title=faq
href="http://www.ing.units.it/bca/contenuti/06-07/faq06-07.htm"
target=contenuti><STRONG>FAQ</STRONG></A>| <A title=sponsor
href="http://www.ing.units.it/bca/contenuti/06-07/sponsor06-07.htm"
target=contenuti><STRONG>Sponsor</STRONG></A>| <A title="Registrazione al sito"
href="http://www.ing.units.it/bca/contenuti/06-07/registrazioni06-07.htm"
target=contenuti><STRONG>Registrazione SOSTITUITA CON Alumni </STRONG></A>| <A title=Eventi
href="http://www.ing.units.it/bca/contenuti/06-07/eventi06-07.htm"
target=contenuti><STRONG>News</STRONG></A>| <A title=Contatti
href="http://www.ing.units.it/bca/contenuti/06-07/contatti06-07.htm"
target=contenuti><STRONG>Contatti</STRONG></A>| <A
title="Edizioni precedenti del Master"
href="http://www.ing.units.it/bca/contenuti/06-07/edizioni_precedenti06-07.htm"
target=contenuti><STRONG>Edizioni precedenti</STRONG></A> | </FONT></P></DIV>
<DIV id=Layer2
style="Z-INDEX: 11; LEFT: 5px; WIDTH: 281px; POSITION: absolute; TOP: 7px; HEIGHT: 70px"><IMG
height=77 alt="Logo università di Trieste" src="menu_file/logo_units2.jpg"
width=77> <IMG height=37 alt="Facoltà di ingegneria"
src="menu_file/logo_units2_testo.jpg" width=192 align=top> </DIV>
<DIV id=Layer3
style="Z-INDEX: 3; LEFT: 5px; WIDTH: 271px; POSITION: absolute; TOP: 85px; HEIGHT: 58px"><IMG
14
15. Ingegneria del software
height=75 alt="Logo università di Pordenone" src="menu_file/logo_unipn2.jpg"
width=68> <IMG height=68
alt="Consorzio di Pordenone per la Formazione Superiore gli Studi Universitari e la Ricerca"
src="menu_file/logo_unipn2_testo.jpg" width=183 align=top></DIV>
<DIV id=Layer4
style="Z-INDEX: 4; LEFT: 4px; WIDTH: 266px; POSITION: absolute; TOP: 168px; HEIGHT: 42px"><IMG
height=41 alt="Logo Fondazione Risorsa Donna" src="menu_file/logo_risdonna2.jpg"
width=67><IMG height=36 alt="Con il Patrocinio della Fondazione risorsa donna"
src="menu_file/logo_fonddonna2_testo.jpg" width=172></DIV>
<DIV id=Layer5
style="Z-INDEX: 5; LEFT: 503px; WIDTH: 322px; POSITION: absolute; TOP: 7px; HEIGHT: 211px">
<P align=center><IMG height=62 alt="Master di I livello"
src="menu_file/master_univ_testo.jpg" width=245><BR><IMG height=81
alt="Assistive Technology" src="menu_file/ass_technology_testo.jpg" width=259>
<BR><IMG height=27 alt="Ausili per l'utenza ampliata"
src="menu_file/ausili_per_testo.jpg" width=314> <BR><IMG height=32
src="menu_file/quartaedizione.jpg" width=333> </P></DIV>
<DIV id=Layer8
style="Z-INDEX: 8; LEFT: 286px; WIDTH: 186px; POSITION: absolute; TOP: 5px; HEIGHT: 209px"><IMG
height=203 src="menu_file/Vitruvio-web%2520small.png"
width=177></DIV></BODY></HTML>
Figura 11
b) Pagina di accesso al form:di seguito(fig.12) viene riportato il codice HTML
della pagina informativa per accedere al form di iscrizione.In rosso è evidenziato
il collegamento href,con in verde il form di iscrizione Alumni.asp.In fig.13,una
visualizzazione zoomata della pagina come appare nel web.Il committente ha
alla fine deciso di modificare il titolo “AT Community” con “AT
Alumni”.Comunque basta sostituire la parola in alcuni programmi e il codice
viene generato automaticamente.Se si opera direttamente in HTML bisogna
cambiare il codice stesso(più laborioso).
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 9">
<meta name=Originator content="Microsoft Word 9">
<link rel=File-List href="./Alumni_file/filelist.xml">
<title>Registrazione al sito</title>
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>fiorenza</o:Author>
<o:Template>Normal</o:Template>
<o:LastAuthor>FABIANO DALLA PIAZZA</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>43</o:TotalTime>
<o:Created>2007-08-21T15:30:00Z</o:Created>
<o:LastSaved>2007-08-21T15:30:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>300</o:Words>
<o:Characters>1710</o:Characters>
<o:Lines>14</o:Lines>
<o:Paragraphs>3</o:Paragraphs>
<o:CharactersWithSpaces>2100</o:CharactersWithSpaces>
<o:Version>9.2812</o:Version>
</o:DocumentProperties>
<o:CustomDocumentProperties>
15
17. Ingegneria del software
{mso-style-name:stile2;
margin-right:0cm;
mso-margin-top-alt:auto;
mso-margin-bottom-alt:auto;
margin-left:0cm;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.p1, li.p1, div.p1
{mso-style-name:p1;
margin-right:0cm;
mso-margin-top-alt:auto;
mso-margin-bottom-alt:auto;
margin-left:0cm;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
span.evidenziaprogrammi
{mso-style-name:evidenzia_programmi;}
/* Page Definitions */
@page
{mso-footnote-separator:url("./Alumni_file/header.htm") fs;
mso-footnote-continuation-separator:url("./Alumni_file/header.htm") fcs;
mso-endnote-separator:url("./Alumni_file/header.htm") es;
mso-endnote-continuation-separator:url("./Alumni_file/header.htm") ecs;}
@page Section1
{size:595.3pt 841.9pt;
margin:70.85pt 2.0cm 2.0cm 2.0cm;
mso-header-margin:35.4pt;
mso-footer-margin:35.4pt;
mso-even-footer:url("./Alumni_file/header.htm") ef1;
mso-footer:url("./Alumni_file/header.htm") f1;
mso-paper-source:0;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:999767469;
mso-list-template-ids:-1750029814;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</head>
<body lang=IT style='tab-interval:35.4pt'>
<div class=Section1>
<p class=MsoNormal><span style='font-family:Verdana'>AT Alumni Association <o:p></o:p></span></p>
<p><strong><span style='font-family:Verdana'>AT Alumni Association</span></strong><span
style='font-family:Verdana'> è l’associazione aperta agli studenti ed ex
studenti del Master in Assistive Technology.<span style="mso-spacerun: yes">
</span><o:p></o:p></span></p>
<p><span style='font-family:Verdana'> L’obiettivo della AT Alumni
Association è quello di <strong>valorizzare e tenere unito il più grande
patrimonio di<span style="mso-spacerun: yes"> </span>un Master: il network dei
17
18. Ingegneria del software
suoi studenti. </strong><o:p></o:p></span></p>
<p><span style='font-family:Verdana'>L’Associazione vuole offrire a tutti gli
iscritti opportunità di aggiornamento e di crescita professionale: incoraggia
il networking, favorisce lo sviluppo delle relazioni, organizza attività di
formazione continua. <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-family:Verdana'>- Attraverso il <strong>networking
e le numerose occasioni di incontro</strong>, tutti gli associati hanno la
possibilità di condividere esperienze, informazioni e conoscenze, fondamentali
per il continuo aggiornamento della propria professionalità.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-family:Verdana'>- Attraverso le <strong>attività
di formazione</strong> organizzate dall’Associazione, gli iscritti hanno
l’occasione di perfezionare le proprie competenze sui principali temi
dell’Assistive Technology.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-family:Verdana'> <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-family:Verdana'>Le attività
dell’Associazione supportano anche i diplomati che desiderano riposizionarsi
sul mercato del lavoro; attraverso azioni di <strong>networking e diffusione
mirata di curricula</strong>, l’Associazione diviene uno strumento privilegiato
di supporto al replacement dei diplomati del Master AT.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-family:Verdana'> <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-family:Verdana'> <o:p></o:p></span></p>
<p class=MsoNormal><strong><span style='font-family:Verdana'>Per iscriversi per
la prima volta si deve compilare il </span></strong><span style='font-family:
Verdana'><a href="http://www.mib.edu/forms/Alumni.asp"><strong>form on-line</strong></a><strong>.
</strong><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-family:Verdana'><br>
<strong><span style='color:red'>Iscrizione riservata ai Diplomati del Master in
Assistive Technology e ai due Corsi di Perfezionamento in Assistive Technology</span></strong><b><span
style='color:red'><br>
<br>
</span></b><span class=evidenziaprogrammi>L’Associazione opera attraverso:</span><o:p></o:p></span></p>
<ul type=disc>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><span style='font-family:
Verdana'>organizzazione di incontri periodici itineranti su specifiche
tematiche di Assistive Technology <o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><span style='font-family:
Verdana'>organizzazione di iniziative di formazione continua<o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><span style='font-family:
Verdana'>attività destinate tipicamente al replacement degli associati<o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><span style='font-family:
Verdana'>circolazione di newsletter periodiche di aggiornamento<o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><span style='font-family:
Verdana'>organizzazione di occasioni di svago e intrattenimento destinate
agli associati<o:p></o:p></span></li>
</ul>
<h1><span style='font-size:12.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></h1>
</div>
</body>
</html>
Figura 12
18
19. Ingegneria del software
AT Alumni Association
AT Alumni Association è l’associazione aperta agli studenti ed ex studenti del Master in Assistive Technology.
L’obiettivo della AT Alumni Association è quello di valorizzare e tenere unito il più grande patrimonio di un
Master: il network dei suoi studenti.
L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia il
networking, favorisce lo sviluppo delle relazioni, organizza attività di formazione continua.
- Attraverso il networking e le numerose occasioni di incontro, tutti gli associati hanno la possibilità di
condividere esperienze, informazioni e conoscenze, fondamentali per il continuo aggiornamento della propria
professionalità.
- Attraverso le attività di formazione organizzate dall’Associazione, gli iscritti hanno l’occasione di perfezionare le
proprie competenze sui principali temi dell’Assistive Technology.
Le attività dell’Associazione supportano anche i diplomati che desiderano riposizionarsi sul mercato del lavoro;
attraverso azioni di networking e diffusione mirata di curricula, l’Associazione diviene uno strumento privilegiato
di supporto al replacement dei diplomati del Master AT.
Per iscriversi per la prima volta si deve compilare il form on-line.
Iscrizione riservata ai Diplomati del Master in Assistive Technology e ai due Corsi di Perfezionamento in
Assistive Technology
L’Associazione opera attraverso:
• organizzazione di incontri periodici itineranti su specifiche tematiche di Assistive Technology
• organizzazione di iniziative di formazione continua
• attività destinate tipicamente al replacement degli associati
• circolazione di newsletter periodiche di aggiornamento
• organizzazione di occasioni di svago e intrattenimento destinate agli associati
Figura 13
c) Database in Microsoft Access:in fig.14 viene mostrata la maschera
“principale” avviata in automatico all’apertura del file,mentre in fig.15 ne
viene visualizzato il codice.Di seguito vengono proposti la maschera
“Admin”(fig.16) e relativo codice(fig.17) e la maschera(fig.18) e il
codice(fig.19) “Corsisti”.
19
20. Ingegneria del software
MASCHERA PRINCIPALE
Figura 14
CODICE MASCHERA PRINCIPALE
Option Compare Database
'=====================================================================================
'CODICE MASCHERA PRINCIPALE
'=====================================================================================
'Tutte le Sub eseguite sono procedure interne
'Le costanti usate sono FORM_ATTIVO e le COSTANTI per i colori
'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private Sub Form_Open(Cancel As Integer)
'Rendi il Form attivo
FORM_ATTIVO = True
'Imposta i colori dello sfondo(BackColor) e dei pulsanti di comando Iscriviti(Comando_Apri_Iscritti,
'Esci(Comando_Chiudi_Principale) e Amministratore(Apri_Admin)
Corpo.BackColor = COLORE_BIANCO
Etichetta_Scegliere.FontSize = 14
Comando_Apri_Iscritti.ForeColor = COLORE_ROSSO
Comando_Chiudi_Principale.ForeColor = COLORE_ROSSO
Comando_Apri_Admin.ForeColor = COLORE_ROSSO
End Sub
'Se si clicca con il mouse sul pulsante Iscriviti cambia il colore della scritta
Private Sub Comando_Apri_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Apri_Iscritti.ForeColor = COLORE_ROSSO
End Sub
'Se ci si sposta con il mouse sopra il pulsante Iscriviti cambia il colore e lo spessore della scritta
Private Sub Comando_Apri_Iscritti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Apri_Iscritti.ForeColor = COLORE_NERO
Comando_Apri_Iscritti.FontBold = True
End Sub
20
21. Ingegneria del software
'Al rilascio del tasto del mouse dopo il click sul pulsante Iscriviti cambia il colore della scritta
Private Sub Comando_Apri_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Apri_Iscritti.ForeColor = COLORE_BLU
End Sub
'Se si clicca con il mouse sul pulsante Esci cambia il colore della scritta
Private Sub Comando_Chiudi_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Chiudi_Principale.ForeColor = COLORE_ROSSO
End Sub
'Se ci si sposta con il mouse sopra il pulsante Esci cambia il colore e lo spessore della scritta
Private Sub Comando_Chiudi_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Chiudi_Principale.ForeColor = COLORE_NERO
Comando_Chiudi_Principale.FontBold = True
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Esci cambia il colore della scritta
Private Sub Comando_Chiudi_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Chiudi_Principale.ForeColor = COLORE_BLU
End Sub
'Se si clicca con il mouse sul pulsante Amministratore cambia il colore della scritta
Private Sub Comando_Apri_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Apri_Admin.ForeColor = COLORE_ROSSO
End Sub
'Se ci si sposta con il mouse sopra il pulsante Amministratore cambia il colore e lo spessore della scritta
Private Sub Comando_Apri_Admin_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Apri_Admin.ForeColor = COLORE_NERO
Comando_Apri_Admin.FontBold = True
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Amministratore cambia il colore della scritta
Private Sub Comando_Apri_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Apri_Admin.ForeColor = COLORE_BLU
End Sub
'Se si clicca sul corpo della maschera cambia il colore
Private Sub Corpo_Click()
Corpo.BackColor = COLORE_DEFAULT
End Sub
'Se si clicca sul pulsante Iscriviti
Private Sub Comando_Apri_Iscritti_Click()
'Se c'è un errore salta all' etichetta Err_Comando_Apri_Iscritti_Click e ne esegue il codice
On Error GoTo Err_Comando_Apri_Iscritti_Click
'Va fino all'ultimo record registrato
DoCmd.GoToRecord , , acLast
'Apre la maschera Iscritti in modalità aggiungi record
DoCmd.OpenForm "Iscritti", acNormal, "", "", acAdd, acNormal
'Procedura di uscita
Exit_Comando_Apri_Iscritti_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Apri_Iscritti_Click:
MsgBox Err.Description
Resume Exit_Comando_Apri_Iscritti_Click
End Sub
21
22. Ingegneria del software
'Se si clicca sul pulsante Esci
Private Sub Comando_Chiudi_Principale_Click()
'Se c'è un errore salta all' etichetta Err_Comando_Chiudi_Principale_Click e ne esegue il codice
On Error GoTo Err_Comando_Chiudi_Principale_Click
'Chiude la maschera attuale
DoCmd.Close
'Esce dal file
DoCmd.Quit
'Procedura di uscita
Exit_Comando_Chiudi_Principale_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Chiudi_Principale_Click:
MsgBox Err.Description
Resume Exit_Comando_Chiudi_Principale_Click
End Sub
'Se si clicca sul comando Amministratore
Private Sub Comando_Apri_Admin_Click()
'Se c'è un errore salta all' etichetta Err_Comando_Apri_Admin e ne esegue il codice
On Error GoTo Err_Comando_Apri_Admin_Click
'Variabili stringhe
Dim stDocName As String
Dim stLinkCriteria As String
'Memorizza il nome della maschera che verrà aperta
stDocName = "Admin"
'Apre la maschera Richiedi password con i criteri esposti
DoCmd.OpenForm stDocName, , , stLinkCriteria
'Procedura di uscita
Exit_Comando_Apri_Admin_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Apri_Admin_Click:
MsgBox Err.Description
Resume Exit_Comando_Apri_Admin_Click
End Sub
Figura 15
22
23. Ingegneria del software
MASCHERA ADMIN
Figura 16
CODICE MASCHERA ADMIN
Option Compare Database
'=====================================================================================
=======================
'CODICE MASCHERA ADMIN
'=====================================================================================
=======================
'Tutte le Sub eseguite sono procedure interne
'Le costanti utilizzate sono quelle per i colori
'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private Sub Form_Open(Cancel As Integer)
'All'apertura imposta il colore degli sfondi maschera e menu pulsanti opzionali,ingrandisce
'i caratteri delle due etichette istruttive,stabilisce il colore della scritta del pulsante invio
'e fissa i colori di tutte le etichette di tutti i campi
23
24. Ingegneria del software
Corpo.BackColor = COLORE_BIANCO
Etichetta_Corsisti.FontSize = 14
Etichetta_Iscritti.FontSize = 14
Comando_Lettura_Corsisti.ForeColor = COLORE_ROSSO
Comando_Inserisci_Corsisti.ForeColor = COLORE_ROSSO
Comando_Modifica_Corsisti.ForeColor = COLORE_ROSSO
Comando_Lettura_Iscritti.ForeColor = COLORE_ROSSO
Comando_Modifica_Iscritti.ForeColor = COLORE_ROSSO
Comando_Torna_Principale.ForeColor = COLORE_ROSSO
End Sub
'=======================================CORSISTI=====================================
'Se si clicca con il mouse sul pulsante Sola lettura cambia il colore della scritta
Private Sub Comando_Lettura_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Lettura_Corsisti.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Sola lettura cambia il colore della scritta
Private Sub Comando_Lettura_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Lettura_Corsisti.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta con il mouse sopra il pulsante Sola Lettura cambia il colore e lo spessore della scritta
Private Sub Comando_Lettura_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Lettura_Corsisti.ForeColor = COLORE_NERO
Comando_Lettura_Corsisti.FontBold = True
End Sub
'Se si clicca con il mouse sul pulsante Inserisci cambia il colore della scritta
Private Sub Comando_Inserisci_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Inserisci_Corsisti.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Inserisci cambia il colore della scritta
Private Sub Comando_Inserisci_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Inserisci_Corsisti.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta con il mouse sopra il pulsante Inserisci cambia il colore e lo spessore della scritta
Private Sub Comando_Inserisci_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Inserisci_Corsisti.ForeColor = COLORE_NERO
Comando_Inserisci_Corsisti.FontBold = True
End Sub
'Se si clicca con il mouse sul pulsante Modifica cambia il colore della scritta
Private Sub Comando_Modifica_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Modifica_Corsisti.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Modifica cambia il colore della scritta
Private Sub Comando_Modifica_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Modifica_Corsisti.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta con il mouse sopra il pulsante Modifica cambia il colore e lo spessore della scritta
Private Sub Comando_Modifica_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Modifica_Corsisti.ForeColor = COLORE_NERO
Comando_Modifica_Corsisti.FontBold = True
End Sub
24
25. Ingegneria del software
'===========================================ISCRITTI===================================
'Se si clicca con il mouse sul pulsante Sola lettura cambia il colore della scritta
Private Sub Comando_Lettura_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Lettura_Iscritti.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Sola lettura cambia il colore della scritta
Private Sub Comando_Lettura_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Lettura_Iscritti.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta con il mouse sopra il pulsante Sola Lettura cambia il colore e lo spessore della scritta
Private Sub Comando_Lettura_Iscritti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Lettura_Iscritti.ForeColor = COLORE_NERO
Comando_Lettura_Iscritti.FontBold = True
End Sub
'Se si clicca con il mouse sul pulsante Modifica cambia il colore della scritta
Private Sub Comando_Modifica_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Modifica_Iscritti.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Modifica cambia il colore della scritta
Private Sub Comando_Modifica_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Modifica_Iscritti.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta con il mouse sopra il pulsante Modifica cambia il colore e lo spessore della scritta
Private Sub Comando_Modifica_Iscritti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Modifica_Iscritti.ForeColor = COLORE_NERO
Comando_Modifica_Iscritti.FontBold = True
End Sub
'Se si clicca con il mouse sul pulsante Torna alla maschera principale cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Torna_Principale.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla maschera principale
'cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Principale.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale
'cambia il colore e lo spessore della scritta
Private Sub Comando_Torna_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Comando_Torna_Principale.ForeColor = COLORE_NERO
Comando_Torna_Principale.FontBold = True
End Sub
'Se si clicca sul corpo della maschera cambia il colore
Private Sub Corpo_Click()
Corpo.BackColor = COLORE_DEFAULT
End Sub
'Se si clicca sul pulsante Inserisci di corsisti:se c'è un errore esegue la sua procedura
Private Sub Comando_Inserisci_Corsisti_Click()
On Error GoTo Err_Comando_Inserisci_Corsisti_Click
'Variabili stringhe
Dim stDocName As String
Dim stLinkCriteria As String
25
26. Ingegneria del software
'Apre la maschera corsisti collegandola tramite il cognome
stDocName = "Corsisti"
stLinkCriteria = "[Cognome]=" & "'" & Me![Cognome] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
'Procedura di uscita
Exit_Comando_Inserisci_Corsisti_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Inserisci_Corsisti_Click:
MsgBox Err.Description
Resume Exit_Comando_Inserisci_Corsisti_Click
End Sub
'Se si clicca sul pulsante Torna alla maschera principale di corsisti:se c'è un errore esegue la sua procedura
Private Sub Comando_Torna_Principale_Click()
On Error GoTo Err_Comando_Torna_Principale_Click
'Chiude la maschera
DoCmd.Close
'Procedura di uscita
Exit_Comando_Torna_Principale_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Principale_Click:
MsgBox Err.Description
Resume Exit_Comando_Torna_Principale_Click
End Sub
'Se si clicca sul pulsante Modifica di corsisti:se c'è un errore esegue la sua procedura
Private Sub Comando_Modifica_Corsisti_Click()
On Error GoTo Err_Comando_Modifica_Corsisti_Click
'Apre la maschera corsisti e visualizza la maschera Trova record
DoCmd.OpenForm "Corsisti", acNormal, "", "", acEdit, acNormal
Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
'Procedura di uscita
Exit_Comando_Modifica_Corsisti_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Modifica_Corsisti_Click:
MsgBox Err.Description
Resume Exit_Comando_Modifica_Corsisti_Click
End Sub
'Se si clicca sul pulsante Modifica di iscritti:se c'è un errore esegue la sua procedura
Private Sub Comando_Modifica_Iscritti_Click()
On Error GoTo Err_Comando_Modifica_Iscritti_Click
'Apre la maschera Autorizzati(con i dati iscritti) e visualizza la maschera Trova record
DoCmd.OpenForm "Autorizzati", acNormal, "", "", acEdit, acNormal
Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
'Procedura di uscita
Exit_Comando_Modifica_Iscritti_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Modifica_Iscritti_Click:
MsgBox Err.Description
Resume Exit_Comando_Modifica_Iscritti_Click
End Sub
'Se si clicca sul pulsante Sola lettura di corsisti:se c'è un errore esegue la sua procedura
Private Sub Comando_Lettura_Corsisti_Click()
26
27. Ingegneria del software
On Error GoTo Err_Comando_Lettura_Corsisti_Click
'Apre la maschera Corsisti in modalità struttura
DoCmd.OpenForm "Corsisti", acDesign, "", "", acReadOnly, acNormal
'Procedura di uscita
Exit_Comando_Lettura_Corsisti_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Lettura_Corsisti_Click:
MsgBox Err.Description
Resume Exit_Comando_Lettura_Corsisti_Click
End Sub
'Se si clicca sul pulsante Sola lettura di iscritti:se c'è un errore esegue la sua procedura
Private Sub Comando_Lettura_Iscritti_Click()
On Error GoTo Err_Comando_Lettura_Iscritti_Click
'Apre la maschera Autorizzati(con i dati iscritti) in modalità struttura
DoCmd.OpenForm "Autorizzati", acDesign, "", "", acReadOnly, acNormal
'Procedura di uscita
Exit_Comando_Lettura_Iscritti_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Lettura_Iscritti_Click:
MsgBox Err.Description
Resume Exit_Comando_Lettura_Iscritti_Click
End Sub
Figura 17
MASCHERA CORSISTI
Figura 18
CODICE MASCHERA CORSISTI
Option Compare Database
27
28. Ingegneria del software
'=========================================================================================
'CODICE MASCHERA CORSISTI
'=========================================================================================
'Tutte le Sub eseguite sono procedure interne
'Non sono utilizzate costanti stringhe o booleane
'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private Sub Form_Open(Cancel As Integer)
'Imposta i colori dello sfondo,dei pulsanti di comando Torna alla maschera amministratore e
'Torna alla maschera principale,delle etichette Nome e Cognome
'e il carattere dell'etichetta Inserisci i dati
Corpo.BackColor = COLORE_BIANCO
Etichetta_Inserisci_Dati.FontSize = 14
Nome_Etichetta.ForeColor = COLORE_NERO
Cognome_Etichetta.ForeColor = COLORE_NERO
Comando_Torna_Admin.ForeColor = COLORE_ROSSO
Comando_Torna_Principale.ForeColor = COLORE_ROSSO
End Sub
'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi
Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Nome_Etichetta.FontSize = 10
Nome.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi
Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Cognome_Etichetta.FontSize = 10
Cognome.FontSize = 10
End Sub
'Se si entra nella casella di Nome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Nome_Enter()
Nome_Etichetta.ForeColor = COLORE_NERO
Nome_Etichetta.FontSize = 8
Nome.FontSize = 8
End Sub
'Se si clicca nella casella di Nome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Nome_Click()
Nome_Etichetta.ForeColor = COLORE_NERO
Nome_Etichetta.FontSize = 8
Nome.FontSize = 8
End Sub
'Se si esce dalla casella di Nome vengono definiti colore e
'grandezza scrittadell'etichetta e grandezza scritta nella casella
Private Sub Nome_Exit(Cancel As Integer)
Nome_Etichetta.ForeColor = COLORE_BIANCO
Nome_Etichetta.FontSize = 8
Nome.FontSize = 8
End Sub
'Se si entra nella casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Enter()
Cognome_Etichetta.ForeColor = COLORE_NERO
Cognome_Etichetta.FontSize = 8
Cognome.FontSize = 8
28
29. Ingegneria del software
End Sub
'Se si clicca nella casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Click()
Cognome_Etichetta.ForeColor = COLORE_NERO
Cognome_Etichetta.FontSize = 8
Cognome.FontSize = 8
End Sub
'Se si esce dalla casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Exit(Cancel As Integer)
Cognome_Etichetta.ForeColor = COLORE_BIANCO
Cognome_Etichetta.FontSize = 8
Cognome.FontSize = 8
End Sub
'Se si clicca con il mouse sul pulsante Torna alla maschera principale
'cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Principale.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla
'maschera principale cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Principale.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale
'cambia il colore e lo spessore della scritta
Private Sub Comando_Torna_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Principale.ForeColor = COLORE_NERO
Comando_Torna_Principale.FontBold = True
End Sub
'Se si clicca con il mouse sul pulsante Torna alla maschera amministratore cambia il colore della scritta
Private Sub Comando_Torna_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Admin.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante
'Torna alla maschera amministratore cambia il colore della scritta
Private Sub Comando_Torna_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Admin.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta con il mouse sopra il pulsante Torna alla
'maschera amministratore cambia il colore e lo spessore della scritta
Private Sub Comando_Torna_Admin_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Admin.ForeColor = COLORE_NERO
Comando_Torna_Admin.FontBold = True
End Sub
'Se si clicca sul corpo della maschera cambia il colore
Private Sub Corpo_Click()
Corpo.BackColor = COLORE_DEFAULT
End Sub
'Se si clicca sul pulsante Torna alla maschera principale:se c'è un errore esegue la sua procedura
Private Sub Comando_Torna_Principale_Click()
On Error GoTo Err_Comando_Torna_Principale_Click
'Chiude la maschera e la precedente
DoCmd.Close
29
30. Ingegneria del software
DoCmd.Close acForm, "Admin"
'Procedura di uscita
Exit_Comando_Torna_Principale_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Principale_Click:
MsgBox Err.Description
Resume Exit_Comando_Torna_Principale_Click
End Sub
'Se si clicca sul pulsante Torna alla maschera amministratore:se c'è un errore esegue la sua procedura
Private Sub Comando_Torna_Admin_Click()
On Error GoTo Err_Comando_Torna_Admin_Click
'Chiude la maschera
DoCmd.Close
'Procedura di errore
Exit_Comando_Torna_Admin_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Admin_Click:
MsgBox Err.Description
Resume Exit_Comando_Torna_Admin_Click
End Sub
Figura 19
Nelle seguenti fig.20 e fig.21 sono riportati rispettivamente la maschera e i
codici della maschera “Autorizzati”.Infine le ultime tre maschere in sequenza:
“Iscritti”(fig.22)con suo relativo codice(fig.23),”Richiedi_Password”(fig.24) e
relativo codice(fig.25) e “Password”(fig.26) con codice visualizzato in fig.27.
30
31. Ingegneria del software
MASCHERA AUTORIZZATI
Figura 20
CODICE MASCHERA AUTORIZZATI
Option Compare Database
'==========================================================================================
'CODICE MASCHERA AUTORIZZATI
'==========================================================================================
'Tutte le Sub eseguite sono procedure interne
'Le costanti usate sono le COSTANTI per i colori
'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private Sub Form_Open(Cancel As Integer)
31
32. Ingegneria del software
'Imposta i colori dello sfondo(BackColor) e dei pulsanti di comando Iscriviti(Comando_Apri_Iscritti,
'Esci(Comando_Chiudi_Principale) e Amministratore(Apri_Admin)
Corpo.BackColor = COLORE_BIANCO
Etichetta_dati_Iscritti.FontSize = 14
Etichetta_Seleziona.BackColor = COLORE_BIANCO
Comando_Torna_Admin.ForeColor = COLORE_ROSSO
Comando_Torna_Principale.ForeColor = COLORE_ROSSO
E_Mail_Etichetta.ForeColor = COLORE_NERO
Nome_Etichetta.ForeColor = COLORE_NERO
Cognome_Etichetta.ForeColor = COLORE_NERO
Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO
Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO
Telefono_Etichetta.ForeColor = COLORE_NERO
Corso_Frequentato_Etichetta.ForeColor = COLORE_NERO
Edizione_Etichetta.ForeColor = COLORE_NERO
Password_Etichetta.ForeColor = COLORE_NERO
End Sub
'Se ci si sposta col mouse nel campo o etichetta E-Mail ingrandisce il carattere delle scritte di entrambi
Private Sub E_Mail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
E_Mail_Etichetta.FontSize = 10
E_Mail.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi
Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Nome_Etichetta.FontSize = 10
Nome.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi
Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Cognome_Etichetta.FontSize = 10
Cognome.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Indirizzo di residenza ingrandisce
'il carattere delle scritte di entrambi
Private Sub Indirizzo_di_residenza_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Indirizzo_di_residenza_Etichetta.FontSize = 10
Indirizzo_di_residenza.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Indirizzo di invio ingrandisce
'il carattere delle scritte di entrambi
Private Sub Indirizzo_di_invio_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Indirizzo_di_invio_Etichetta.FontSize = 10
Indirizzo_di_invio.FontSize = 10
End Sub
'Se si clicca con il mouse sul pulsante opzionale CPAT cambia il colore della scritta
Private Sub Opzione_CPAT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Etichetta_CPAT.ForeColor = COLORE_ROSSO
End Sub
'Se si clicca con il mouse sul pulsante opzionale MAT cambia il colore della scritta
Private Sub Opzione_MAT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Etichetta_MAT.ForeColor = COLORE_ROSSO
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante opzionale CPAT cambia il colore della scritta
Private Sub Opzione_CPAT_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Etichetta_CPAT.ForeColor = COLORE_BLU
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante opzionale MAT cambia il colore della scritta
Private Sub Opzione_MAT_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
32
33. Ingegneria del software
Etichetta_MAT.ForeColor = COLORE_BLU
End Sub
'Se ci si sposta col mouse nel campo o etichetta Telefono ingrandisce il carattere delle scritte di entrambi
Private Sub Telefono_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Telefono_Etichetta.FontSize = 10
Telefono.FontSize = 10
End Sub
'Se ci si sposta col mouse nell' etichetta Corso frequentato ingrandisce la scritta dell'etichetta,
'ne toglie il corsivo e la tramuta in grassetto
Private Sub Corso_Frequentato_Etichetta_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Corso_Frequentato_Etichetta.FontSize = 10
Etichetta_CPAT.FontItalic = False
Etichetta_MAT.FontItalic = False
Etichetta_CPAT.FontBold = True
Etichetta_MAT.FontBold = True
End Sub
'Se ci si sposta col mouse nel pulsante opzionale CPAT trasforma la scritta in corsivo
Private Sub Opzione_CPAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Etichetta_CPAT.FontItalic = True
End Sub
'Se ci si sposta col mouse nel pulsante opzionale MAT trasforma la scritta in corsivo
Private Sub Opzione_MAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Etichetta_MAT.FontItalic = True
End Sub
'Se ci si sposta col mouse nel campo o etichetta Edizione ingrandisce il carattere delle scritte di entrambi
Private Sub Edizione_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Edizione_Etichetta.FontSize = 10
Edizione.FontSize = 10
End Sub
'Se si entra nella casella di E-Mail vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub E_Mail_Enter()
E_Mail_Etichetta.ForeColor = COLORE_NERO
E_Mail_Etichetta.FontSize = 8
E_Mail.FontSize = 8
End Sub
'Se si clicca nella casella di E-Mail vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub E_Mail_Click()
E_Mail_Etichetta.ForeColor = COLORE_NERO
E_Mail_Etichetta.FontSize = 8
E_Mail.FontSize = 8
End Sub
'Se si esce dalla casella di E-Mail vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub E_Mail_Exit(Cancel As Integer)
E_Mail_Etichetta.ForeColor = COLORE_BIANCO
E_Mail_Etichetta.FontSize = 8
E_Mail.FontSize = 8
End Sub
'Se si entra nella casella di Nome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Nome_Enter()
Nome_Etichetta.ForeColor = COLORE_NERO
Nome_Etichetta.FontSize = 8
Nome.FontSize = 8
End Sub
33
34. Ingegneria del software
'Se si clicca nella casella di Nome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Nome_Click()
Nome_Etichetta.ForeColor = COLORE_NERO
Nome_Etichetta.FontSize = 8
Nome.FontSize = 8
End Sub
'Se si esce dalla casella di Nome vengono definiti colore e
'grandezza scrittadell'etichetta e grandezza scritta nella casella
Private Sub Nome_Exit(Cancel As Integer)
Nome_Etichetta.ForeColor = COLORE_BIANCO
Nome_Etichetta.FontSize = 8
Nome.FontSize = 8
End Sub
'Se si entra nella casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Enter()
Cognome_Etichetta.ForeColor = COLORE_NERO
Cognome_Etichetta.FontSize = 8
Cognome.FontSize = 8
End Sub
'Se si clicca nella casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Click()
Cognome_Etichetta.ForeColor = COLORE_NERO
Cognome_Etichetta.FontSize = 8
Cognome.FontSize = 8
End Sub
'Se si esce dalla casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Exit(Cancel As Integer)
Cognome_Etichetta.ForeColor = COLORE_BIANCO
Cognome_Etichetta.FontSize = 8
Cognome.FontSize = 8
End Sub
'Se si entra nella casella di Indirizzo di residenza vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_residenza_Enter()
Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO
Indirizzo_di_residenza_Etichetta.FontSize = 8
Indirizzo_di_residenza.FontSize = 8
End Sub
'Se si clicca nella casella di Indirizzo di residenza vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_residenza_Click()
Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO
Indirizzo_di_residenza_Etichetta.FontSize = 8
Indirizzo_di_residenza.FontSize = 8
End Sub
'Se si esce dalla casella di Indirizzo di residenza vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_residenza_Exit(Cancel As Integer)
Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_BIANCO
Indirizzo_di_residenza_Etichetta.FontSize = 8
Indirizzo_di_residenza.FontSize = 8
End Sub
'Se si entra nella casella di Indirizzo di invio vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_invio_Enter()
Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO
Indirizzo_di_invio_Etichetta.FontSize = 8
34
35. Ingegneria del software
Indirizzo_di_invio.FontSize = 8
End Sub
'Se si clicca nella casella di Indirizzo di invio vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_invio_Click()
Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO
Indirizzo_di_invio_Etichetta.FontSize = 8
Indirizzo_di_invio.FontSize = 8
End Sub
'Se si esce dalla casella di Indirizzo di invio vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_invio_Exit(Cancel As Integer)
Indirizzo_di_invio_Etichetta.ForeColor = COLORE_BIANCO
Indirizzo_di_invio_Etichetta.FontSize = 8
Indirizzo_di_invio.FontSize = 8
End Sub
'Se si entra nella casella di Telefono vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Telefono_Enter()
Telefono_Etichetta.ForeColor = COLORE_NERO
Telefono_Etichetta.FontSize = 8
Telefono.FontSize = 8
End Sub
'Se si clicca nella casella di Telefono vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Telefono_Click()
Telefono_Etichetta.ForeColor = COLORE_NERO
Telefono_Etichetta.FontSize = 8
Telefono.FontSize = 8
End Sub
'Se si esce dalla casella di Telefono vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Telefono_Exit(Cancel As Integer)
Telefono_Etichetta.ForeColor = COLORE_BIANCO
Telefono_Etichetta.FontSize = 8
Telefono.FontSize = 8
End Sub
'Se si entra nella casella di Edizione vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Edizione_Enter()
Edizione_Etichetta.ForeColor = COLORE_NERO
Edizione_Etichetta.FontSize = 8
Edizione.FontSize = 8
End Sub
'Se si clicca nella casella di Edizione vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Edizione_Click()
Edizione_Etichetta.ForeColor = COLORE_NERO
Edizione_Etichetta.FontSize = 8
Edizione.FontSize = 8
End Sub
'Se si esce dalla casella di Edizione vengono definiti colore e
'grandezza scritta dell'etichetta egrandezza scritta nella casella
Private Sub Edizione_Exit(Cancel As Integer)
Edizione_Etichetta.ForeColor = COLORE_BIANCO
Edizione_Etichetta.FontSize = 8
Edizione.FontSize = 8
End Sub
35
36. Ingegneria del software
'Se ci si sposta col mouse nel campo o etichetta Password ingrandisce il carattere delle scritte di entrambi
Private Sub Password_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Password_Etichetta.FontSize = 10
Password.FontSize = 10
End Sub
'Se si entra nella casella di Password vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Password_Enter()
Password_Etichetta.ForeColor = COLORE_NERO
Password_Etichetta.FontSize = 8
Password.FontSize = 8
End Sub
'Se si clicca nella casella di Password vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Password_Click()
Password_Etichetta.ForeColor = COLORE_NERO
Password_Etichetta.FontSize = 8
Password.FontSize = 8
End Sub
'Se si esce dalla casella di Password vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Password_Exit(Cancel As Integer)
Password_Etichetta.ForeColor = COLORE_BIANCO
Password_Etichetta.FontSize = 8
Password.FontSize = 8
End Sub
'Se si clicca sul corpo della maschera cambia il colore
Private Sub Corpo_Click()
Corpo.BackColor = COLORE_DEFAULT
Etichetta_Seleziona.BackColor = COLORE_DEFAULT
End Sub
'Se si clicca con il mouse sul pulsante Torna alla maschera amministratore
'cambia il colore della scritta
Private Sub Comando_Torna_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Admin.ForeColor = COLORE_ROSSO
End Sub
'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera amministratore
'cambia il colore e lo spessore della scritta
Private Sub Comando_Torna_Admin_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Admin.ForeColor = COLORE_NERO
Comando_Torna_Admin.FontBold = True
End Sub
'Al rilascio del tasto del mouse dopo il click sul pulsante Torna
'alla maschera amministratore cambia il colore della scritta
Private Sub Comando_Torna_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Admin.ForeColor = COLORE_BLU
End Sub
'Se si clicca con il mouse sul pulsante Torna alla maschera principale cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Principale.ForeColor = COLORE_ROSSO
End Sub
'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale
'cambia il colore e lo spessore della scritta
Private Sub Comando_Torna_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Principale.ForeColor = COLORE_NERO
Comando_Torna_Principale.FontBold = True
End Sub
36
37. Ingegneria del software
'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla
'maschera principale cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Comando_Torna_Principale.ForeColor = COLORE_BLU
End Sub
'Se si clicca su Torna alla maschera amministratore:se c'è errore esegue la sua procedura
Private Sub Comando_Torna_Admin_Click()
On Error GoTo Err_Comando_Torna_Admin_Click
'Chiude la maschera
DoCmd.Close
'Procedura di uscita
Exit_Comando_Torna_Admin_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Admin_Click:
MsgBox Err.Description
Resume Exit_Comando_Torna_Admin_Click
End Sub
'Se si clicca su Torna alla maschera principale:se c'è errore esegue la sua procedura
Private Sub Comando_Torna_Principale_Click()
On Error GoTo Err_Comando_Torna_Principale_Click
'Chiude la maschera e la precedente
DoCmd.Close
DoCmd.Close acForm, "Admin"
'Procedura di uscita
Exit_Comando_Torna_Principale_Click:
Exit Sub
'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Principale_Click:
MsgBox Err.Description
Resume Exit_Comando_Torna_Principale_Click
End Sub
Figura 21
37
38. Ingegneria del software
MASCHERA ISCRITTI
Figura 22
CODICE MASCHERA ISCRITTI
Option Compare Database
'===============================================================================================
'CODICE MASCHERA ISCRITTI
'===============================================================================================
'Tutte le Sub eseguite sono procedure interne
'Le costanti usate sono STRINGA_NOME e STRINGA_COGNOME
'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private Sub Form_Open(Cancel As Integer)
38
39. Ingegneria del software
'All'apertura imposta i colori degli sfondi maschera e menu pulsanti opzionali,ingrandisce
'i caratteri delle due etichette istruttive,stabilisce il colore della scritta del pulsante invio
'e fissa i colori di tutte le etichette di tutti i campi
Corpo.BackColor = COLORE_BIANCO
Etichetta_Seleziona.BackColor = COLORE_BIANCO
Etichetta_Iscriviti.FontSize = 14
Etichetta_Riempi.FontSize = 14
Comando_Invio.ForeColor = COLORE_ROSSO
E_Mail_Etichetta.ForeColor = COLORE_NERO
Nome_Etichetta.ForeColor = COLORE_NERO
Cognome_Etichetta.ForeColor = COLORE_NERO
Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO
Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO
Telefono_Etichetta.ForeColor = COLORE_NERO
Corso_Frequentato_Etichetta.ForeColor = COLORE_NERO
Edizione_Etichetta.ForeColor = COLORE_NERO
End Sub
'Se ci si sposta col mouse nel campo o etichetta E-Mail ingrandisce il carattere delle scritte di entrambi
Private Sub E_Mail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
E_Mail_Etichetta.FontSize = 10
E_Mail.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi
Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Nome_Etichetta.FontSize = 10
Nome.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi
Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Cognome_Etichetta.FontSize = 10
Cognome.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Indirizzo di residenza ingrandisce
'il carattere delle scritte di entrambi
Private Sub Indirizzo_di_residenza_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Indirizzo_di_residenza_Etichetta.FontSize = 10
Indirizzo_di_residenza.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Indirizzo di invio ingrandisce
'il carattere delle scritte di entrambi
Private Sub Indirizzo_di_invio_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Indirizzo_di_invio_Etichetta.FontSize = 10
Indirizzo_di_invio.FontSize = 10
End Sub
'Se ci si sposta col mouse nel campo o etichetta Telefono ingrandisce il carattere delle scritte di entrambi
Private Sub Telefono_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Telefono_Etichetta.FontSize = 10
Telefono.FontSize = 10
End Sub
'Se ci si sposta col mouse nell' etichetta Corso frequentato ingrandisce la scritta dell'etichetta,
'ne toglie il corsivo e la tramuta in grassetto
Private Sub Corso_Frequentato_Etichetta_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Corso_Frequentato_Etichetta.FontSize = 10
Etichetta_CPAT.FontItalic = False
Etichetta_MAT.FontItalic = False
Etichetta_CPAT.FontBold = True
Etichetta_MAT.FontBold = True
End Sub
'Se ci si sposta col mouse nel pulsante opzionale CPAT trasforma la scritta in corsivo
Private Sub Opzione_CPAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
39