AUTORI: ANTONIO DANILO DE CARVALHO & CANCARINI GIORDANO CLASSE 5^AZ ANNO SCOLASTICO 2004 - 2005 ADA READER SOMMARIO 1. Il Progetto Ada 2. L’Ada Reader 2.1. Manuale D’Uso 2.1.1. Come Utilizzare il Programma 2.1.2. Come Preparare il Testo 2.1.3. Scelta dei Parametri 2.1.4. Parametri 2.1.5. Altri Metodi Per Sfogliare Le Pagine 2.2. Approfondimento 2.2.1. Il Sistema Nervoso 2.2.2. Il Sistema Nervoso Centrale 2.2.2.1. Midollo Spinale 2.2.2.2. La Sostanza Grigia 2.2.2.3. La Sostanza Bianca 2.2.2.4. Encefalo 2.2.3. Il sistema Nervoso Periferico 3. Provenienza di Delphi 4. Caratteristiche di Delphi 5. Versioni di Delphi Attualmente Sul Mercato 6. Fonti Del Materiale Utilizzato 7. Ringraziamenti ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER IL PROGETTO ADA Il progetto Ada(AMICI DIVERSAMENTE ABILI) nacque quando un professore dell’IPSIA Moretto, volontario alla Cooperativa Nikolajewka, decise di costruire un software che permettesse ad un amico(Fabrizio) diversamente abile di riacquisire una parte dell’autonomia persa a causa della sua tetraplegia, di un problema respiratorio e fonico. Il professore Enrico Bertanza, riuscì a costruire tale software che adatta la voce alterata dell’amico(amplificata elettronicamente da un apposito dispositivo) ad un comando vocale, ed ora Fabrizio è in grado di accendere la luce della propria camera, la Tv, di cambiare i canali di quest’ultima, di comunicare tramite posta elettronica e possibilmente, ora che altri professori e anche alunni dell’IPSIA Moretto sono coinvolti nel progetto, di fare tante altre cose, non solo con l’utilizzo della voce amplificata ma anche attraverso quei pochi movimenti che riesce a fare. L’intento del progetto è quello di usare l’informatica per aiutare tutte le persone che a causa di un handicap che le impedisce di fare determinate cose, anche quelle che apparentemente sono impossibili. La diffusione di questo progetto portò all’incremento non solo dei volontari di quest’ultimo, ma anche del numero degli amici diversamente abili desiderosi di qualche software in grado di permettergli di fare quelle piccole ma significative cose che non riesce a fare, come leggere un libro o vedere perfettamente le scritte sul Desktop del Pc. Questo fatto è essenziale per capire quanto si può fare quando si decide di dedicare un po’ del proprio tempo a persone che ne hanno veramente bisogno. I risultati sono senz’altro belli, poiché tutto quello che possiamo costruire ha determinate funzioni che a persone prive di difficoltà motorie, visive o foniche non significano niente, ma per quelle persone che invece possiedono un qualsiasi tipo di handicap sono davvero importanti. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER L’ADA READER L’ADA Reader è un semplice lettore di libri destinato a persone, che hanno dei problemi visivi o motori e anche delle difficoltà foniche. Il desiderio di queste persone di leggere un libro e la loro difficoltà nello sfogliare le pagine o distinguere i piccoli caratteri di un testo, ci hanno spinto ad elaborare un software che permettesse loro di esaudire questo desiderio di lettura. È un programma che include due casi in cui si evidenziano problemi con la lettura: 1. PROBLEMI VISIVI 2. PROBLEMI MOTORI 3. PROBLEMI FONICI Il primo caso si riferisce a tutte quelle persone che hanno difficoltà a passare da una riga all’altra o confondono i piccoli caratteri di un libro di letteratura. Il secondo caso riguarda tutte quelle persone che hanno la possibilità di fare pochi movimenti, in alcuni casi anche un movimento soltanto (ad esempio un battito di mani, uno schiocco di dita, perfino il movimento degli occhi). Il terzo caso racchiude le persone che riescono a pronunciare anche solo poche parole. Questo programma, però, può essere anche utilizzato da persone che non hanno problemi di lettura e che hanno comprato qualche libro elettronico o ne hanno scaricato uno gratuitamente. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER PROBLEMI VISIVI Per il primo tipo di problema abbiamo deciso di operare tramite una serie di colori e di forme avendo la possibilità di decidere la grandezza del carattere. Le righe pari hanno il colore diverso dalle righe dispari ed, inoltre, tra ogni riga c’è una fascia di pixel, anch’essa ovviamente di differente colore, che divide le righe le une dalle altre. Alla fine d’ogni riga è presente un quadrato di un colore o un cerchio di un altro colore, il quale poi si ritrova all’inizio della riga successiva aiutando così il lettore a non perdere il segno. Come già detto precedentemente, è possibile selezionare la grandezza del carattere, il colore dello sfondo, quello delle righe ed anche quello dei simboli che aprono e chiudono la riga. Il tutto è naturalmente giustificato, rendendo la lettura più scorrevole e gradevole. PROBLEMI MOTORI Per chi invece a problemi motori le soluzioni sono infinite; ad esempio, per chi non può utilizzare il mouse o la tastiera e può muovere solamente una mano a pugno chiuso, la testa, una gamba, il piede, ecc., si è pensato ad un pulsante che comanda un unico bottone “azione” temporizzato; dopo tot secondi scattano i seguenti comandi: • “avanti” (il testo va alla pagina successiva); • “indietro” (il testo va alla pagina precedente); • “uscita” (con salvataggio, tipo segnalibro); • “abbandona” (senza salvataggio); • “continua lento” (le pagine scorrono lentamente); • “continua veloce” (le pagine scorrono velocemente); • “inizio testo” (il programma va alla prima pagina del testo); • “fine testo” (il programma va all’ultima pagina del testo). PROBLEMI FONICI Attraverso il Riconoscimento Vocale, sviluppato in precedenza dal professor Enrico Bertanza, le persone che riescono a usare soltanto la voce potranno sfruttare lo stesso tutti i comandi del programma e leggere ugualmente dei documento sul Pc, attraverso l’adattamento di quello che riesce a dire e quello che può intendere il Pc, il trucco è insegnare al Pc cosa significa ciò che gli viene detto e ciò che deve fare quando questo avviene. Inoltre, Ada Reader dispone di una finestra d’aiuto per ricordare all’utente, in caso di necessità, le parole da pronunciare per eseguire i comandi del programma. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER MANUALE D’USO COME UTILIZZARE IL PROGRAMMA Per poter utilizzare il programma è necessario creare un collegamento del file eseguibile “ADA_Reader”. Successivamente entrare nelle “proprietà” del collegamento ottenuto e digitare nella barra “destinazione” i file che contengono il testo da leggere, precedentemente preparato, e i parametri scelti per visualizzarlo (es: testi/cuore.txt ar_config.txt). Come Preparare Il Testo I libri in formato elettronico hanno una scrittura complessa; il testo è scritto su un’unica riga e va a capo solo quando finisce il paragrafo, inoltre, i testi possono contenere delle righe vuote, le quali comporterebbero ampie spaziature tra le righe sullo schermo. E’ quindi necessario operare sul testo per renderlo leggibile. Per fare ciò si utilizza “AR_Prepara_File_Uty”. Il file contenente il testo deve essere caricato nel “Text File Name” tramite il pulsante “SCEGLI FILE TESTO”. Il file di configurazione che sistemerà il testo dovrà essere inserito nel “Config File Name” tramite il pulsante “SCEGLI FILE CONFIGURAZIONE”; selezionare “Elimina Linee Nulle Multiple” e “Aggiungi sempre Chr "|" SENZA modificare testo”. Infine, cliccare sul pulsante “PREPARA TESTO”. Con questa operazione vengono eliminate le righe vuote inutili e, ogni volta che il testo va a capo, viene aggiunto a fine riga il carattere ‘|’; ciò permetterà che la suddetta riga non venga giustificata dal lettore. E’ ora necessario eseguire nuovamente l’operazione senza però selezionare “Elimina Linee Nulle Multiple” e “Aggiungi sempre Chr "|" SENZA modificare testo”. In questo modo il testo verrà sistemato così da visualizzare, per ogni riga, le parole indispensabili a rendere il tutto leggibile. SCELTA DEI PARAMETRI I parametri di configurazione si trovano nel file “AR_Config.txt”. Questo file di configurazione contiene 27 parametri grafici e funzionali che possono essere adattati in base alle specifiche necessità della persona che deve utilizzare il programma di lettura. Il programma legge unicamente le righe che iniziano con i due punti, quindi se una riga inizia con “spazio + due punti”, per il programma è come se la suddetta riga non esistesse. Inoltre, la selezione dei colori va operata con il codice “RGB”; questo rappresenta rispettivamente i colori “Red, Green e Blue”; questo codice è composto da tre numeri che vanno da 0 a 255 e deve essere inserito in questo modo: “204.150.13”. Per scegliere i colori desiderati si consiglia di utilizzare “Paint”, il quale fornisce il codice “RGB” dei colori selezionati. Per chi non ha problemi visivi i parametri indispensabili sono i primi 16; quindi è indispensabile cancellare gli 11 successivi. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER PARAMETRI Parametro 1: Dimensione del carattere (indicare dopo i due punti la grandezza del carattere desiderato); Parametro 2: Numero righe per pagina (scrivere il numero di pagine che si desiderano vedere in una pagina); Parametro 3: Tipo di carattere di visualizzazione del testo (ad esempio: “Arial”, “Times new roman”, ecc); Parametro 4: Separazione verticale linee in pixel (numero di pixel che dividono le righe le une dalle altre, es: Figura 1); Parametro 5: Margine destro e sinistro in pixel (numero di pixel dalla cornice del programma alla prima parola della riga, es: Figura 2); Parametro 6: Tempo accesso modalità pagina avanti (tempo in decimi di secondi da tenere premuto il pulsante “AZIONE” per passare alla pagina successiva); Parametro 7: Tempo accesso modalità pagina indietro (tempo in decimi di secondi da tenere premuto il pulsante “AZIONE” per passare alla pagina precedente); Parametro 8: Tempo accesso opzione uscita programma SALVANDO segnalibro (tempo in decimi di secondi da tenere premuto il pulsante “AZIONE” per uscire dal programma salvando la pagina, con segnalibro); ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER Parametro 9: Tempo accesso opzione uscita programma SENZA SALVARE segnalibro (tempo in decimi di secondi da tenere premuto il pulsante “AZIONE” per uscire dal programma senza salvare la pagina, senza segnalibro); Parametro 10: Tempo accesso modalità scorrimento continuato LENTO (tempo in decimi di secondi da tenere premuto il pulsante “AZIONE” per scorrere il libro lentamente); Parametro 11: Tempo accesso modalità scorrimento continuato VELOCE (tempo in decimi di secondi da tenere premuto il pulsante “AZIONE” per scorrere il libro velocemente); Parametro 12: Tempo accesso opzione salto ad inizio testo (tempo in decimi di secondi da tenere premuto il pulsante “AZIONE” per andare all’inizio del testo); Parametro 13: Tempo accesso opzione salto a fine testo (tempo in decimi di secondi da tenere premuto il pulsante “AZIONE” per andare alla fine del testo); Parametro 14: Temporizzazione avanti/indietro pagina continuato LENTO (tempo in decimi di secondi che impiegano le pagine a scorrere nella modalità “Scorrimento LENTO”); Parametro 15: Temporizzazione avanti/indietro pagina continuato VELOCE (tempo in decimi di secondi che impiegano le pagine a scorrere nella modalità “Scorrimento VELOCE”); Parametro 16: Form sempre attiva (quando questo parametro è a 0 la form può essere ridotta ad icona; se, invece, è ad 1, quando si tenta di iconizzarla, torna automaticamente a tutto schermo. Questo è utile perché se, erroneamente, viene lanciato due volte il lettore, le due form vanno in conflitto e una di esse viene abolita dopo 8 iconizzazioni consecutive); Parametro 17: Abilitazione (0=Off, 1=On) cambio colore finestra prg premendo pls “AZIONE” (ad ogni comando del pulsante “AZIONE”, Parametri da 6 a 13, è associato un colore che facilita le operazioni a chi ha problemi di vista); ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER Parametro 18: Tipo Marker inizio/fine riga (alla fine di ogni riga è possibile visualizzare un marker che poi si ritroverà all’inizio della riga successiva; inserendo il numero “0” si visualizzeranno solo marker rettangolari che si differenziano per il colore nei Parametri 25 e 27; inserendo il numero “1” si visualizzeranno solo marker rotondi che si differenziano per il colore nei Parametri 25 e 27; inserendo il numero “2” si visualizzeranno marker rotondi e rettangolari che, inoltre, si possono differenziare anche per il colore nei Parametri 25 e 27; inserendo infine il numero “3” sarà possibile non visualizzare nessun marker, es: Figura 3); Parametro 19: Colore (RGB) finestra testo (è il colore della fascia presente tra ogni riga, es: Figura 4); Parametro 20: Colore (RGB) riga dispari (è il colore delle parole presenti in tutte le righe dispari del testo); Parametro 21: Colore (RGB) sfondo riga dispari (è il colore dello sfondo di tutte le righe dispari del testo); Parametro 22: Colore (RGB) riga pari (è il colore delle parole presenti in tutte le righe pari del testo); Parametro 23: Colore (RGB) sfondo riga pari (è il colore dello sfondo di tutte le righe pari del testo); Parametro 24: Colore (RGB) bordo riquadro sinistro (è il colore del bordo del marker di sinistra); Parametro 25: Colore (RGB) interno riquadro sinistro (è il colore del marker di sinistra); Parametro 26: Colore (RGB) bordo riquadro destro (è il colore del bordo del marker di destra); Parametro 27: Colore (RGB) interno riquadro destro (è il colore del marker di destra). ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER ALTRI METODI PER SFOGLIARE LE PAGINE Per chi non ha la possibilità di utilizzare il mouse per sfogliare le pagine è necessario bloccare la freccia sul pulsante “AZIONE”: per far ciò si clicca sull’icona con il mouse e il lucchetto (es: Figura 5). Ora per cliccare sul pulsante “AZIONE” si può utilizzare anche un dispositivo esterno. Per far ciò si deve aprire il programma “AR_Interf_Puls” (es: Figura 6) che permette di utilizzare un qualsiasi dispositivo esterno, come ad esempio un pulsante. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER APPROFONDIMENTO È importante far presente che le persone che useranno l’Ada Reader saranno prevalentemente persone portatrici di difficoltà motorie, usando quindi un pulsante esterno per comandare il Pc. Vorremo fare un accenno al nostro sistema nervoso per spiegare un po’ l’importanza di questo software in quanto è una alternativa alla riabilitazione fisica di un paziente mostratasi molto costose ed impegnativa. Non che la riabilitazione sia indispensabile, ma non dev’essere per forza fisica; Ada Reader in effetti permette ai suoi utenti di acquisire delle abilità tramite l’uso di una macchina, il Pc, anche se fisicamente non sarebbero in grado di farlo. Il nostro intento è quello di, in un certo senso, ‘riabilitare’ tutte quelle persone che vorrebbero avere delle abitudini diverse da quelle vincolanti delle loro difficoltà motorie. Anche se nessun computer sarà mai complesso come il sistema nervoso umano, essi possono essere usati per aiutare a colmare gli spazi vuoti delle nostre capacità, sperando che in un futuro si possa riacquisire tutta, o almeno la metà, delle abilità bloccate da un handicap come la Tetraplegia, causata spesso da una rottura del midollo spinale o altri segmenti spinali che commando i movimenti del nostro corpo. IL SISTEMA NERVOSO ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER Ogni espressione della nostra personalità, ossia pensieri, speranze, sogni, desideri, emozioni, sono funzioni del sistema nervoso. Il sistema nervoso è, per così dire, l'hardware attraverso il quale sperimentiamo noi stessi, in quanto individui inconfondibili, e per mezzo del quale interagiamo con l'ambiente che ci circonda. Il sistema nervoso è la sede dell'assunzione, elaborazione e trasmissione delle informazioni relative a tutto il corpo umano, in altre parole è il sistema di regolazione delle funzioni corporee. Il sistema nervoso comprende tutto il tessuto nervoso del nostro organismo. Il tessuto nervoso trasporta informazioni ed istruzioni da una regione del corpo ad un'altra. Il sistema nervoso viene diviso anatomicamente in due parti:il sistema nervoso centrale e il sistema nervoso periferico. IL SISTEMA NERVOSO CENTRALE(SNC) IL SISTEMA NERVOSO PERIFERICO(SNP) È costituito dall'encefalo, racchiuso nella scatola cranica, e dal midollo spinale, contenuto invece nel canale vertebrale. Ogni singolo segmento midollare ha la capacità di controllare autonomamente funzioni motorie specifiche(riflessi). Il SNC è responsabile dell'integrazione, analisi e coordinazione dei dati sensoriali e dei comandi motori. E' anche la sede di funzioni più importanti quali l'intelligenza, la memoria, l'apprendimento e le emozioni. A differenza del sistema nervoso periferico, il SNC non è solo in grado di Il sistema nervoso centrale: raccogliere e trasmettere midollo spinale ed encefalo informazioni, ma anche di integrarle. È costituito da tutto il tessuto nervoso al di fuori del SNC. Svolge essenzialmente la funzione di trasmissione del segnale attraverso fasci di conduzione. I segnali, afferenti da un'unità periferica(organo) o in uscita(efferenti) verso un'unità periferica, decorrono in fibre separate(assoni) che generalmente sono raggruppate in un fascio di conduzione unitario(nervo). Un nervo contiene esclusivamente assoni, cellule di Schwann e tessuto connettivo. I corpi delle cellule nervose sono raggruppati nei gangli del sistema nervoso periferico e nei nuclei del midollo spinale e del tronco encefalico. IL SISTEMA NERVOSO CENTRALE ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER MIDOLLO SPINALE Il midollo spinale, con l'encefalo, forma il sistema nervoso centrale; ha forma cilindrica, larghezza media di 8-10 mm e spessore di 5-7 mm. Si estende dal grande forame occipitale fino a raggiungere pressappoco il primo corpo vertebrale lombare, non occupando quindi il canale vertebrale in tutta la sua lunghezza. Il canale vertebrale rappresenta per il midollo spinale, che è molto delicato, un'ottima protezione dai danni meccanici. Il midollo spinale è molto più breve della colonna vertebrale, ma è costituito da tanti segmenti quanti sono i corpi vertebrali. Per tale ragione i nervi spinali e le loro radici, dal rachide cervicale a quello lombare, decorrono in modo sempre più obliquo verso il basso. Se si seziona una porzione qualsiasi del SNC, si nota in primo luogo che vi sono territori ben delimitati in rapporto fra loro, rispettivamente la sostanza grigia e la sostanza bianca. La sostanza grigia contiene soprattutto i corpi delle cellule nervose, mentre la sostanza bianca è composta dagli assoni e dai loro rivestimenti. Al centro del midollo spinale si trova un canale centrale molto sottile che è un residuo embrionale e non di rado è occluso o dilatato in cisti. Fig. (a) Fig. (b) LA SOSTANZA GRIGIA ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER La sostanza grigia(Fig. a) del midollo spinale è situata centralmente ed è quindi compresa all'interno della sostanza bianca. Il termine sostanza grigia deriva dalla colorazione grigia degli ammassi cellulari encefalici, midollari e gangliari. In sezione trasversa essa ha una forma che ricorda quella di una farfalla: le due "ali anteriori"(corna anteriori) o, dal punto di vista tridimensionale, colonne anteriori, sono relativamente tozze e sono interamente circondate da sostanza bianca; le "ali posteriori" (corna posteriori; colonne dorsali), che sono più sottili, si estendono fino ai limiti del midollo spinale, ossia fino all'imbocco delle radici posteriori, dove giungono le fibre nervose che raccolgono le informazioni della sensibilità della cute e delle mucose e trasmettono le sensazioni di tatto, pressione, temperatura, vibrazione e dolore(in altre parole la cosiddetta sensibilità esterocettiva). Anche gli stimoli sensitivi del tratto gastrointestinale(sensibilità intocettiva), della muscolatura e delle articolazioni(sensibilità propriocettiva) raggiungono il SNC tramite le radici posteriori. Immediatamente in rapporto con la porzione più posteriore della sostanza grigia del midollo spinale, la sostanza gelatinosa forma un filtro o una "porta" per le fibre del dolore che, per mezzo della radice posteriore, si irradiano nella sostanza grigia del corno posteriore. Qui terminano gli assoni per la soppressione del dolore provenienti dal tronco encefalico e i sensori del tatto cutaneo. Una piccola sporgenza fra il corno anteriore e quello posteriore, ossia il corno laterale (colonna laterale), è poco evidente. Le sue cellule, tramite le radici anteriori, inviano assoni agli organi innervati dal sistema vegetativo, per esempio alla muscolatura gastrica e intestinale. LA SOSTANZA BIANCA Immediatamente adiacenti alla sostanza grigia decorrono brevi fasci di fibre nervose, i cosiddetti fasci fondamentali, che collegano 4-5 segmenti midollari confinanti. Essi circondano come un sottile mantello l'intera sostanza grigia e provvedono a schemi riflessi complessi che non riguardano solo la muscolatura di un unico segmenti (riflessi polisegmentali). La massa della sostanza bianca è formata invece da lunghi fasci (tratti) ascendenti e discendenti che collegano fra loro encefalo e midollo spinale. I fasci decorrono in tre funicoli (cordoni) che risultano più o meno nettamente separati fra loro dalla fessura midollare, dal corno anteriore e da quello posteriore. Il sottile cordone anteriore è situato fra la fessura mediana anteriore e il corno anteriore, il cordone laterale fra il corno anteriore e quello posteriore, il cordone posteriore fra il corno posteriore e il setto mediano posteriore. Il colore chiaro della sostanza bianca è dovuto al rivestimento mielinico delle fibre nervose. Il tessuto è quindi ricco di membrane cellulari dotate di fosfolipidi (grassi) ed è scarsamente irrorato. ENCEFALO ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER Con un peso di 1,3-1,5 kg, l'encefalo, dopo il fegato, è l'organo più pesante del corpo. A riposo viene utilizzata fino al 25% dell'energia metabolica per rifornire l'encefalo. La parte più antica dell'encefalo è il midollo allungato o bulbo, la cui struttura ricorda ancora la suddivisione metamerica del midollo spinale. Attraverso confini ben definiti, esso passa nel ponte che presenta connessioni importanti con il cervelletto. Il cervelletto, dopo il cosiddetto "cervello" costituito da diencefalo e telencefalo, è la parte che occupa maggiore spazio all'interno della scatola cranica. Il cervelletto è appoggiato sul midollo allungato e sul ponte. Il midollo allungato, il ponte e il cervelletto lavorano in stretta collaborazione e controllano importanti funzioni del movimento. Fig. (c) Queste tre formazioni delimitano il quarto ventricolo che ha forma di losanga. Le due porzioni caudali del tronco encefalico(midollo allungato e ponte) costituiscono il romboencefalo. Al romboencefalo si unisce anteriormente il mesencefalo, che è il tratto più breve del tronco encefalico. Nel midollo allungato i fasci motori, provenienti dalla corteccia telencefalica e diretti al midollo spinale, formano le piramidi, dove avviene la decussazione di queste vie motorie. Se il mesencefalo assume una posizione “mediana” fra le componenti cerebrali antiche e quelle recenti, il diencefalo fa chiaramente parte di queste ultime. Esso è composto fondamentalmente dal talamo destro e sinistro, nonché dall’ipotalamo, situato al centro. I due talami e l’ipotalamo delimitano il terzo ventricolo che ha la forma di una fessura situata sull’asse mediano del corpo. La suddivisione del diencefalo in una parte destra e una sinistra si manifesta in forma ancora maggiore nel telencefalo. I due emisferi telencefali si pongono in comunicazione per mezzo di collegamenti svolti da fasci nervosi(commessure) anche se talora funzionano in modo completamente separato l’uno dall’altro. Dall’indietro in avanti si distinguono i lobi occipitali, i lobi parietali, i lobi temporali e i grossi lobi frontali che da soli rappresentano un terzo del telencefalo. Due profonde scissure delimitano da un lato i lobi parietali dai lobi temporali, dall’altro li separano dal lobo frontale. Ciascuna metà del telencefalo(emisfero ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER telencefalico) contiene al proprio interno un ventricolo laterale ricolmo di liquor(i due ventricoli laterali). Fig. (d) IL SISTEMA NERVOSO PERIFERICO ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER Il sistema nervoso periferico è costituito dai nervi periferici che collegano il cervello e il midollo spinale al resto del corpo, compresi i muscoli, gli organi di senso e gli organi dei sistemi digerente, respiratorio, escretore e circolatorio. All'interno dei nervi periferici si trovano gli assoni dei neuroni sensoriali che trasmettono al sistema nervoso centrale l'informazione sensoriale proveniente da tutte le parti del corpo. I nervi periferici contengono anche gli assoni dei neuroni motori (o motoneuroni) che trasmettono i segnali dal sistema nervoso centrale agli organi e ai muscoli. La porzione motoria del sistema nervoso periferico può essere suddivisa in due parti: il sistema nervoso somatico e il sistema nervoso autonomo. I motoneuroni del sistema nervoso somatico stabiliscono sinapsi con i muscoli scheletrici e controllano il movimento volontario. I loro corpi cellulari si trovano nella sostanza grigia del midollo spinale, e i loro assoni raggiungono direttamente i muscoli controllati. I motoneuroni del sistema nervoso autonomo controllano invece le risposte involontarie. Essi stabiliscono sinapsi con il cuore, i muscoli lisci e le ghiandole. Il sistema nervoso autonomo è controllato sia dal midollo allungato sia dall'ipotalamo. Si usa suddividere il sistema nervoso autonomo in sistema nervoso simpatico e sistema nervoso parasimpatico. Il sistema nervoso simpatico agisce sugli organi interni in modo da preparare l'organismo ad affrontare un'attività logorante o dispendiosa da un punto di vista energetico: il cuore batte più velocemente, il sangue defluisce dal sistema digerente per poter meglio irrorare i muscoli, le pupille si dilatano per ricevere una maggior quantità di luce e le vie aree nei polmoni si espandono in previsione di un maggior afflusso di ossigeno. Il sistema nervoso parasimpatico è invece associato ad attività caratteristiche dei momenti di ozio. Sotto il suo controllo la muscolatura liscia del sistema digerente entra in piena attività, il battito cardiaco rallenta e le vie respiratorie si restringono. Inoltre gli assoni parasimpatici si trovano nei nervi che hanno origine dall'encefalo (mesencefalo e midollo allungato) e dalla base del midollo spinale. Al contrario gli assoni simpatici si trovano nei nervi che hanno origine dalle sezioni mediana e inferiore del midollo spinale. In entrambi i sistemi simpatico e parasimpatico si trovano due neuroni che trasmettono messaggi in sequenza dal sistema nervoso centrale a ciascun organo bersaglio, ma le sinapsi che stabiliscono sono localizzate in sedi diverse. Nel sistema nervoso simpatico la sinapsi è localizzata nei gangli vicini al midollo spinale, mentre nel sistema nervoso parasimpatico la sinapsi è localizzata nei gangli più piccoli situati intorno o in prossimità di ciascun organo bersaglio. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER PROVENIENZA DI DELPHI Il Delphi è l’evoluzione del "Borland Turbo Pascal", un linguaggio ad alto livello elaborato dal professor Niklaus Wirth alla fine degli anni sessanta a Zurigo, con l’obbiettivo di realizzare un linguaggio comprendente un piccolo numero di concetti fondamentali della programmazione sufficienti per insegnarla sotto forma di disciplina logica e sistematica. Il linguaggio di programmazione di Delphi è basato sul Pascal, usato all’università di Ginevra come mezzo di insegnamento della programmazione strutturata. Per questo motivo tale linguaggio risulta essere assai elegante e leggibile, soprattutto se lo confrontiamo con linguaggi analoghi come C/C++, più strutturalmente vicino al linguaggio macchina oppure al Basic, che solo in tempi recenti ha subito un accurato riadattamento ai canoni della programmazione strutturata. Il Pascal doveva essere allo stesso tempo un linguaggio facile ed efficiente a tal punto da poter essere implementato sulla maggior parte dei calcolatori, e una volta raggiungiunto tale obiettivo esso si è rapidamente diffuso sia come linguaggio usato nella didattica dei principi di programmazione, sia come linguaggio effettivo per scrivere software di base ed applicativi. Con il Delphi la Borland ha introdotto il concetto di sviluppo Visuale RAD (Rapid Application Development) orientato alla gestione degli eventi come nel Visual Basic, senza perdere però i vantaggi della compilazione Pascal. Delphi è un ambiente di programmazione visuale orientato ad oggetti per lo sviluppo rapido di applicazioni a carattere generale e di applicazioni Client/Server per Windows 95 e 98 e Windows NT. Con Delphi è possibile creare applicazioni Windows altamente efficienti riducendo al minimo i tempi di programmazione grazie agli strumenti di gestione dei database e i componenti di gestione dei dati previsti in Delphi, questi ci permettono di sviluppare strumenti di gestione dati e applicazioni Client/Server in tempi notevolmente ridotti. Comprende una libreria di componenti riutilizzabili VCL e un insieme di strumenti di progettazione RAD, tra cui i modelli di applicazioni standard e di schede Expert di programmazione. Con questi strumenti e con il compilatore Delphi a 32 bit è possibile creare rapidamente e testare prototipi, trasformandoli in robuste applicazioni perfettamente in linea con le moderne esigenze. Delphi può essere utilizzato per sviluppare qualsiasi tipo di applicazione, dalle utility di analisi e test dei PC, fino ai più sofisticati strumenti di accesso ai database. Con i controlli di gestione dei dati di Delphi, i dati vengono visualizzati direttamente durante la creazione dell’applicazione, consentendo una immediata verifica del risultato delle interrogazioni al database e delle modifiche all’interfaccia dell’applicazione. La facilità di lettura si accompagna simmetricamente alla facilità di scrittura: Se si tiene conto del fatto che Delphi è un compilatore velocissimo, scrivere programmi in Pascal per Windows significa, beneficiare di un ottimo compromesso tra velocità degli eseguibili prodotti e facilità di scrittura del codice. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER Pascal è un linguaggio procedurale, dotato di tipizzazione forte. Questo sta a significare che per ogni variabile utilizzata all'interno nei programmi Pascal deve essere esplicitamente dichiarato un tipo(ad esempio Integer, variabile numerica intera; Real, variabile numerica reale, ecc.). Ad ogni variabile, salvo qualche eccezione per i valori numerici, deve essere assegnato un valore del tipo corrispondente, per visualizzare possibili errori in fase di compilazione. Senza questi vincoli, il compilatore non potrebbe risultare altamente ottimizzante e si correrebbe il rischio di errori a Run-time dovuti ad assegnamenti “misti” non voluti dal programmatore(Bug) e non intercettati dal compilatore, che a sua volta non sarebbe più in grado di effettuare controlli approfonditi sulla validità formale degli assegnamenti. Il linguaggio Pascal rende disponibile al programmatore un set completo di tipi di dato di base, che variano dai numeri interi(Integer) fino ad arrivare a stringhe(String) la cui gestione in memoria è trasparente al programmatore, passando per il tipo Boolean, che è in grado di esprimere i valori di verità True e False, definiti come costanti del linguaggio. Viene offerta anche una completa gestione di puntatori ed allocazione dinamica di memoria, cosa che permette di creare a run-time nuove entità le cui dimensioni non devono essere decise a tempo di codifica. Questo si traduce in un'ottimizzazione dello sfruttamento delle risorse della macchina su cui si sta lavorando. Combinando i meccanismi di allocazione dinamica alla possibilità di derivazione di nuovi tipi di dato strutturati a partire dal costrutto record, inoltre, è possibile costruire e gestire con relativa facilità tipi di dato ricorsivi come “liste” e gli “alberi”. L'operatore di assegnamento utilizzato dal Pascal è :=, a differenza della stragrande maggioranza dei linguaggi procedurali. Pur essendo più corretto dal punto di vista matematico, questo potrebbe essere disorientante per chi proviene da altri linguaggi. E’ possibile inglobare blocchi di codice all'interno delle strutture di controllo, usando la Keyword di apertura ‘Begin’ e quella di chiusura ‘End’. Ogni istruzione deve essere terminata da un punto e virgola “;”. I commenti sono porzioni dei sorgenti racchiusi tra parentesi graffe{commento} oppure dalla combinazione di parentesi tonda ed asterisco(*commento*). Se sono brevi si possono usare anche le BackSlash( // ). Pascal distingue tra funzioni e procedure: le prime, dichiarate utilizzando la Keyword Function, restituiscono un valore, mentre le seconde no. Le variabili possono essere locali o globali, le prime vanno dichiarate all’interno di procedure mentre le seconde(visibili da tutte le procedure appartenenti al programma) devono essere dichiarate all'interno di sezioni separate, diversamente da quanto previsto in altri linguaggi(esempio, in C/C++). Delphi è dotato di un costrutto che permette una programmazione modulare, cioè le Unit. In effetti, attraverso la struttura delle Unit è possibile creare programmi accostando diversi moduli di codice visibili solo tramite un'interfaccia data dalle dichiarazioni delle funzioni in esse contenute. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER Con le Unit Borland fornisce la possibilità di costruire entità contenenti codice nelle quali si può restringere l'accesso dall'esterno a particolari funzioni dichiarate in una sezione di interfaccia. Le Unit sono molto utilizzate in Delphi, visto che ad ogni finestra del proprio programma viene associata una unit che ne contiene la definizione. CARATTERISTICHE DI DELPHI ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER AMBIENTE DI SVILUPPO INTEGRATO L’ambiente di sviluppo integrato di Delphi IDE (Integrated, Development,Enviroment) mantiene sviluppo, verifica e gestione delle applicazioni in un unico ambiente. E’ possibile creare o modificare una applicazione compreso schede di inserimento dati, report, menu, finestre di dialogo, database e definizioni di file, moduli dati, componenti, senza uscire dal compilatore. DRAG AND DROP DESIGN Delphi aumenta la produttività automatizzando le operazioni di programmazione ripetitive. E’ possibile creare applicazioni semplicemente trascinando pochi componenti dalla Component Palette in una scheda chiamata form creando l’architettura dell’applicazione velocemente e facilmente, con la minima conoscenza della programmazione. STRUMENTI BIDIREZIONALI Procedendo con la selezione e la modifica delle proprietà dei componenti e delle schede, i risultati vengono aggiornati automaticamente nel codice sorgente, e viceversa. Modificando il codice sorgente direttamente con un editor di testo, come il Code Editor incorporato, le modifiche vengono immediatamente riflesse negli strumenti visuali. COMPILATORE IN CODICE NATIVO Il compilatore Delphi 32-bit, sviluppato per ottimizzare il codice nativo produce applicazioni “selfcontained”, in codice nativo eseguibile “.EXE”. Oltre ad avere migliorato le prestazioni degli eseguibili compilati(in confronto ai linguaggi interpretati) la natura selfcontained di un’applicazione Delphi consente l’indipendenza dalle librerie Runtime “.DLL”. CONNESSIONE AI DATABASE INTEGRATA Il Borland Database Engine BDE, inserito in Delphi permette lo sviluppo di applicazioni in grado di accedere ai database Paradox, dBase, e InterBase. Attraverso SQL Links, l’applicazione può accedere anche a server SQL, tra cui InterBase, Oracle, Sybase, e Microsoft SQL. Inoltre, il flessibile motore di gestione dei database di Delphi facilita il passaggio da applicazioni locali ad applicazioni Client/Server. CASE – INSENSITIVE Il compilatore non distinguerà in alcun punto del programma(tranne che all'interno delle Stringhe) tra lettere maiuscole e minuscole. Saranno quindi considerati identici nomi di variabili e funzioni come ‘Casa’ e ‘casa’, a differenza di quanto accade negli analoghi linguaggi come C/C++ o il Basic. VERSIONI DI DELPHI ATTUALMENTE SUL MERCATO ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER La Borland dopo avere distribuito Turbo Pascal 6.0 per DOS ha introdotto sul mercato un prodotto per Windows 3.1 e lo ha chiamato Borland Pascal 7.0 (versione Windows di Turbo Pascal 7.0). Successivamente ha completamente rivisto la struttura dei suoi compilatori e strumenti di sviluppo accessori introducendo la famiglia Delphi. A tutt’oggi sono state rilasciate ben 6 edizioni di Delphi: Delphi 1 per lo sviluppo di applicativi a 16 bit in ambiente Windows 3.1 e 3.11. Nell’ordine si sono poi succedute le versioni di Delphi 2 , Delphi 3, Delphi 4, Delphi 5, Delphi(da pochi giorni) per lo sviluppo di applicazioni a 32 bit per Windows 9x e Windows NT. I compilatori Borland sono generalmente disponibili in tre versioni : a) versione desktop (a basso costo) b) versione professional c) versione client/server o enterprise La versione desktop pur costando poco è una versione completa ma priva di oggetti VCL particolari o di driver nativi per database particolari (opzioni richieste da un programmatore che sviluppi applicativi professionali) è comunque generalmente adatta per sviluppare applicazioni di tipo stand-alone. Recentemente è stata introdotta sul mercato pure una versione di Delphi che opera in ambiente Linux(denominata Kylix) ciò consentirà di trasferire in questo nuovo ambiente, applicazioni native sviluppate per l’ambiente Windows. FONTI DEL MATERIALE UTILIZZATO ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER www.google.it Manuale di Delphi www.google.com.br Corsi di Delphi www.ipsiamoretto.com Approfondimenti www.progettoada.it RINGRAZIAMENTI ANTONIO DANILO DE CARVALHO CANARINI GIORDANO ADA READER Innanzitutto vorremmo dire che siamo molto contenti di aver potuto aiutare qualcuno che ne ha bisogno e del lavoro svolto, esso ha aperto il nostro orizzonte verso un mondo per noi tutto nuovo, cioè la programmazione, l’informatica. Siamo lusingati di aver potuto fare parte di tale progetto, di aver messo alla prova la nostra sensibilità nei confronti dei nostri simili e soprattutto di aver potuto sviluppare un software che aiuterà delle persone ad esaudire il loro desiderio di lettura. Ringraziamo il Professor Enrico Bertanza che ci ha seguiti particolarmente nei momenti più difficili della programmazione dell’Ada Reader e la Professoressa Antonina Gurrieri che ci sostenuti fino alla fine anche lei con la programmazione in Delphi. La professoressa Maria Mangraviti e il Professor Vito De Trizio per la loro disponibilità nei nostri confronti. La professoressa Paola Salfi che ci ha imposto un metodo di studio e correzione della nostra tesina. L’Istituto IPSIA MORETTO per aver sostenuto il Progetto Ada anche quest’anno e speranzosi che continui a farlo anche in futuro. ANTONIO DANILO DE CARVALHO CANARINI GIORDANO