tbl_feedback Id Autonumber primary key E poi ho inserito un paio di records in modo da fare un test dell'intera procedura.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "tbl_feedback Id Autonumber primary key E poi ho inserito un paio di records in modo da fare un test dell'intera procedura."

Transcript

1 Database access with ADO Se il nostro sito diventa popolare dovremmo ricevere un mucchio di e presto ci accorgeremo che programmi come Outlook o Eudora non sono adeguati a conservare questo dati. Ma grazie a Dio, ci sono le banche dati. In un sito moderno, le banche dati sono come il cuore in un essere umano: indispensabili. Costruiamone una subito. Io ne ho fatta una in Microsoft Access. L'ho chiamata CRM.mdb poiché vogliamo costruire un sistema di Customer Relationship Management (CRM, gestore dei rapporti con i clienti) che ci permetta di comunicare con i nostri clienti in una maniera più efficiente. Dentro crm.mdb ho messo una tabella chiamata: tbl_feedback Nome campo Tipo campo Id Autonumber primary key Nome Commenti Text Text Memo E poi ho inserito un paio di records in modo da fare un test dell'intera procedura. A questo punto lasciami chiarire la scelta di Access come database. Io di solito uso MS SQL ma ho pensato che Access sia un pò più accessibile come costo. Però il tipo di database che adoperi per questi esercizi non è molto rilevante. Il code che scriveremo funziona per quasi tutte le banche dati commerciabili, quindi scegli quella con cui sei più comodo. Prima che andiamo troppo avanti però, devo dirti che Access non è una soluzione industriale, non è il tipo di applicazione che vorrei adoperare su un web server per un sito commerciale. Allora cominciamo a fare cose serie. Fino a poco tempo fa, costruire un sito dinamico con un database era un lavoro solo per i "big boys" ma adesso con oggetti (o meglio super oggetti) come ActiveX Database Object (ADO) è diventato un gioco da ragazzi. ADO è come un superset di un oggetto. È una collezione di oggetti che, tutte insieme, semplificano il lavoro di collegare e manipolare i dati che risiedono dentro il database. In più ADO è inserito dentro un'altra tecnologia di Microsoft, Object Linking & Embedding DataBase (OLE DB), il che rende le cose ancora più facili. La prima cosa da fare per lavorare con un database è di creare una connection. Se vuoi dare acqua al giardino devi attaccare il tubo al rubinetto, è uguale. Il metodo che adoperiamo per collegarci è sempre lo stesso indipendentemente dal tipo di database che utilizziamo, la sintassi però varia. Ci sono diverse maniere per collegarsi ma qui, per semplicità adoperiamo la Connection String. Per esempio per collegarci con il nostro database dobbiamo inserire il seguente codice:

2 Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:/dovehaimessoiltuo/crm.mdb Un consiglio gratuito: non salvare mai il database nella stessa directory dei tuoi file ASP. Mettilo sempre fuori dal tuo Web Root, in modo da renderla inaccessibile agli utenti. Lo stesso code per MS SQL per esempio è Provider = SQLOLEDB; Data Source = ilnomedeltuoserver; Initial Catalog= nomedeldatabase; User Id=ilnome; Password=lapassword Comunque una volta che abbiamo inserito uno di questi due comandi per la nostra pagina ASP siamo collegati al database. Non ci credi? Beh, prova un po' questo codice (chiama il file check_connection.asp) Set objconn = Server.CreateObject("ADODB.Connection") objconn.open("provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:/asptutorial/crm.mdb") Set objrs = Server.CreateObject("ADODB.Recordset") set objrs = objconn.execute("select * from tbl_feedback") Do while NOT objrs.eof response.write "nome = " & objrs("nome") & "<br>" response.write " = " & objrs(" ") & "<br>" response.write "commenti = " & objrs("commenti") & "<br>" response.write "<hr size='1' color='midnightbluè width='40%' align='left'>" objrs.movenext Loop objrs.close Set objrs = Nothing objconn.close Set objconn = Nothing Se non ha funzionato, leggi i messaggi che il Browser ti dà sulla pagina. Io qui uso IE5.5 e se per esempio metto l'indirizzo del database sbagliato mi dice: Error Type: Microsoft JET Database Engine (0x ) 'C:\asptutorial\tut\crm.mdb' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides. /tut/check_connection.asp, line 4 Svelto, guardo subito alla linea 4 e vedo subito dove è il problema. Se a questi punto il database non funziona non puoi continuare con le lezioni. Quindi concentrati e lavora. Quando sei riuscito a vedere il contenuto del tuo database, prosegui con la lezione 11 e vediamo un po' che cosa è che abbiamo fatto in realtà.

3 Facciamo la conoscenza con il Connection e il Recorset Congratulazioni ;o) Adesso che hai passato questo ostacolo, non ce ne sono più. Di qui in poi, è tutta discesa. A dir la verità, è proprio incredibile come si fa presto al giorno d'oggi. Fino a poco tempo fa ci sarebbero volute delle settimane per fare una cosa simile. La metafora del Lego sta diventando più e più realtà. Allora cos'è che abbiamo fatto esattamente? Cosa significa il codice che abbiamo usato? Cominciamo dal principio: Abbiamo già visto prima come si costruisce un oggetto con NewMail. Qui faremo lo stesso. Costruiamo un oggetto Connection che appartiene ad ADO e lo chiamiamo objconn. Set objconn = Server.CreateObject("ADODB.Connection") Poi usando il metodo Open del Connection Object ci colleghiamo al database: objconn.open("provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:/asptutorial/crm.mdb") Adesso abbiano bisogno di un oggetto Recordset (anche questo di ADO) per metterci dentro tutti i nostri dati che vengono fuori quando interroghiamo il database. Set objrs = Server.CreateObject("ADODB.Recordset") E poi con il metodo Execute dell'oggetto Connection eseguiamo una query al database e depositiamo il risultato nel recordset che abbiamo costruito. set objrs = objconn.execute("select * from tbl_feedback") Ciò che faremo di qui in poi l'abbiamo già visto. Questo While Loop semplicement dice "fai finché non siamo arrivati alla fine del file" (EOF = End Of File) Do While NOT objrs.eof Scrivimi il nome, e commenti del primo record: response.write "nome = " & objrs("nome") & "<br>" response.write " = " & objrs(" ") & "<br>" response.write "commenti = " & objrs("commenti") & "<br>" response.write "<hr size='1' color='midnightbluè width='40%' align='left'>" e quando l'hai fatto spostati al prossimo record objrs.movenext e rifallo

4 Loop Poi si pulisce. objrs.close Set objrs = Nothing objconn.close Set objconn = Nothing Tutto qui. Naturalmente questa non è l'unica maniera di scrittura del codice e forse neanche la più efficiente, comunque avrai poi tempo di sperimentare per conto tuo. Questo metodo è semplice e valido. Bisogna sottolineare che è molto importante chiudere il recordset e la connection. Vedremo i motivi un po' più avanti. La regola più importante per accedere ad una database è uguale a quella nell'affrontare una rotonda stradale: entra più svelto che puoi ed esci appena possibile. Quindi la connection deve essere chiusa al più presto possibile in modo da far posto a un'altra macchina. È più che sicuro che nella nostra applicazione queste righe di code saranno ripetute molte volte anche spesso nella stessa pagina. Anche se fai 100 chiamate nella stessa pagina mai lasciare aperta la connection, chiudila sempre e crearne un'altra quando ne hai bisogno. Altrimenti se continui a girare intorno e intorno gli altri faranno fatica ad entrare. Allora, vediamo se possiamo semplificare un po' il codice che abbiamo scritto per evitare di scrivere sempre tutto. Per esempio la string che usiamo per collegarci al database, poiché è sempre la stessa, non potremmo metterla nel global.asa? Ricordi? Se la mettiamo in quel file ce l'abbiamo sempre e se spostiamo il database da un'altra parte o se ne facciamo un'altra dobbiamo solo cambiare quella linea e tutto il resto funziona. Sub Application_OnStart() strdbconn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:/asptutorial/crm.mdb" Set Application("dbconn") = strdbconn End Sub Cosi che nelle nostre pagine ci colleghiamo così: objconn.open Application("dbconn") O ancora meglio, potremmo scriver una procedura Sub Prendi_Recordset(objConn, objrs, strconn, strsql) 'Purpose: riceve un recordset dalla mia database 'Date: 28 March 2001 Set objconn = Server.CreateObject("ADODB.Connection") objconn.open strconn

5 Set objrs = objconn.execute (strsql) End Sub Tutte le volte che devi accedere al database basta una riga sola call Prendi_recordset(objConn, objrs, strconn, strsql) dove naturalmente strconn e strsql sono: strsql ="SELECT * from tbl_feedback" strconn = Application("dbconn") e così finiamo questo programma per bene. (Segue check_connection.asp) Option Explicit 'Purpose: controlla se la nostro database funzione 'Date: 28 March 2001 Dim objconn, objrs call Main() Sub Main() 'Purpose: logica dell'applicazione 'Date: 28 March 2001 Dim strconn, strsql strconn = Application("dbconn") strsql ="SELECT * from tbl_feedback" call Prendi_Recordset(strConn, strsql) call Guarda_Recordset(objRs) 'pulisci e chiudi objrs.close Set objrs = Nothing objconn.close Set objconn = Nothing End sub Sub Guarda_Recordset(objRs) 'Purpose: mostra un recordset dalla mia database 'Date: 28 March 2001 Do while NOT objrs.eof response.write "nome = " & objrs("nome") & "<br>" response.write " = " & objrs(" ") & "<br>" response.write "commenti = " & objrs("commenti") & "<br>" response.write "<hr size='1' color='midnightbluè width='40%' align='left'>" objrs.movenext Loop End sub Function Prendi_Recordset(strConn, strsql) 'Purpose: riceve un recordset da un query 'Date: 28 March 2001 Set objconn = Server.CreateObject("ADODB.Connection") objconn.open strconn Set objrs = objconn.execute (strsql) End Function Conoscenza col Connection e Recordset non basta

6 Nella lezione precedente siamo riusciti a estrarre un recordset dal nostro database. Bene, da qualche parte si deve pur cominciare. Se non l'avevi mai fatto sono sicuro che sei molto contento con te stesso ;o) L'oggetto Recordset però è un po' più complicato di quello che abbiamo fatto fino adesso. Se ci hai fatto caso, nel programma check_connection.asp abbiamo dovuto mantenere la Connection con il database aperta finché non abbiamo finito col recordset. La ragione è che il metodo che abbiamo adoperato, essendo il più semplice, ci ha dato un Connected Recordset. C'è un'altra maniera, e più efficiente di estrarre un recordset che ci permette di chiudere la connection non appena i dati sono arrivati. Questo è il Disconnected Recordset. Modifichiamo il nostro Prendi_Recordset così che possiamo chiudere la connection subito. Prima però abbiamo bisogno di includere un file che contiene i valori delle costanti di ADO. Il file si chiama adovbs.inc e si include nella pagina con questa sintassi: <!--#include virtual="yourwebroot/dovelatrovo/adovbs.inc"--> Lo so che non abbiamo parlato di Includes e forse è meglio se ne parliamo subito. Gli Includes sono un po' come le Funtions e le Procedures e si adoperano per incapsulare del codice in modo da poterlo riutilizzare in molte pagine. Il motore di ASP, quando vede una direttiva "include", cerca il file e inserisce il codice che trova in quel punto del file. Personalmente io adopero poco i file include perché rendono il codice più difficile da leggere e possono creare problemi se la struttura del directory del sito cambia. Di regola si fa una folder chiamata include e tutte le include si chiamano di li. Per convenzione sono chiamati con estensione.inc ma le puoi chiamare anche con.asp. Come tutto il resto possono contenere ASP, HTML o una mescolanza di tutto. Con un po' di giudizio sono molto utili e anche noi li adopereremo presto. Il più grande vantaggio è che se mettiamo un file include che, per esempio, contiene un numero di funzioni utili al principio di tutte le nostre pagine, quando cambiamo l'include non dobbiamo cambiare nessuna delle nostre pagine. Ma riprendiamo con la nostra funzione che ci dà indietro un recordset disconnesso. Function Prendi_Recordset(strConn, strsql) 'Purpose: ritorna un disconnetted recordset 'Date: 28 March 2001 Dim objconn, objrs Set objconn = Server.CreateObject("ADODB.Connection") objconn.open strconn Set objrs = Server.CreateObject("ADODB.Recordset") objrs.cursorlocation = aduseclient objrs.open strsql, objconn, adopenforwardonly, adlockbatchoptimistic Set objrs.activeconnection = Nothing objconn.close Set objconn = Nothing Prendi_RecordSet = objrs

7 End Function Ne segue che dalla nostra pagina la chiamiamo con: Set objrs = Prendi_RecordSet(strConn, strsql) La ragione per cui è preferibile chiudere le connessioni al database al più presto è che le connessioni richiedono al server risorse considerevoli. In più se non le chiudiamo esplicitamente rimangono aperte, con il risultato che le performance del Server deteriorano drasticamente. Non vogliamo, insomma, fare aspettare i nostri utenti più di quello che devono. Spesso però dobbiamo fare delle query al database che non richiedono che il codice ci ritorni un recordset. Per esempio se volessimo inserire un nuovo record nella nostro database o se ne volessimo cambiare uno già in esistenza. In questi casi è sufficiente collegarci e eseguire la query, così: dbconn = Application("dbconn") strsql = "INSERT INTO tbl_feedback ( nome, , commenti, ricevuto ) Values('amerigo therè,now());" Set objconn = Server.CreateObject("ADODB.Connection") objconn.open dbconn objconn.execute strsql Quando questi programmi non funzionanao subito come vorresti, usa il response.write per vedere cosa è che non va. Per esempio con: Response.write strsql Potresti vedere il code sql della tua query. Se lo tagliamo e lo incolliamo nella query window di Access vedi subito se funziona o no. Lo puoi mettere a posto da lì e quando ha funzionato in Access lo puoi incollare di nuovo nel tuo programma. Anche in questi case sarebbe meglio fare una Function così che la possiamo usare dappertutto e in una maniera uniforme. Sub fai_query(strconn, strsql) 'Purpose: fa una query con una string valida di SQL 'Date: 29 March 2001 Dim objconn Set objconn = Server.CreateObject("ADODB.Connection") objconn.open strconn objconn.execute strsql objconn.close set objconn = Nothing End Sub

8 Quando la chiamiamo dal nostro programma, questo basta Call fai_query( strconn, strsql) A questo punto abbiamo un bell'esempio per l'uso di una include file. Se mettiamo queste Procedure e funzioni che abbiamo scritto per connetterci al database in un file unico e chiamandolo attrezzi_db.inc, possiamo adoperarle dappertutto nelle nostre pagine. <!--#file virtual=lamiawebroot/include/attrezzi_db.inc --> Il nostro programma diventa molto più facile da leggere, ci risparmiamo un mucchio di linee di codice e siamo sicuri che chiudiamo le Connections. Non ho ancora finito. Lezione pratica. Adesso che sai recuperare un record dal database e metterne dentro uno nuovo non ci rimane un gran che da fare. Per fare qualcosa di utile cerchiamo allora di costruire un'applicazione che ci permetta di inserire delle informazioni nel database attraverso una form e di mostrarle quando visualizziamo una pagina. Per esempio: se volessimo mostrare notizie di attualità sul nostro sito e cambiarle ogni giorno, non sarebbe meglio automatizzare il lavoro invece di scrivere HTML in continuazione? Io penso di sì! Allora scriviamo il pseudocodice che descrive l'applicazione: Input Se la form è vuota Mostrala Se no Entra I dati nel database Output Prendi il recordset dal database Formattalo e mostralo all'utente Subito costruiamo un'altra tabella per questa applicazione dove mettiamo i seguenti campi: tbl_news Nome campo Tipo campo Id Titolo Sottotitolo Testo Data_vivo Data_morto primary key Text Memo Memo date/time date/time Hai fatto? Via! La form la fai con gli occhi chiusi. Io, qui sotto, modifico quella che abbiamo già

9 fatto per il feedback, è quasi uguale. Salva questa form e chiamala news.inc Io uso i file include (.inc) di rado, ma ora voglio farti vedere un po' tutte le maniere in cui si può lavorare. <-- NEWS.INC--> <-- input form per le news applicazione--> <HTML> <HEAD> <TITLE>News Input</TITLE> </head> </HEAD> <BODY> 'usiamo questa flag per controllare se la form è stata mandata <FORM ACTION="news.asp?submitted=true" METHOD="post"> <div align="center"> <table border="0" width="95%" celpadding="2" cellspacing="2"> <td><h1>entra le news per oggi qui... <hr align="left" size="1" width="100%" color="navy"></h1> <td align="center"><br><br> <table width="80%" border="0" celpadding="2" cellspacing="2"> <td>titolo <td><input NAME="titolo" TYPE="TEXT" size="80" MAXLENGTH="80"> <td>sottotitolo <td valign="top"> <TEXTAREA NAME="sottotitolo" ROWS="3" COLS="60"></TEXTAREA> <td valign="top">news <td><textarea NAME="news" ROWS="10" COLS="60"></TEXTAREA> <td nowrap>data di entrata <td valign="top"> <INPUT NAME="vivo" TYPE="TEXT" Value="= Now() " size="24" MAXLENGTH="24"> <td nowrap>data di scadenza <td valign="top"> <INPUT NAME="morto" TYPE="TEXT" size="24" MAXLENGTH="24"> <td valign="top"><b> </b> <td> <td colspan="2" align="center"> <table width="40%" border="0" celpadding="6" cellspacing="2"> <td align="right"> <INPUT TYPE="submit" NAME="submit" VALUE="Entra"> <td align="left"> <INPUT TYPE="reset" NAME="Reset" VALUE="Reset"> </table> </table> </table> </div> </FORM> </BODY> </HTML>

10 L'unica cosa che ancora non hai visto qui è la maniera in cui inseriamo il valore dalla data di oggi. Mi sembra che ne abbiamo parlato nella prima lezione. Inutile farlo a mano, no? <td nowrap>data di entrata <td valign="top"> <INPUT NAME="vivo" TYPE="TEXT" Value="= Now() " size="24" MAXLENGTH="24"> Le date sono sempre un po' problematiche con le banche dati e nel maneggiarle di sicuro ti verrà qualche capello bianco. Infatti paesi diversi adoperano formati diversi. Per esempio negli USA la data è sempre riportata come mese/giorno/anno, mentre in Europa è giorno/mese/anno. A dirti la verità io odio le date ma, hey! Non si può farne a meno. Adesso mettiamoci intorno il resto del programma adoperando quella library che abbiamo già fatto attrezzi_db.asp. Includendola abbiamo accesso alle nostre funzioni. Option Explicit 'Purpose: applicazione per le news 'Date: 30 March 2001 <!-- la mia è nella stessa folder --> <!-- #include file="attrezzi_db.asp" --> Dim strconn, message Dim titolo, sottotitolo, testo, vivo, morto call Main() Sub Main() 'Purpose: la logica dell'applicazione 'Date: 29 March 2001 Dim submitted, query, form submitted = Request.QueryString("submitted") If submitted then call vendemmia(form) query = costruisci_query(titolo,sottotitolo,testo,vivo,morto) strconn = Application("dbconn") 'questa è in attrezzi_db.inc, ti ricordi? quindi ce l'abbiamo call fai_query(strconn, query) call quale_risultato(message) else <!-- mettiamo la form qui --> <!-- #include file="news.inc"--> end if end Sub Sub vendemmia(form) 'Purpose: raccogli i dati dalla form 'Date: 29 March 2001 corregge il problema di " 'questo Replace lo facciamo per il carattere """ 'altrimenti la Database si confonde titolo = Replace(Request.Form("titolo"),"'","''") sottotitolo = Replace(Request.Form("sottotitolo"),"'","''") testo = Replace(Request.Form("news"),"'","''") vivo = Request.Form("vivo") morto = Request.Form("morto") end sub Function costruisci_query(titolo,sottotitolo,news,vivo,morto)

11 'Purpose: costruisce la query 'Date: 29 March 2001 Dim strsql strsql = "INSERT INTO tbl_news ( titolo, sottotitolo, testo, data_vivo, data_morto)" strsql = strsql & " Values('" strsql = strsql & titolo & "','" strsql = strsql & sottotitolo & "','" strsql = strsql & testo & "','" strsql = strsql & vivo & "','" strsql = strsql & morto & "')" 'se hai dei guai costruendo questa, metti un 'Response.Write strsql & "<br>" 'così la vedi e la puoi accomodare costruisci_query = strsql End Function Sub quale_risultato(message) 'Purpose: cronaca il risultato della query e formatta una risposta 'Date: 29 March 2001 Select case message case "ok" response.write "Tutto è andato bene, <br> e grazie per il pesce." response.write "<br><br><div align='center'><a href='javascript:history.back()'>click to go back</a></div>" case "not ok" response.write "È un grosso disastro! <br> Chissa cosa è successo?" response.write "Prova a scrivere la query e altre variabili per vedere se riesci a risolvere il problema." response.write "<br>anche la professione del falegname è onorevole ;o)" response.write "<br><br><div align='center'><a href='javascript:history.back()'>click to go back</a></div>" case else response.write "Se sei qui è metafisica pura" end select end sub Non è un gran che diverso da quello che abbiamo già fatto prima. Ma come sempre quando si comincia a scrivere il codice il pseudocodice si espande e così il nostro originale è diventato: Input Se la form NON è vuota includi il file attrezzi.asp vendemmia la form costruisci la query esegui la query chek per errori Entra I dati nelil database cronaca il risultato Se no Mostra la Form finito Costruire la query, cosa che ancora non avevamo fatto, è sempre un po' difficile ma richiede solo attenzione. Le prime volte è sempre meglio stamparla così si vede cosa non va. Più che altro stai attento alla sintassi mettendola in ordine come ho fatto io, o ancora di più se vuoi. Ordine is GOOD! Per esempio guarda come spesso si programma in ASP:

12 strsql = "INSERT INTO tbl_news ( titolo, sottotitolo, _ testo, data_vivo, data_morto) Values ('"_ & titolo& "','" & sottotitolo & "', ' " & testo &_ "','" &vivo& "','" & morto & "')" Come fai a vedere errori di sintassi qui? e questa è una query da bambini. Ancora meglio di quello che ho fatto io sarebbe: strsql = "INSERT INTO tbl_news" strsql = strsql & "(" strsql = strsql & "titolo," strsql = strsql & "sottotitolo," strsql = strsql & "testo," strsql = strsql & "data_vivo, " strsql = strsql & "data_morto)" strsql = strsql & " Values('" strsql = strsql & titolo strsql = strsql & "','" strsql = strsql & sottotitolo strsql = strsql & "','" strsql = strsql & testo strsql = strsql & "','" strsql = strsql & vivo strsql = strsql & "','" strsql = strsql & morto strsql = strsql & "')" Vedi come è più facile trovare errori con un buon layout? Un altro cambiamento è avvenuto nella nostra fai_query(), la funzione che esegue la query. Quando si fanno delle query al database c'è sempre la possibilità che qualche cosa non funzioni e così è indispensabile controllare ogni errore. Guarda come abbiamo modificato il code di fai_query(): On Error Resume Next objconn.execute strsql if err = 0 then objconn.close set objconn = Nothing message = "ok" else message = "not ok" end if la linea On Error Resume Next forza il programma a continuare in caso di errore. Se non c'è un errore, l'oggetto Error rimane a zero e noi implementiamo un flag che dice "ok" ma se un errore è occorso allora mandiamo un messaggio al nostro utente per dirgli che qualcosa non ha funzionato. La nuova procedura quale_risultato(message) manda il messaggio che vogliamo noi invece di uno che vuole Microsoft. Allora tutto quello che rimane è formattare l'output ma lo faremo nella prossima lezione.

13 Come presentare l'output Questa lezione sarà di riposo. Vogliamo solo finire la nostra applicazione per le news e sappiamo già cosa dobbiamo fare. Vediamo allora come formattare l'output: Output Prendi il recordset dalil database Format e mostrala al cliente Se modifichiamo il nostro file check_connection.asp esso dovrebbe già fare tutto. Cambiamo la query e basta. Ma adesso mi accorgo che questa lezione non è un riposo poiché abbiamo a che fare con delle date ;o( Beh, tanto vale che risolviamo il problema. Se vogliamo che il nostro programmino di News sia utile bisogna che facciamo vedere solo le News che si riferiscono alla data corrente quindi la nostra query deve tener conto forzatamente della data e dovrebbe diventare select * from tbl_news where data_morto < oggi In genere il formato della data dipende da come il server è stato configurato e non sempre noi abbiamo controllo del server. Diciamo che il tuo sito è su un server a Bologna e tutto funziona perfettamente. Domani invece lo muovi su un server a Seattle (USA) perché ti costa la metà, funzionerà tutto bene anche lì? Io credo di no. Il server americano di sicuro salva la data come mese/giorno/anno mentre a Bologna tu adoperavi giorno/mese/anno. Se, per esempio, si vuole inserire un comando del tipo: se 02/03/01 è diverso da 03/02/01 allora cambia la data a Bologna sarà vero ma a Seattle non lo sarà più anche se la data è la stessa. Come facciamo a risolvere questi problemi? Non è poi così difficile è solo una seccatura. Prova un po' questo: Option Explicit dim oggi,x oggi = date() response.write "oggi = " & oggi & "<br>" x = split(oggi, "/") response.write "x(0) = " & x(0) & "<br>" response.write "x(1) = " & x(1) & "<br>" response.write "x(2) = " & x(2) & "<br>"

14 Con la funzione Split riusciamo a separare i tre campi della data. Una volta che li abbiamo così, possiamo rimetterli a posto come vogliamo noi data_bologna = x(0) & "/" & x(1) & "/" & x(2) data_seattle = x(1) & "/" & x(0) & "/" & x(2) Allora adesso che abbiamo risolto il problema della data, torniamo al nostro output per il programma News. Prendi il vecchio check_connection.asp è chiamalo news_out.asp. L'unica cosa da fare qui è cambiare: Sub Guarda_Recordset(objRs) così che si presenta un po' meglio. Prima però mettiamo un altro campo nel database così che possiamo mandare i nostri clienti direttamente ad un'altra pagina dove la news viene mostrata per intero o ad un altro sito dove ci sono informazioni più approfondite. Naturalmente bisogna anche cambiare l'input così che possiamo inserire questo URL nel database. Ora la nostra tbl_news ha un campo chiamato url e questi comandi vanno nel nostro news.inc: <td nowrap>url <td valign="top"><input NAME="url" TYPE="TEXT" size="24" MAXLENGTH="100"> Allora adesso dobbiamo fare in modo che la pagina mostri il titolo e il sottotitolo di tutte le news che abbiamo con la data_morto > (maggiore) di oggi. Poi quando il cliente clicca sul titolo il testo deve apparire per intero. Adesso la mia procedura è diventata: Sub Guarda_Recordset(objRs) 'Purpose: mostra un format recordset dalla mia database 'Date: 28 March 2001 dim titolo, sottotitolo, test, url 'vendemmia la form titolo = objrs("titolo") sottotitolo = objrs("sottotitolo") url = objrs("url") Do while NOT objrs.eof 'tanto per cambiare possiamo usare HTML puro <table width="80%" border="0" cellpadding="4" cellspacing="2"> <td rowspan="2" width="5%" valign="top"><img src="news.gif" width="32" height="36" alt="" border="0"> <td bgcolor="#8b4513" widrh="100%"><a href="=objrs("url")"><font size="+2" color="white">=titolo</font></a>

15 <td bgcolor="#b8860b"><font size="+1" color="white">=sottotitolo </table> objrs.movenext Loop End sub Come vedi puoi formattare l'output come vuoi e come hai sempre fatto. L'unica linea che non abbiamo commentato è quella dell'url <a href="=objrs("url")">=titolo</a> Si potrebbe anche fare molto meglio passando l'id della news nella Request.Querystring così: <a href="=objrs("url")?id==objrs("id")=titolo</a> se questa sintassi ti sembra un po' confusa prova invece: response.write "<a href='" & url & "?id=" & id "'>" & titolo & "</a>" tutte e due danno lo stesso risultato. Ormai è tutto semplice no?

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

ESEMPI DI FORM (da www.html.it)

ESEMPI DI FORM (da www.html.it) ESEMPI DI FORM (da www.html.it) Vediamo, nel particolare, tutti i tag che HTML 4.0 prevede per la creazione di form. Questo tag apre e chiude il modulo e raccoglie il contenuto dello stesso,

Dettagli

Ora possiamo specificare la dimensione della casella di immissione dati.

Ora possiamo specificare la dimensione della casella di immissione dati. 1 di 6 17/04/2012 6.37 D'ora in poi, per maggiore chiarezza, scriverò solo quello che sta fra i due tag . Tralascerò i tag head, body, title e form. Ovviamente nei tuoi documenti è necessario che

Dettagli

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati.

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati. I FORM Che cosa sono e che caratteristiche hanno Un form contiene molti oggetti che permettono di inserire dati usando la tastiera. Tali dati verranno poi inviati alla pagina php che avrà il compito di

Dettagli

PHP: form, cookies, sessioni e. Pasqualetti Veronica

PHP: form, cookies, sessioni e. Pasqualetti Veronica PHP: form, cookies, sessioni e mysql Pasqualetti Veronica Form HTML: sintassi dei form 2 Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni.

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL.

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL. Data: 8 Ottobre 2013 Release: 1.0-15 Feb 2013 - Release: 2.0 - Aggiunta procedura per inviare email da Windows con php Release: 2.1-20 Mar 2013 Release: 2.2-8 Ottobre 2013 - Aggiunta procedura per inviare

Dettagli

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser.

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser. Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser. Se vogliamo accedere alla nostra casella di posta elettronica unipg.it senza usare un client di posta (eudora,

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

Come trovare clienti e ottenere contatti profilati e ordini in 24 ore!

Come trovare clienti e ottenere contatti profilati e ordini in 24 ore! Come trovare clienti e ottenere contatti profilati e ordini in 24 ore! oppure La Pubblicità su Google Come funziona? Sergio Minozzi Imprenditore di informatica da più di 20 anni. Per 12 anni ha lavorato

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza.

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza. Relazione tecnica Fibonacci ANDENA GIANMARCO Traccia: Creare un algoritmo che permetta, dato un valore intero e positivo, di stabilire la sequenza utilizzando la regola di fibonacci dei numeri fino al

Dettagli

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers La procedura di installazione è divisa in tre parti : Installazione dell archivio MySql, sul quale vengono salvati

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

Questo é il link all altra pagina

<a href= page2.html > Questo é il link all altra pagina </a> <a href= page2.html > <img src= lamiaimmagine.jpg/> </a> Tutorial 4 Links, Span e Div È ora di fare sul serio! Che ci crediate o no, se sei arrivato fino a questo punto, ora hai solo bisogno di una cosa in più per fare un sito reale! Al momento hai una pagina

Dettagli

Che Cos'e'? Introduzione

Che Cos'e'? Introduzione Level 3 Che Cos'e'? Introduzione Un oggetto casuale e' disegnato sulla lavagna in modo distorto. Devi indovinare che cos'e' facendo click sull'immagine corretta sotto la lavagna. Piu' veloce sarai piu'

Dettagli

Pasta per due. Capitolo 1. Una mattina, Libero si sveglia e accende il computer C È POSTA PER TE! e trova un nuovo messaggio della sua amica:

Pasta per due. Capitolo 1. Una mattina, Libero si sveglia e accende il computer C È POSTA PER TE! e trova un nuovo messaggio della sua amica: Pasta per due 5 Capitolo 1 Libero Belmondo è un uomo di 35 anni. Vive a Roma. Da qualche mese Libero accende il computer tutti i giorni e controlla le e-mail. Minni è una ragazza di 28 anni. Vive a Bangkok.

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

GUIDA alla configurazione di un DVR o Router su dyndns.it. in modalità compatibile www.dyndns.org

GUIDA alla configurazione di un DVR o Router su dyndns.it. in modalità compatibile www.dyndns.org GUIDA alla configurazione di un DVR o Router su dyndns.it in modalità compatibile www.dyndns.org Questa semplice guida fornisce le informazioni necessarie per eseguire la registrazione del proprio DVR

Dettagli

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa di Ilaria Lorenzo e Alessandra Palma Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa Code::Blocks

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

FileMaker Server 13. Pubblicazione Web personalizzata con PHP

FileMaker Server 13. Pubblicazione Web personalizzata con PHP FileMaker Server 13 Pubblicazione Web personalizzata con PHP 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker

Dettagli

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Supponiamo sempre di avere un ponte stretto che permette il passaggio delle auto solo in un verso per volta,

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

Dettagli

Traduzione di TeamLab in altre lingue

Traduzione di TeamLab in altre lingue Lingue disponibili TeamLab è disponibile nelle seguenti lingue nel mese di gennaio 2012: Traduzioni complete Lingue tradotte parzialmente Inglese Tedesco Francese Spagnolo Russo Lettone Italiano Cinese

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

IMPOSTARE UNA MASCHERA CHE SI APRE AUTOMATICAMENTE

IMPOSTARE UNA MASCHERA CHE SI APRE AUTOMATICAMENTE IMPOSTARE UNA MASCHERA CHE SI APRE AUTOMATICAMENTE Access permette di specificare una maschera che deve essere visualizzata automaticamente all'apertura di un file. Vediamo come creare una maschera di

Dettagli

Esercizi su HTML e JavaScript

Esercizi su HTML e JavaScript Linguaggi per il Web prof. Riccardo Rosati Corso di laurea in Ingegneria dei sistemi informatici Sapienza Università di Roma, a.a. 2014/2015 Esercizi su HTML e JavaScript Esercizio 1 (a) Scrivere un documento

Dettagli

IT-BOOK. Domini Hosting Web marketing E-mail e PEC

IT-BOOK. Domini Hosting Web marketing E-mail e PEC 5 giugno 09 IT-BOOK Configurazioni e cartatteristiche tecniche possono essere soggette a variazioni senza preavviso. Tutti i marchi citati sono registrati dai rispettivi proprietari. Non gettare per terra:

Dettagli

Gli asteroidi. Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it

Gli asteroidi. Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it Esempio sull'utilizzo dell'osservatorio Virtuale Gli asteroidi Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it Distribuzione degli asteroidi Il Sistema Solare è composto

Dettagli

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1 Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati

Dettagli

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960.

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960. File di dati Definizione File di dati Insieme di record omogenei memorizzati in memoria di massa Bianchi Verdi Neri Verdi Anna Roma 1980 Luca Milano 1960 Andrea Torino 1976 Paola Bari 1954 Record Operazioni

Dettagli

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Lezione 15 File System

Lezione 15 File System Lezione 15 File System Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

Installazione di GFI Network Server Monitor

Installazione di GFI Network Server Monitor Installazione di GFI Network Server Monitor Requisiti di sistema I computer che eseguono GFI Network Server Monitor richiedono: i sistemi operativi Windows 2000 (SP4 o superiore), 2003 o XP Pro Windows

Dettagli

Guida agli strumenti etwinning

Guida agli strumenti etwinning Guida agli strumenti etwinning Registrarsi in etwinning Prima tappa: Dati di chi effettua la registrazione Seconda tappa: Preferenze di gemellaggio Terza tappa: Dati della scuola Quarta tappa: Profilo

Dettagli

iphone in azienda Guida alla configurazione per gli utenti

iphone in azienda Guida alla configurazione per gli utenti iphone in azienda Guida alla configurazione per gli utenti iphone è pronto per le aziende. Supporta Microsoft Exchange ActiveSync, così come servizi basati su standard, invio e ricezione di e-mail, calendari

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

Import Dati Release 4.0

Import Dati Release 4.0 Piattaforma Applicativa Gestionale Import Dati Release 4.0 COPYRIGHT 2000-2005 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati.questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

SQL Injection: le tecniche, i tool ed esempi pratici OWASP. The OWASP Foundation

SQL Injection: le tecniche, i tool ed esempi pratici OWASP. The OWASP Foundation SQL Injection: le tecniche, i tool ed esempi pratici SMAU E- Academy 2006 Antonio Parata collaboratore -Italy http://www.ictsc.it antonio.parata@ictsc.it http://www.owasp.org/index.php/italy Copyright

Dettagli

Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk. by Gassi Vito info@gassielettronica.com

Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk. by Gassi Vito info@gassielettronica.com Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk by Gassi Vito info@gassielettronica.com Questa breve guida pratica ci consentirà installare Zeroshell su pen drive o schede

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Si prega di comunicare eventuali errori o inesattezze riscontrate, scrivendo una mail a: otebac@beniculturali.it

Si prega di comunicare eventuali errori o inesattezze riscontrate, scrivendo una mail a: otebac@beniculturali.it TEMPLATE IN MWCMS D A N I E L E U G O L E T T I - G R U P P O M E T A Si prega di comunicare eventuali errori o inesattezze riscontrate, scrivendo una mail a: otebac@beniculturali.it C ONTENTS I template

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

8. L'USO DEL PROGRAMMA DI POSTA ELETTRONICA INSIEME ALLA GESTIONE PROFESSIONALE DI DOCUMENTI IN FORMATO E-MAIL

8. L'USO DEL PROGRAMMA DI POSTA ELETTRONICA INSIEME ALLA GESTIONE PROFESSIONALE DI DOCUMENTI IN FORMATO E-MAIL This project funded by Leonardo da Vinci has been carried out with the support of the European Community. The content of this project does not necessarily reflect the position of the European Community

Dettagli

OVI-SUITE E NAVIGAZ. WEB CON CELLULARE

OVI-SUITE E NAVIGAZ. WEB CON CELLULARE OVI-SUITE E NAVIGAZ. WEB CON CELLULARE 1) Ovviamente anche su quelle GPRS, inoltre il tuo modello supporta anche l'edge. Si tratta di un "aggiornamento" del GPRS, quindi è leggermente più veloce ma in

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Uso di form HTML per inviare dati nel web dinamico. I form HTML ed il web dinamico. Struttura di base dei form HTML. Form: controlli di input

Uso di form HTML per inviare dati nel web dinamico. I form HTML ed il web dinamico. Struttura di base dei form HTML. Form: controlli di input I form HTML ed il web dinamico Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica orario.html Uso di form HTML per inviare dati nel web dinamico partenza arrivo data browser

Dettagli

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti 1 Web conferencing software Massimiliano Greco - Ivan Cerato - Mario Salvetti Arpa Piemonte 2 Che cosa è Big Blue Button? Free, open source, web conferencing software Semplice ed immediato ( Just push

Dettagli

Outlook Express 6 Microsoft Internet Explorer, Avvio del programma Creare un nuovo account

Outlook Express 6 Microsoft Internet Explorer, Avvio del programma Creare un nuovo account Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito, semplice da utilizzare e fornisce

Dettagli

GUIDA WINDOWS LIVE MAIL

GUIDA WINDOWS LIVE MAIL GUIDA WINDOWS LIVE MAIL Requisiti di sistema Sistema operativo: versione a 32 o 64 bit di Windows 7 o Windows Vista con Service Pack 2 Processore: 1.6 GHz Memoria: 1 GB di RAM Risoluzione: 1024 576 Scheda

Dettagli

PROVA DI ITALIANO - Scuola Primaria - Classe Seconda

PROVA DI ITALIANO - Scuola Primaria - Classe Seconda Rilevazione degli apprendimenti PROVA DI ITALIANO - Scuola Primaria - Classe Seconda Anno Scolastico 2011 2012 PROVA DI ITALIANO Scuola Primaria Classe Seconda Spazio per l etichetta autoadesiva ISTRUZIONI

Dettagli

Data warehouse.stat Guida utente

Data warehouse.stat Guida utente Data warehouse.stat Guida utente Versione 3.0 Giugno 2013 1 Sommario INTRODUZIONE 3 I concetti principali 4 Organizzazione dei dati 4 Ricerca 5 Il browser 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della

Dettagli

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer Servizi DNS - SMTP FTP - TELNET Programmi Outlook Express Internet Explorer 72 DNS Poiché riferirsi a una risorsa (sia essa un host oppure l'indirizzo di posta elettronica di un utente) utilizzando un

Dettagli

Alb@conference GO e Web Tools

Alb@conference GO e Web Tools Alb@conference GO e Web Tools Crea riunioni virtuali sempre più efficaci Strumenti Web di Alb@conference GO Guida Utente Avanzata Alb@conference GO Per partecipare ad un audioconferenza online con Alb@conference

Dettagli

Elaidon Web Solutions

Elaidon Web Solutions Elaidon Web Solutions Realizzazione siti web e pubblicità sui motori di ricerca Consulente Lorenzo Stefano Piscioli Via Siena, 6 21040 Gerenzano (VA) Telefono +39 02 96 48 10 35 elaidonwebsolutions@gmail.com

Dettagli

MANUALE DI UTILIZZO SMS MESSENGER

MANUALE DI UTILIZZO SMS MESSENGER MANUALE DI UTILIZZO SMS MESSENGER (Ultimo aggiornamento 14/05/2014) 2013 Skebby. Tutti i diritti riservati. INDICE INTRODUZIONE... 1 1.1. Cos è un SMS?... 1 1.2. Qual è la lunghezza di un SMS?... 1 1.3.

Dettagli

O r a r e, e s s e r e a m i c i di c h i d a v v e r o c i a m a

O r a r e, e s s e r e a m i c i di c h i d a v v e r o c i a m a O r a r e, e s s e r e a m i c i di c h i d a v v e r o c i a m a Ci situiamo Probabilmente alla tua età inizi ad avere chiaro chi sono i tuoi amici, non sempre è facile da discernere. Però una volta chiaro,

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

Dettagli

PRESENTAZIONE DI UN SMS AL GATEWAY

PRESENTAZIONE DI UN SMS AL GATEWAY Interfaccia Full Ascii Con questa interfaccia è possibile inviare i dati al Server utilizzando solo caratteri Ascii rappresentabili e solo i valori che cambiano tra un sms e l altro, mantenendo la connessione

Dettagli

EndNote Web è un servizio online per la gestione di bibliografie personalizzate integrabili nella redazione di testi: paper, articoli, saggi

EndNote Web è un servizio online per la gestione di bibliografie personalizzate integrabili nella redazione di testi: paper, articoli, saggi ENDNOTE WEB EndNote Web è un servizio online per la gestione di bibliografie personalizzate integrabili nella redazione di testi: paper, articoli, saggi EndNote Web consente di: importare informazioni

Dettagli

VENDI QUELLO CHE HAI E SEGUIMI. Commento al Vangelo di p. Alberto Maggi OSM

VENDI QUELLO CHE HAI E SEGUIMI. Commento al Vangelo di p. Alberto Maggi OSM XXVIII TEMPO ORDINARIO 11 ottobre 2009 VENDI QUELLO CHE HAI E SEGUIMI Commento al Vangelo di p. Alberto Maggi OSM Mc 10, 17-30 [In quel tempo], mentre Gesù andava per la strada, un tale gli corse incontro

Dettagli

Ultimo aggiornamento.: 18/02/2006 Pagina 1 di 25

Ultimo aggiornamento.: 18/02/2006 Pagina 1 di 25 Introduzione al programma POWERPOINT Ultimo aggiornamento.: 18/02/2006 Pagina 1 di 25 Introduzione al programma POWERPOINT 1 1 Introduzione al programma 3 2 La prima volta con Powerpoint 3 3 Visualizzazione

Dettagli

Mai più senza smartphone.

Mai più senza smartphone. Mai più senza smartphone. Il telefonino ha superato il pc come mezzo di consultazione del web: 14,5 milioni contro 12,5 milioni.* Sempre più presente, lo smartphone è ormai parte integrante delle nostre

Dettagli

LA TEORIA DEL CUCCHIAIO

LA TEORIA DEL CUCCHIAIO 90 ICARO MAGGIO 2011 LA TEORIA DEL CUCCHIAIO di Christine Miserandino Per tutti/e quelli/e che hanno la vita "condizionata" da qualcosa che non è stato voluto. La mia migliore amica ed io eravamo nella

Dettagli

MailStore Proxy è disponibile gratuitamente per tutti i clienti di MailStore Server all indirizzo http://www.mailstore.com/en/downloads.

MailStore Proxy è disponibile gratuitamente per tutti i clienti di MailStore Server all indirizzo http://www.mailstore.com/en/downloads. MailStore Proxy Con MailStore Proxy, il server proxy di MailStore, è possibile archiviare i messaggi in modo automatico al momento dell invio/ricezione. I pro e i contro di questa procedura vengono esaminati

Dettagli

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT Introduzione Un file batch è un file di testo di tipo ASCII che contiene una sequenza di comandi DOS. I file batch devono avere estensione.bat I comandi DOS all interno dei programmi batch sono eseguiti

Dettagli

Guida all uso. Come ricevere ed inviare Fax ed Sms tramite E-mail in 3 semplici passi.

Guida all uso. Come ricevere ed inviare Fax ed Sms tramite E-mail in 3 semplici passi. Guida all uso Come ricevere ed inviare Fax ed Sms tramite E-mail in 3 semplici passi. Legenda Singolo = Fax o SMS da inviare ad un singolo destinatario Multiplo = Fax o SMS da inviare a tanti destinatari

Dettagli

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux.

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux. FAQ su GeCo Qual è la differenza tra la versione di GeCo con installer e quella portabile?... 2 Esiste la versione per Linux di GeCo?... 2 Quali sono le credenziali di accesso a GeCo?... 2 Ho smarrito

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

Integrare le MFC con Irrlicht. Sezione 1: Creazione del progetto. by Raffaele White tiger Mancuso

Integrare le MFC con Irrlicht. Sezione 1: Creazione del progetto. by Raffaele White tiger Mancuso Integrare le MFC con Irrlicht by Raffaele White tiger Mancuso In questo topic spiegherò come integrare irrlicht in un documento singolo MFC *(1). Io ho usato il visual c++ 6 ma la procedura dovrebbe essere

Dettagli

NAS 321 Hosting di più siti web in un host virtuale

NAS 321 Hosting di più siti web in un host virtuale NAS 321 Hosting di più siti web in un host virtuale Hosting di più siti web e abilitazione del servizio DDNS A S U S T O R C O L L E G E OBIETTIVI DEL CORSO Al termine di questo corso si dovrebbe essere

Dettagli

DNS (Domain Name System) Gruppo Linux

DNS (Domain Name System) Gruppo Linux DNS (Domain Name System) Gruppo Linux Luca Sozio Matteo Giordano Vincenzo Sgaramella Enrico Palmerini DNS (Domain Name System) Ci sono due modi per identificare un host nella rete: - Attraverso un hostname

Dettagli

Introduzione al VHDL. Alcuni concetti introduttivi

Introduzione al VHDL. Alcuni concetti introduttivi Introduzione al VHDL Alcuni concetti introduttivi Riferimenti The VHDL Cookbook, Peter J. Ashenden, Reperibile nel sito: http://vlsilab.polito.it/documents.html The VHDL Made Easy, David Pellerin, Douglas

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

CURSOS AVE CON TUTOR

CURSOS AVE CON TUTOR CURSOS AVE CON TUTOR DOMANDE PIÙ FREQUENTI (FAQ) A che ora ed in quali giorni sono fissate le lezioni? Dal momento in cui riceverai le password di accesso al corso sei libero di entrare quando (24/24)

Dettagli

Guida ai Servizi Voce per l Utente. Guida ai ai Servizi Voce per l Utente

Guida ai Servizi Voce per l Utente. Guida ai ai Servizi Voce per l Utente Guida ai Servizi Voce per l Utente Guida ai ai Servizi Voce per l Utente 1 Indice Introduzione... 3 1 Servizi Voce Base... 4 1.1 Gestione delle chiamate... 4 1.2 Gestione del Numero Fisso sul cellulare...

Dettagli