Archivio Mensile di
Dicembre 2005
Università 30 Dicembre 2005, 17:21:00, 158 parole
Staranno sicuramente scherzando
Quelli della mia università intendo. Il perchè è presto detto. Oggi mentre cazzeggiavo per la rete mi è venuto in mente di andare a vedere se era già uscito l’orario delle lezioni per il prossimo periodo didattico e quello che mi si è presentato davanti agli occhi una volta caricata la pagina mi ha subito fatto pensare ad uno scherzo.
Lunedi: 9 - 18
Martedi: 9 - 18
Mercoledi: 9 - 16
Giovedi: 9 - 18
Venerdi: 9 - 16
6 corsi, 36 ore settimanali al primo anno di specialistica, ma siamo matti?
Occorre subito dare una limatina al tutto per renderlo più digeribile. Ed ecco che la soluzione si presenta da sè, immediata. Elimino “basi di dati avanzate” che mi vale il finire alle 16 invece che alle 18 al lunedi e al giovedi e il finire alle 13 e saltare il pomeriggio al mercoledi.
Ed è già nettamente meglio, tanto 6 esami in un periodo è impossibile darli, quindi quello aspetterà il suo momento.
Blogging - Web Tecnica 22 Dicembre 2005, 22:55:22, 107 parole
Wordpress plugin: SH-Autolink
Ho installato questo comodissimo plugin che trasforma le parole presenti in un elenco, personalizzabile ovviamente, direttamente nei corrispondenti link, risparmiandomi cosi lo sporco lavoro di inserirli a mano. Bè più che installato diciamo che l’ho “aggiunto”, visto che da installare non c’è proprio nulla. Si scarica il plugin e lo si inserisce nella directory “plugin” di wordpress, poi dopo averlo attivato, nella console di amministrazione di wordpress sotto la voce “manage” si nota che compare un nuovo tab chiamato appunto “SH-Autolink”. Qui si vanno ad aggiungere le parole e i relativi link che d’ora in poi verranno inseriti automaticamente, sia nei post che nei commenti.
Molto molto comodo.
Music 20 Dicembre 2005, 01:40:42, 226 parole
No Chris, non fare scherzi
Leggo stasera su rockstar.it una dichiarazione del bassista dei Coldplay che mi lascia un po’ preoccupato:
Sapete bene che ogni gruppo dice sempre la stessa cosa, ma il nostro prossimo disco sarà realmente differente dagli ultimi tre, perché sarebbe troppo noioso per noi e per tutti comporre un disco uguale ai precedenti. Abbiamo già detto in passato che questi tre LP formano una trilogia e adesso è arrivato il momento di andare avanti. Ci sentiamo come se non dovessimo più dimostrare nulla e questo ti da una meravigliosa carica creativa, sei libero di provare cose nuove. Nelle composizioni utilizzeremo molta più elettronica, ma non saremo introspettivi.
Subito mi vengono in mente i Radiohead, il cui percorso musicale è stato proprio di questo tipo, partiti anche loro con una stupenda trilogia iniziale, dall’esordio con Pablo Honey (1993) alla consacrazione con Ok Computer (1997) passando per il validissimo secondo capitolo, The Bends (1995). Poi il cambiamento, la sperimentazione, l’elettronica, che li ha portati verso altre strade, quelle di Kid A, di Amnesiac, quelle sbagliate insomma. A mio modesto parere, s’intende. Per questo tali dichiarazioni mi spaventano un po’, non vorrei si infognassero anche loro in qualche percorso sonoro non proprio di loro competenza col rischio di uscirne magari con qualche batosta. Quindi, anche se le dichiarazioni sono del bassista Guy Berryman, io voglio lanciare un avvertimento al buon Chris. Occhio.
Music - Web e dintorni 13 Dicembre 2005, 16:15:38, 77 parole
Un ringraziamento molto gradito
In questo post ricevo il ringraziamento ufficiale da parte dell’autore del blog di rockstar.it, Leonardo Clausi, per aver segnalato pandora.com (del quale ho parlato qui) nei commenti in risposta ad un suo post sulle radio digitali sul web.
La cosa mi ha fatto piacere e, da parte mia, ho subito inoltrato i ringraziamenti a chi lo ha fatto scoprire a me tramite questa discussione su karmacoffee.org (update: il karmacoffee.org che intendo io non esiste più, ora c’è altro).
Music - Blogging 13 Dicembre 2005, 01:52:17, 44 parole
Pubblicato su oasisitalia.it
La recensione che avevo fatto del concerto degli Oasis del 30 ottobre al Forum di Assago l’avevo inviata anche allo staff di oasisitalia.it che me l’ha pubblicata e, ad oggi, è già stata letta 64 volte.
L’indirizzo è questo.
Io, contento di ciò, li ringrazio.
Visual Basic.NET - Programmazione 09 Dicembre 2005, 20:21:43, 769 parole
VB.NET: Esportare un database Access su un foglio Excel
In questo post faccio un esempio di come esportare i dati contenuti in un database Access su un foglio di calcolo Excel da una applicazione realizzata in Visual Basic.NET
Immaginiamo quindi di avere nella nostra applicazione un pulsante la cui routine di gestione dell’evento click deve andare a leggere i dati dal database e crearci un foglio di lavoro di Excel contenente gli stessi dati possibilmente formattati in un modo decente. In questo esempio (come in altri precedenti) abbiamo una tabella contenente informazioni su cd musicali (artista, titolo, ecc).
Update: mi son dimenticato una cosa importante. Ovviamente per poter utilizzare gli oggetti della libreria dei componenti Excel bisogna aggiungere il riferimento ad essa nel progetto. Per fare questo nel menù si va su Progetto -> Aggiungi Riferimento, nella finestra che si apre si seleziona il tab COM e si cerca la voce Microsoft Excel 10.0 Object Library , si clicca su Seleziona e poi Ok. Fine update.
Da qualche parte nel programma avremo quindi tutte le dichiarazioni degli oggetti necessari per operare sul database, localizzarlo, connetterlo, interrogarlo. Per maggiori informazioni al riguardo rimando a questi 2 post scritti in precedenza:
Dicevamo:
Public PercorsoDB As String = "C:\Documents and Settings\prova\Documenti\Visual Studio Projects\Database\db2.mdb"
'Stringa di Connessione
Public ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & PercorsoDB
Public Cn As New OleDbConnection(ConnString)
Public dr As OleDbDataReader
Public cmd As OleDbCommand
Public sql As String
Ora vediamo in dettaglio la routine di gestione dell’evento click sul pulsante per esportare i dati:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Cn.Open() 'apro la connessione al database
sql = "SELECT artista,titolo,genere,anno,commenti FROM album ORDER BY artista" 'query
cmd = New OleDbCommand(sql, Cn)
dr = cmd.ExecuteReader
Dim i As Integer = 2
Dim f As Integer
'Dichiaro un oggetto di tipo applicazione Excel
Dim ExcelAppl As Excel.Application
'Dichiaro un oggetto di tipo cartella di lavoro di Excel
Dim ExcelBook As Excel.Workbook
'Dichiaro un oggetto di tipo foglio di calcolo Excel(una cartella è composta da più fogli)
Dim ExcelSheet As Excel.Worksheet
'istanzio l'oggetto Applicazione Excel
ExcelAppl = CreateObject("Excel.Application")
ExcelAppl.Visible = True 'per rendere o meno visibile la finestra Excel
Impostando ExcelAppl.Visible = True si indica che si vuole aprire e rendere visibile all’utente l’istanza dell’applicazione Excel eseguita. Cioè l’utente si vede aprire la finestra di Excel allo stesso modo di come se avesse lanciato direttamente il programma Excel o aperto un documento di questo formato. Se lo si imposta a “false” non si ha l’apertura della finestra di Excel ma il lavoro viene fatto diciamo in background e alla fine della routine ci si ritrova il documento Excel creato.
'aggiungo una cartella excel all'applicazione
ExcelBook = ExcelAppl.Workbooks.Add
'Mi posiziono sul foglio attivo, il primo (una cartella di base ne ha 3)
ExcelSheet = ExcelBook.ActiveSheet
'e gli do un nome
ExcelSheet.Name = "Album (CD)"
'indico che i caratteri della prima riga, essendo i nome delle colonne,
'cioè i nomi dei campi del database, devono essere in grassetto
ExcelSheet.Rows.Item(1).font.bold = True
'Assegno un colore di sfondo alle celle che contengono i nomi dei campi del database
ExcelSheet.Range("A1:E1").Interior.Color = RGB(97, 186, 239)
'seleziono il range delle prime 5 (come i campi del database) celle della prima riga
'e gli imposto un bordo spesso intorno
ExcelSheet.Range("A1:E1").BorderAround(, Excel.XlBorderWeight.xlThick)
'imposto allo stesso range i bordi verticali tra le celle un po' più sottili
ExcelSheet.Range("A1:E1").Borders(Excel.XlBordersIndex.xlInsideVertical).Weight = Excel.XlBorderWeight.xlMedium
'assegno al range dei nomi delle colonne un allineamento centrale del testo
ExcelSheet.Range("A1:E1").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
'allineo centralmente anche tutti i valori della colonna 4 che è il valore numerico
'che indica l'anno di pubblicazione del disco
ExcelSheet.Columns.Item(4).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
'imposto la grandezza del carattere
ExcelSheet.Columns.Font.Size = 11
'inserisco gli effettivi valori nelle celle dei nomi delle colonne
ExcelSheet.Cells(1, 1).value = "Artista"
ExcelSheet.Cells(1, 2).value = "Titolo"
ExcelSheet.Cells(1, 3).value = "Genere"
ExcelSheet.Cells(1, 4).value = "Anno"
ExcelSheet.Cells(1, 5).value = "Commenti"
'ciclo che legge i valori dei record e li inserisce nel foglio
'formattando opportunamente i bordi delle celle
Do While dr.Read()
ExcelSheet.Range(ExcelSheet.Cells(i, 1), ExcelSheet.Cells(i, dr.FieldCount)).Borders(Excel.XlBordersIndex.xlInsideVertical).Weight = Excel.XlBorderWeight.xlMedium
ExcelSheet.Range(ExcelSheet.Cells(i, 1), ExcelSheet.Cells(i, dr.FieldCount)).Borders(Excel.XlBordersIndex.xlEdgeLeft).Weight = Excel.XlBorderWeight.xlThick
ExcelSheet.Range(ExcelSheet.Cells(i, 1), ExcelSheet.Cells(i, dr.FieldCount)).Borders(Excel.XlBordersIndex.xlEdgeRight).Weight = Excel.XlBorderWeight.xlThick
ExcelSheet.Range(ExcelSheet.Cells(i, 1), ExcelSheet.Cells(i, dr.FieldCount)).Borders(Excel.XlBordersIndex.xlEdgeBottom).Weight = Excel.XlBorderWeight.xlThin
'ciclo che inserisce gli effettivi valori dei campi dei record
For f = 1 To dr.FieldCount
ExcelSheet.Cells(i, f).value = dr(f - 1)
Next
i += 1
Loop
'imposto il bordo inferiore spesso alle celle dell'ultima riga
ExcelSheet.Range(ExcelSheet.Cells(i - 1, 1), ExcelSheet.Cells(i - 1, 5)).Borders(Excel.XlBordersIndex.xlEdgeBottom).Weight = Excel.XlBorderWeight.xlThick
'imposta la larghezza dell'intera colonna in base a quella della cella con larghezza maggiore
ExcelSheet.Columns.AutoFit()
'salvo il documento excel
ExcelAppl.ActiveWorkbook.SaveAs(Environment.CurrentDirectory & "\album.xls", , , , , , Excel.XlSaveAsAccessMode.xlExclusive)
Cn.Close() 'chiudo la connessione al database
End Sub
Siccome il codice può risultare un po’ incasinato a causa dell’eccessiva lunghezza di alcune istruzioni linko anche la versione .txt del documento dove le righe di codice risultano sicuramente più chiare.
Le 2 immagini riportate qui di seguito mostrano quello che è il risultato ottenuto:
foglio Excel con i dati esportati

anteprima di stampa

Altro 04 Dicembre 2005, 16:31:24, 70 parole
Vizio di famiglia
A quanto pare il grande George Best il vizio dell’alcool da qualcuno lo aveva ereditato.
[…]Terminata la cerimonia, il feretro, avvolto nella bandiera dell’Irlanda del Nord, è stato trasportato nel cimitero di Roselawn, dove Best, 59 anni, verrà sepolto accanto alla madre Anne, morta nel 1968 (prima che Best conquistasse il Pallone d’Oro) per le conseguenze della sua di