La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 PROGRAMMARE IN VISUAL BASIC Prof. F. Di Gerlando Gestione di una Videoteca Classe V Programmatori I.T.C. Don M. Arena Sciacca Anno Scolastico 2002-2003.

Presentazioni simili


Presentazione sul tema: "1 PROGRAMMARE IN VISUAL BASIC Prof. F. Di Gerlando Gestione di una Videoteca Classe V Programmatori I.T.C. Don M. Arena Sciacca Anno Scolastico 2002-2003."— Transcript della presentazione:

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

2 2 GESTIONE DI UNA VIDEOTECA PresentazioneModellazione InterfacceCodice Progetto

3 3 Introduzione Presentazione del Progetto GESTIONE DI UNA VIDEOTECA Il progetto software qui presentato ha come oggetto la gestione di una videoteca. Lidea di realizzare questo progetto è nata dallimportanza che lautomazione delle informazioni ha subito nellultimo decennio. Per cui profondi mutamenti si sono avuti in buona parte grazie allevoluzione della tecnologia informatica, ma anche grazie allesigenza di predisporre di flussi informativi più precisi, tempestivi, completi e soprattutto inseriti in un sistema integrato. Segue

4 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 lutilizzo di un sistema di gestione di basi di dati nella fattispecie lambiente software Microsoft Access attraverso questultimo è possibile creare cinque tabelle e cioè degli schemi secondo cui saranno organizzati i dati allinterno del database. Segue

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

6 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 dellultimo anno. Esso è in grado di leggere i formati appartenenti a molti tipi di database e creare interfacce che facilitano linterattività tra lutente e la macchina. Segue

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

8 8 In conclusione, il progetto sarà in grado di gestire le videocassette di una videoteca e realizzare: 1.L a gestione dei noleggi; 2.L a gestione delle tessere; 3.O rdinamento di liste per codice, descrizione, nomi…. 4.L a gestione di stampe. Conclusione

9 9 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 alleventuale 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 dellutente che utilizza il software. Descrizione delle entità Segue

10 10 Gli attributi dellentità 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 dellentità 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 dellentità Noleggi sono: ID noleggio, codice tessera, codice cassetta, data noleggio, data restituzione, restituita (Si/No).Gli attributi dellentità Noleggi sono: ID noleggio, codice tessera, codice cassetta, data noleggio, data restituzione, restituita (Si/No). Gli attributi dellentità Genere sono: codice genere, genere. Gli attributi dellentità Utente sono: utente, indirizzo, cap, località, provincia, numero di telefono, , partita iva o codice fiscale.Gli attributi dellentità Utente sono: utente, indirizzo, cap, località, provincia, numero di telefono, , partita iva o codice fiscale. Segue

11 11 Tra le entità Genere e Cassette si può stabilire unassociazione 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à Genere e Cassette si può stabilire unassociazione 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 unassociazione uno a molti, perché una cassetta può essere soggetta a diversi noleggi, e il noleggio può riferirsi a una sola cassetta.Tra le entità Cassette e Noleggi si può stabilire unassociazione 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 unassociazione uno a molti, perché una tessera può essere utilizzata per più noleggi, e diversi noleggi possono essere effettuati con una tessera.Tra le entità Tessere e Noleggi si può stabilire unassociazione uno a molti, perché una tessera può essere utilizzata per più noleggi, e diversi noleggi possono essere effettuati con una tessera. Segue

12 12 Sulla base dellanalisi 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 lopzionalità o lobbligatorietà 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 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 14 Associazioni Noleggi Cassette Tessere Genere Utente

15 15 Nome Campo Tipo dati DimensioneDescrizione CodiceCassettaContatoreIntero lungoChiave Primaria CodiceBarreTesto13Codice per lettore (Chiave esterna) TitoloTesto40Identifica titolo del film CodiceGenereNumericoIntero lungoIdentifica codice genere DurataNumericoByteDurata del film PremiOscarNumericoByteOscar ricevuti PrimoAttoreTesto25Nome 1° attore SecondoAttoreTesto25Nome 2° attore RegiaTesto40Nome regista DistribuzioneTesto40Casa cinematografica AnnoUscitaNumericoInteroAnno uscita film GradimentoTesto5Identifica gradimento pubblico ColonnaSonoraTesto30Autore colonna sonora VisioneTesto7Identifica la visione TotaleCassetteNumericoByteNumero cassette CassetteNoleggiateNumericoByteNumero cassette noleggiate NumNoleggiNumericoInteroNumero totale noleggi DataInserimentoData/oraData in cifreData archiviazione PosizioneTesto6Classifica Cassette

16 16 Nome Campo Tipo dati DimensioneDescrizione CodiceTesseraContatoreIntero lungoChiave Primaria NominativoTesto40Nome e cognome CFTesto16Codice fiscale IndirizzoTesto25Indirizzo cliente CittaTesto25Sede cliente ProvTesto2Provincia cliente CAPTesto5Codice avviamento postale TelefonoTesto15Telefono cliente DocumentoTesto20Numero identità cliente AbbonatoSi/NoLogico DataAbbonamentoData/oraData in cifreData abbonamento cliente DataScadenzaData/oraData in cifreData scadenza abbonamento ImportoAbbonamentoValutaEuroPrezzo abbonamento CassetteNoleggiateNumericoByteNumero cassette noleggiate NumeroNoleggiNumericoByteTotale noleggi CassetteRitardoNumericoByteNumero cassette da restituire ImportoNoleggiValutaEuroTotale importo noleggiate NoteMemo Promemoria Tessere

17 17 Nome Campo Tipo dati DimensioneDescrizione IDNoleggio ContatoreIntero lungoChiave primaria CodiceTesseraNumericoIntero lungo Codice tessera utente(Chiave esterna) CodiceCassettaTesto6Codice videocassetta DataNoleggioData/oraData in cifreData noleggio DataRestituzioneData/oraData in cifreData restituzione RestituitaSi/NoSi: Cassetta restituita No:Cassetta da restituire Nome Campo Tipo dati DimensioneDescrizione CodiceGenere ContatoreIntero lungoChiave primaria GenereTesto20Identifica genere film Noleggi Generi

18 18 Nome Campo Tipo dati DimensioneDescrizione Utente Testo40Nome utente IndirizzoTesto25 Indirizzo utente CapTesto5Codice avv. postale LocalitaTesto25Residenza utente ProvTesto2Provincia utente TelefonoTesto15Telefono utente Testo20 dellutente PartitaIvaCFTesto16P.I. o Codice Fiscale Utente

19 19 Interfacce Form Menù Principale

20 20 Form Cassette

21 21 Form Tessere

22 22 Form Noleggi

23 23 Form Generi

24 24 Form Utente

25 25 Codice (Form Utente) Private Sub Form_Load() Const grigio = &H F collega il database alloggetto 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 End Sub 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 End Sub

26 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 End Sub

27 27 Codice (Form Tessere) 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") End Sub 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 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 For Ind = 0 To 2 cmdLista(Ind).Enabled = True Next Ind 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 End Sub 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 End Sub

29 29 Codice (Form Genere) 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 txtCampo(0).SetFocus End Sub 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 30 Gruppi di lavoro Primo gruppo Secondo gruppo Terzo gruppo Quarto gruppo Quinto gruppo Rossi Francesco Verdi Giulio Serri Marinella Impastato Gino Medico Giuseppe Campo Elisa Conte Paolo Mancini Alberto Reale Carla Vinci Enzo Palermo Andrea Di Marco Daniele Fantini Laura Marino Stefano Bellini Francesco Serra Pierangelo Quintini Angelo Gentile Mariella Marchese Giusy

31 Premi ESC per uscire


Scaricare ppt "1 PROGRAMMARE IN VISUAL BASIC Prof. F. Di Gerlando Gestione di una Videoteca Classe V Programmatori I.T.C. Don M. Arena Sciacca Anno Scolastico 2002-2003."

Presentazioni simili


Annunci Google