La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PROGRAMMARE IN VISUAL BASIC

Presentazioni simili


Presentazione sul tema: "PROGRAMMARE IN VISUAL BASIC"— Transcript della presentazione:

1 PROGRAMMARE IN VISUAL BASIC
Progetto Docente I.T.C. Don M. Arena Sciacca Gestione di una “Videoteca” Prof. F. Di Gerlando Classe V Programmatori Anno Scolastico

2 GESTIONE DI UNA VIDEOTECA
Progetto Presentazione Modellazione Interfacce Codice

3 Presentazione del Progetto “GESTIONE DI UNA VIDEOTECA”
Introduzione Presentazione del Progetto “GESTIONE DI UNA VIDEOTECA” Il progetto software qui presentato ha come oggetto la gestione di una videoteca. L’idea di realizzare questo progetto è nata dall’importanza che l’automazione delle informazioni ha subito nell’ultimo decennio. Per cui profondi mutamenti si sono avuti in buona parte grazie all’evoluzione della tecnologia informatica, ma anche grazie all’esigenza di predisporre di flussi informativi più precisi, tempestivi, completi e soprattutto inseriti in un sistema integrato. Segue

4 Nel realizzare tale gestione è opportuno curare un lavoro di progettazione iniziale, con riferimento ai dati da memorizzare e destinati alla successiva elaborazione. Innanzitutto bisogna effettuare una raccolta di informazioni attinenti al progetto in questione, ricercare poi i dati aventi elementi caratterizzanti e i legami intercorrenti tra essi. Disponendo del livello concettuale si inizia ad acquisire i dati. Per far ciò è opportuno l’utilizzo di un sistema di gestione di basi di dati nella fattispecie l’ambiente software “Microsoft Access” attraverso quest’ultimo è possibile creare cinque tabelle e cioè degli schemi secondo cui saranno organizzati i dati all’interno del database. Segue

5 Genere: per gestire i generi delle videocassette;
Per la gestione delle videocassette e dei dati dei clienti vengono individuate le entità seguenti: Tessere: per rappresentare i dati anagrafici, i dati relativi all’eventuale abbonamento e le statistiche di noleggio dei clienti; Genere: per gestire i generi delle videocassette; Cassette: per gestire le varie videocassette della videoteca; Noleggi: per gestire i noleggi delle videocassette; Utente: per gestire i dati dell’utente che utilizza il software. Segue

6 Dopo aver terminato la fase di modellazione dei dati, si può utilizzare un linguaggio di programmazione orientato agli oggetti e basato sugli eventi: Visual Basic. Tale linguaggio ormai è utilizzato in tutti gli ambienti di lavoro, anche scolastici in cui anche gli alunni si cimentano nel corso dell’ultimo anno. Esso è in grado di leggere i formati appartenenti a molti tipi di database e creare interfacce che facilitano l’interattività tra l’utente e la macchina. Segue

7 Per gestire la videoteca attraverso tale linguaggio è necessario
pianificare il lavoro in tre fasi: CREAZIONE DELL’INTERFACCIA UTENTE: mediante la quale viene progettata la parte grafica inserendo all’interno di finestre (form) una serie di controlli per l’inserimento, la visualizzazione, la modifica e la cancellazione dei record. IMPOSTAZIONE DELLE PROPRIETA’: mediante la quale si assegnano ai controlli un nome e si definisco attributi come il contenuto di un’etichetta, la dimensione del testo, lo stile e le parole che appaiono su un pulsante di comando o nella barra del titolo del form. SCRITTURA DEL CODICE: mediante la quale vengono create e scritte le routine necessarie per potere eseguire il progetto. In questa fase è necessario l’utilizzo di istruzioni di programmazione basic per eseguire le azioni richieste dal programma. Segue

8 Conclusione In conclusione, il progetto sarà in grado di gestire le
videocassette di una videoteca e realizzare: La gestione dei noleggi; La gestione delle tessere; Ordinamento di liste per codice, descrizione, nomi…. La gestione di stampe.

9 Descrizione delle entità
Le entità che possono essere individuate nel problema sono: CASSETTE: per gestire le varie videocassette della videoteca; TESSERE: per rappresentare i dati anagrafici, i dati relativi all’eventuale abbonamento e le statistiche di noleggio dei clienti; NOLEGGI: per gestire i noleggi delle videocassette; GENERE: per gestire i generi delle videocassette; UTENTE: per gestire i dati dell’utente che utilizza il software. Segue

10 Gli attributi dell’entità Genere sono: codice genere, genere.
Gli attributi dell’entità Cassette sono: codice cassetta, codice a barre, titolo, codice genere, durata, premi oscar, primo attore, secondo attore, regia, distribuzione, anno di uscita, gradimento, colonna sonora, visione, totale cassette a disposizione, cassette noleggiate, numero di noleggi, data inserimento, posizione. Gli attributi dell’entità Tessere sono: codice tessera, nominativo, codice fiscale, indirizzo, città, provincia, cap, numero di telefono, tipo documento, abbonato (si/no), data abbonamento, data scadenza, importo abbonamento, cassette noleggiate, numero noleggi, cassette in ritardo, importo noleggi, note. Gli attributi dell’entità Noleggi sono: ID noleggio, codice tessera, codice cassetta, data noleggio, data restituzione, restituita (Si/No). Gli attributi dell’entità Genere sono: codice genere, genere. Gli attributi dell’entità Utente sono: utente, indirizzo, cap, località, provincia, numero di telefono, , partita iva o codice fiscale. Segue

11 Tra le entità Genere e Cassette si può stabilire un’associazione uno a molti, perché un genere può corrispondere a una o più videocassette, e molte videocassette possono corrispondere a uno stesso genere. Tra le entità Cassette e Noleggi si può stabilire un’associazione uno a molti, perché una cassetta può essere soggetta a diversi noleggi, e il noleggio può riferirsi a una sola cassetta. Tra le entità Tessere e Noleggi si può stabilire un’associazione uno a molti, perché una tessera può essere utilizzata per più noleggi, e diversi noleggi possono essere effettuati con una tessera. Segue

12 Utilizziamo le regole di derivazione si ottengono le seguenti tabelle:
Sulla base dell’analisi effettuata si può disegnare il modello entità\associazioni : Modello E\R  Nel modello E/R sono stati indicati i nomi dei versi delle associazioni e l’opzionalità o l’obbligatorietà delle associazioni (indicate rispettivamente dalla linea tratteggiata o continua). Utilizziamo le regole di derivazione si ottengono le seguenti tabelle: Tessere (Codice tessera, Nominativo, Codice fiscale, Indirizzo, Città, Provincia, Cap, Numero di telefono, Tipo documento, Abbonato (si/no), Data abbonamento, Data scadenza, Importo abbonamento, Cassette noleggiate, Numero noleggi, Cassette in ritardo, Importo noleggi, Note). Segue

13 Cassette (Codice cassetta, Codice a barre, Titolo, Codice genere, Durata, Premi oscar, Primo attore, Secondo attore, Regia, Distribuzione, Anno di uscita, Gradimento, Colonna sonora, Visione, Totale cassette a disposizione, Cassette noleggiate, Numero di noleggi, Data inserimento, Posizione). Tessere (Codice tessera, Nominativo, CF, Indirizzo, Città, Prov, Cap, Telefono, Documento abbonato, Data abbonamento, Data scadenza, Importo abbonamento, Cassette noleggiate, Numero noleggi, Cassette ritardo, Importo noleggi, Note). Noleggi (ID noleggio, Codice tessera, Codice cassetta, Data noleggio, Data restituzione, Restituita (si/no)). Genere (Codice genere, Genere.) Utente (Utente, Indirizzo, Cap, Località, Provincia, Numero di telefono, , Partita Iva o Codice Fiscale).

14 Associazioni Cassette Genere Noleggi Tessere Utente

15 Cassette Nome Campo Tipo dati Dimensione Descrizione CodiceCassetta
Contatore Intero lungo Chiave Primaria CodiceBarre Testo 13 Codice per lettore (Chiave esterna) Titolo 40 Identifica titolo del film CodiceGenere Numerico Identifica codice genere Durata Byte Durata del film PremiOscar Oscar ricevuti PrimoAttore 25 Nome 1° attore SecondoAttore Nome 2° attore Regia Nome regista Distribuzione Casa cinematografica AnnoUscita Intero Anno uscita film Gradimento 5 Identifica gradimento pubblico ColonnaSonora 30 Autore colonna sonora Visione 7 Identifica la visione TotaleCassette Numero cassette CassetteNoleggiate Numero cassette noleggiate NumNoleggi Numero totale noleggi DataInserimento Data/ora Data in cifre Data archiviazione Posizione 6 Classifica

16 Tessere Nome Campo Tipo dati Dimensione Descrizione CodiceTessera
Contatore Intero lungo Chiave Primaria Nominativo Testo 40 Nome e cognome CF 16 Codice fiscale Indirizzo 25 Indirizzo cliente Citta Sede cliente Prov 2 Provincia cliente CAP 5 Codice avviamento postale Telefono 15 Telefono cliente Documento 20 Numero identità cliente Abbonato Si/No Logico DataAbbonamento Data/ora Data in cifre Data abbonamento cliente DataScadenza Data scadenza abbonamento ImportoAbbonamento Valuta Euro Prezzo abbonamento CassetteNoleggiate Numerico Byte Numero cassette noleggiate NumeroNoleggi Totale noleggi CassetteRitardo Numero cassette da restituire ImportoNoleggi Totale importo noleggiate Note Memo Promemoria

17 Noleggi Generi IDNoleggio CodiceGenere Contatore Intero lungo
Nome Campo Tipo dati Dimensione Descrizione IDNoleggio Contatore Intero lungo Chiave primaria CodiceTessera Numerico Codice tessera utente(Chiave esterna) CodiceCassetta Testo 6 Codice videocassetta DataNoleggio Data/ora Data in cifre Data noleggio DataRestituzione Data restituzione Restituita Si/No Si: Cassetta restituita No:Cassetta da restituire Generi Nome Campo Tipo dati Dimensione Descrizione CodiceGenere Contatore Intero lungo Chiave primaria Genere Testo 20 Identifica genere film

18 Utente Utente Testo 40 Nome utente Indirizzo 25 Cap 5
Nome Campo Tipo dati Dimensione Descrizione Utente Testo 40 Nome utente Indirizzo 25 Indirizzo utente Cap 5 Codice avv. postale Localita Residenza utente Prov 2 Provincia utente Telefono 15 Telefono utente 20 dell’utente PartitaIvaCF 16 P.I. o Codice Fiscale

19 Interfacce Form Menù Principale

20 Form Cassette

21 Form Tessere

22 Form Noleggi

23 Form Generi

24 Form Utente

25 Codice (Form Utente) Private Sub Form_Load() Const grigio = &H8000000F
‘collega il database all’oggetto data control datUtente.DatabaseName = App.Path & "\dbVideotecaPrec.mdb" datUtente.RecordSource = "tblUtente" datUtente.Refresh 'centra il form nello schermo frmUtenti.Top = (Screen.Height - frmUtenti.Height) / 2 frmUtenti.Left = (Screen.Width - frmUtenti.Width) / 2 For Ind = 1 To 8 txtUtente(Ind).BackColor = grigio txtUtente(Ind).Enabled = False Next Ind VisualizzaRecord End Sub Private Sub txtUtente_GotFocus(Index As Integer) 'sfondo giallo per il text in uso txtUtente(Index).BackColor = vbYellow End Sub Private Sub txtUtente_LostFocus(Index As Integer) 'sfondo bianco per i text non in uso txtUtente(Index).BackColor = vbWhite Private Sub txtUtente_Validate(Index As Integer, Cancel As Boolean) Select Case Index Case 3 If Not IsNumeric(txtUtente(Index).Text) Then MsgBox "Attenzione: Inserire solo numeri" txtUtente(Index).Text = "" Cancel = True End If End Select

26 Codice (Form Cassette)
Private Sub RegistraRecord() Dim Ind As Byte For Ind = 0 To 14 If Len(txtCampo(Ind).Text) = 0 Then MsgBox "Inserire campo", vbOKOnly + vbExclamation, "Campo mancante" txtCampo(Ind).SetFocus Exit Sub End If Next Ind datVideocassette.Recordset.AddNew AssegnaCampi datVideocassette.Recordset.Update PulisciMaschera datVideocassette.Recordset.MoveLast txtCampo(0).Text = datVideocassette.Recordset("CodiceCassetta") + 1 txtCampo(1).SetFocus End Sub Private Sub PulisciMaschera() Dim Ind As Byte For Ind = 0 To 16 txtCampo(Ind).Text = "" Next Ind lblcampo(18).Caption = "" End Sub Private Sub RicercaRecord() datVideocassette.Recordset.Index = "PrimaryKey" datVideocassette.Recordset.Seek "=", CLng(txtCampo(0).Text) If datVideocassette.Recordset.NoMatch Then MsgBox " Codice cassetta inesistente", vbOKOnly + vbExclamation txtCampo(0).SetFocus Else VisualizzaRecord RicercaRecordGenere End If

27 Codice (Form Tessere) Private Sub RegistraRecord() Dim Ind As Byte
Private Sub RicercaRecord() datTessere.Recordset.Index = "PrimaryKey" datTessere.Recordset.Seek "=", CLng(txtCampo(0).Text) If datTessere.Recordset.NoMatch Then MsgBox "Codice Tessera inesistente!", vbOKOnly + vbExclamation, "ATTENZIONE!" txtCampo(0).Text = "" txtCampo(0).SetFocus Else VisualizzaRecord End If End Sub Private Sub VisualizzaRecord() txtCampo(0).Text = datTessere.Recordset("CodiceTessera") txtCampo(1).Text = datTessere.Recordset("Nominativo") txtCampo(7).Text = datTessere.Recordset("CF") txtCampo(2).Text = datTessere.Recordset("Indirizzo") txtCampo(3).Text = datTessere.Recordset("CAP") txtCampo(4).Text = datTessere.Recordset("Citta") txtCampo(5).Text = datTessere.Recordset("Prov") txtCampo(6).Text = datTessere.Recordset("Telefono") txtCampo(8).Text = datTessere.Recordset("Documento") txtCampo(9).Text = datTessere.Recordset("ImportoAbbonamento") txtCampo(10).Text = datTessere.Recordset("NumeroNoleggi") dtpDataScadenza.Value = datTessere.Recordset("DataScadenza") dtpDataIscrizione.Value = datTessere.Recordset("DataAbbonamento") txtCampo(11).Text = datTessere.Recordset("CassetteRitardo") txtCampo(12).Text = datTessere.Recordset("ImportoNoleggi") txtCampo(13).Text = datTessere.Recordset("Note") Private Sub RegistraRecord() Dim Ind As Byte For Ind = 0 To 12 If Len(txtCampo(Ind).Text) = 0 Then MsgBox "Inserire campo", vbOKOnly , "Dati mancanti" txtCampo(Ind).SetFocus Exit Sub End If Next Ind datTessere.Recordset.AddNew AssegnaCampi datTessere.Recordset.Update PulisciMaschera datTessere.Recordset.MoveLast txtCampo(0).Text = datTessere.Recordset("CodiceTessera") + 1 txtCampo(1).SetFocus End Sub

28 Codice (Form Noleggi) Private Sub ModificaNoleggio()
Const Bianco = vbWhite Dim Ind As Byte For Ind = 0 To 2 txtCampo(Ind).Enabled = True txtCampo(Ind).BackColor = Bianco Next Ind cmdLista(Ind).Enabled = True dtpDataNoleggio.Enabled = True dtpDataRestituzione.Enabled = True optNoleggio.Enabled = True optRestituzione.Enabled = True chkRestituita.Enabled = True txtCampo(0).SetFocus End Sub Private Sub AssegnaCampi() datNoleggi.Recordset("CodiceTessera") = CLng(txtCampo(1).Text) datNoleggi.Recordset("CodiceCassetta") = CLng(txtCampo(2).Text) datNoleggi.Recordset("DataNoleggio") = dtpDataNoleggio.Value datNoleggi.Recordset("DataRestituzione") = dtpDataRestituzione.Value datNoleggi.Recordset("Restituita") = CBool(chkRestituita.Value) End Sub Private Sub AggiornaRecord() datNoleggi.Recordset.Edit AssegnaCampi datNoleggi.Recordset.Update PulisciMaschera Private Sub RicercaRecord() datNoleggi.Recordset.Index = "Primarykey" datNoleggi.Recordset.Seek "=", CLng(txtCampo(0).Text) If datNoleggi.Recordset.NoMatch Then MsgBox "Codice Noleggio non trovato!", vbOKOnly + vbExclamation txtCampo(0).Text = "" txtCampo(0).SetFocus Else VisualizzaRecord RicercaRecordTessere RicercaRecordCassetta End If

29 Codice (Form Genere) Private Sub cmdNuovo_Click()
Private Sub cmdListaGeneri_Click() CodiceRicerca = 0 frmListaGeneri.Show 1 If (CodiceRicerca > 0) Or (CodiceRicerca <> 0) Then txtCampo(0).Text = CodiceRicerca RicercaRecord Else txtCampo(0).Text = "" txtCampo(0).SetFocus End If End Sub Private Sub cmdModifica_Click() Dim Ind As Byte ImpostazioniComandi lblAzione.Caption = "Modifica" cmdOk.ToolTipText = "Conferma modifica" cmdListaGeneri.Enabled = True For Ind = 0 To 1 txtCampo(Ind).BackColor = vbWhite txtCampo(Ind).Enabled = True Next Ind Private Sub cmdNuovo_Click() Const grigio = &HC0C0C0 Dim Ind As Byte ImpostazioniComandi For Ind = 0 To 1 txtCampo(Ind).BackColor = vbWhite txtCampo(Ind).Enabled = True Next Ind txtCampo(1).SetFocus lblAzione.Caption = "Nuovo" cmdOk.ToolTipText = "Nuovo" cmdListaGeneri.Enabled = False txtCampo(0).Enabled = False txtCampo(0).BackColor = grigio datGeneri.Recordset.OpenRecordset If (datGeneri.Recordset.BOF) And (datGeneri.Recordset.EOF) Then txtCampo(0).Text = 1 Else datGeneri.Recordset.MoveLast txtCampo(0).Text = datGeneri.Recordset("CodiceGenere") End If End Sub

30 Gruppi di lavoro Primo gruppo Quarto gruppo Rossi Francesco
Verdi Giulio Serri Marinella Di Marco Daniele Fantini Laura Marino Stefano Bellini Francesco Terzo gruppo Mancini Alberto Reale Carla Vinci Enzo Palermo Andrea Secondo gruppo Quinto gruppo Impastato Gino Medico Giuseppe Campo Elisa Conte Paolo Serra Pierangelo Quintini Angelo Gentile Mariella Marchese Giusy

31 The End Premi ESC per uscire


Scaricare ppt "PROGRAMMARE IN VISUAL BASIC"

Presentazioni simili


Annunci Google