Archivio Mensile di
Aprile 2006
Attualità 19 Aprile 2006, 20:05:19, 50 parole
Adesso che
è stato confermato che “la coalizione di liste avente come capo Prodi Romano ha conseguito la cifra elettorale nazionale di 19.002.598, mentre la coalizione di liste avente come capo Silvio Berlusconi ha conseguito la cifra elettorale nazionale pari a 18.977.843″, te ne vuoi andare fuori dalle palle, si o no?
Visual Basic.NET - Programmazione 18 Aprile 2006, 18:26:49, 678 parole
Vb.Net: leggere dati da un file di testo e inserirli in un foglio Excel esistente usato come modello
Il titolo del post presenta già in modo diretto ed esauriente quello che sarà l’argomento. Riporto infatti, adeguatamente spiegato e commentato, il codice di una mini Console Application in Visual Basic.Net (2005, framework .Net 2.0) che mi son scritto ad hoc per copiare dei dati contenuti in un file di testo su un foglio Excel dato come modello in modo del tutto automatico, lanciando solo l’applicazione da linea di comando.
Prima cosa, al solito, aggiungere il riferimento ai componenti Excel. In visual studio si va in Project, Add Reference (”Aggiungi Riferimento” nella versione in ita) e nel tab “COM” si cerca “Microsoft Excel 10.0 Object Library”, lo si seleziona e si da OK.
Veniamo al codice:
Sub Main()
Dim n As Integer
Dim i As Integer
'creo una nuova istanza dell'oggetto Excel Application
Dim appExcel As New Excel.Application
'dichiaro una cartella di lavoro
Dim wbookExcel As Excel.Workbook
'dichiaro un foglio di lavoro
Dim foglioExc As Excel.Worksheet
Siccome i dati li devo inserire in un ben determinato range di celle definisco colonna iniziale e finale e riga iniziale e finale di tale range.
Dim firstCol As Integer = 2
Dim lastCol As Integer = 16
Dim firstRow As Integer = 12
Dim lastRow As Integer = 21
'dichiaro un'oggetto StreamReader
'che userò per leggere dal file di testo
Dim objReader As StreamReader
'rendo visibile il foglio excel (apro l'applicazione)
appExcel.Visible = True
appExcel.Workbooks.Add()
In questo caso il file Excel di esempio usato come modello si trova nella stessa directory di dove verrà fatto girare il programma:
'Apro il file excel usato come modello
wbookExcel = appExcel.Workbooks.Open(CurDir() + "\Analisi.xls")
'Vado a lavorare sul foglio desiderato della cartella
'indicandone il nome
foglioExc = appExcel.Worksheets("Tabella2")
'Associo lo streamReader al file da leggere
objReader = New StreamReader("utilizzazione1.txt")
Inserisco i dati nelle celle desiderate con un un ciclo annidato:
'Inserisco i dati nelle posizioni desiderate
For i = firstRow To lastRow
For n = firstCol To lastCol
'scrivo il valore letto nella cella
foglioExc.Cells(i, n).Value = objReader.ReadLine().Replace(".", ",")
Next n
Next i
A questo proposito occorre fare una importante precisazione e cioè che qui, avendo sempre lo stesso numero di valori (150 nel mio caso) da inserire e sempre nello stesso range di celle, non ho fatto particolari controlli o gestito eccezioni. Se ad esempio nel file di testo avessi meno di 150 valori verrebbe generata un’eccezione perchè tenterei una lettura impossibile una volta raggiunto il numero di valori presenti nel file.
Altra cosa:
Il metodo Replace così invocato mi va a sostituire nella stringa che ho letto tutte i punti con le virgole. Questo ho dovuto farlo semplicemente perchè i miei dati erano dei numeri con la parte decimale separata dal punto (output di un programma in C) mentre su Excel, avendo la versione in italiano, li dovevo inserire separati dalla virgola.
'Salvo con un altro nome cosi non altero il modello
foglioExc.SaveAs(CurDir() + "\Utilizzazione1.xls")
'chiudo
appExcel.Quit()
End Sub
Web e dintorni - Attualità 15 Aprile 2006, 17:28:33, 16 parole
Eccelso
Questo post di Leonardo. Da leggere assolutamente. Ormai non so più come elogiare la sua scrittura.
Games 12 Aprile 2006, 19:57:01, 274 parole
CoD2 e gente malata
Ultimamente sto giocando praticamente ad un solo videogioco, Call Of Duty 2, rigorosamente in rete. Soprattutto in rete locale (virtuale, tramite hamachi) con amici, ma ogni tanto gioco anche su qualche server pubblico in Internet, anche se lì si rasenta la follia. Quando si gioca tra di noi il vero valore aggiunto è dato dal fatto che mentre giochiamo siamo contemporaneamente in conferenza audio tutti insieme (o divisi per squadre) su skype e li son gran risate perchè volano insulti di ogni genere. La qualità è perfetta sia del gioco che della conferenza, l’equivalente di come se fossimo realmente tutti nella stessa stanza in rete locale fisica. Ma fin qui niente di nuovo, nel senso che ci giochiamo da un po’ di tempo anche se non ne avevo mai scritto.
Quello per cui mi son messo a scrivere un post al riguardo è che in sti giorni ho scoperto che c’è gente veramente avanti. Son quelli del AllOutWar Clan che gestiscono alcuni server di CoD2 (col PowMod, davvero fico) e che ricevendo da tali server dei dati, pubblicano così utenti connessi e punteggi in tempo reale sul loro sito.
Oggi ho provato, e questo è l’esempio di quanto pubblicato sul sito:

Si vede tra l’altro che ho fatto il secondo miglior punteggio ;), nonostante giocassimo in 10 contro 6 e io fossi, ahimè, nei 6.
Considerazioni finali:
- C’è davvero uno sproposito di gente che gioca a CoD2, ad ogni ora del giorno non ci son mai su meno di 6-7mila server.
- C’è gente che ci va fuori di testa con editing, mod, trucchi, creazione di mappe, ecc..
- E’ comunque un gioco fantastico anche in single player.
Boh, detto tutto.
Attualità 11 Aprile 2006, 15:26:23, 297 parole
Sintesi perfetta
Allora, finalmente è ufficiale, Berlusconi ha perso. Si lo ammetto, preferisco dire così piuttosto che ha vinto Prodi.
Detto questo, ho letto, da più parti in rete, negli ultimi giorni della storia dei numeri sull’incremento del reddito medio degli italiani in questi cinque anni, pubblicati su quella specie di rivista che ha mandato a casa della gente (che io ovviamente non ho neanche guardato) prima delle elezioni. Trovo che questa cosa rappresenti una sintesi davvero perfetta del modo in cui ha governato in questi 5 anni. Ma facciamo un breve ripasso per chi non ha sentito parlare di quanto sto dicendo.
Sul libretto c’è un dato che dice “27.119 dollari è il reddito odierno degli italiani (nel 2001 era di 24.670 dollari)”. Al che uno cosa direbbe? “Madonna che incremento, che figata!”, giusto??
Si, un pollo direbbe cosi e correrebbe a votare Berlusconi. Uno un minimo attento per lo meno penserebbe “Ma perchè ’sto qua ci da i valori sul reddito degli italiani in dollari e non in euro?!”. Semplicissimo. Nel 2001 per fare un dollaro ci volevan 1 euro e 15 cents mentre oggi bastano 82-83 cents. Dai dai su, facciam 2 semplici conticini:
24.670 dollari = 24.670 X 1,15 = 28.370,50 Euro
27.119 dollari = 27.119 X 0,83 = 22.508,77 Euro
Quindi anzichè un AUMENTO del reddito di 2.449 dollari, c’è stata una DIMINUIZIONE di 5.861,73 euro.
Questo è stato il modo di agire del governo in questi anni. Cercava soltanto di coglionare la gente. Ma, in fondo, non è colpa di Berlusconi, è colpa della gente che credeva alle serie di numeri che snocciolava. Un po’ come quelli che si son fatti infinocchiare da Vanna Marchi, per intenderci.
(a proposito ne ho letto: sul blog di Di Pietro, poi qui e in altri posti che non ricordo ma che se ritrovo linko)
Attualità 09 Aprile 2006, 15:38:43, 2 parole
Sto andando a votare ora
Vita Quotidiana 06 Aprile 2006, 19:11:08, 93 parole
Ieri sciopero, oggi…pure!
Ieri, causa sciopero dei treni, non sono andato in uni. Oggi invece ci sono andato, in macchina all’andata. I problemi sono nati ora di tornare a casa, col treno ovviamente. L’incaricato di riportarmi a casa era il regionale Alessandria - Chivasso delle 16:50, ora prevista di arrivo 17:39. Se non fosse che il sucitato treno è partito alle 17:59, 20 minuti dopo l’ora del mio teorico arrivo a casa. 1 ora e 9 minuti di ritardo! 1 ora e 9 minuti di ritardo su un viaggio della durata dichiarata di 49 minuti. Assurdo.
Attualità 04 Aprile 2006, 17:20:16, 101 parole