September 1st, 2008 by Delivery
No comments »
La morte di per se porta un carico di tragedia che trafigge come lama affilata il cuore di tutte le persone vicine allo scomparso…ma morire così è qualcosa che davvero lacera il petto e fa riflettere sul senso della vita….
Alcuni giorni orsono apprendo questa tragica notizia della morte di alcuni giovani del Vallo di Diano tra i quali una persona da me conosciuta. Non posso nemmeno immaginare quale dolore abbia colpito la famiglia Spinelli ma partecipo al loro dolore nel salutare per sempre il loro caro figlio Giuseppe…
Fonte Il Mattino
August 27th, 2008 by Delivery
No comments »
Si si …ci sono..grazie per esservi preoccupati!!
In effetti è troppo tempo che non scrivo ma, vuoi per mancanza di tempo, vuoi per le mie 3 settimane di ferie, non ho avuto un attimo di pace per postare.
Comunque mi rifarò in questi giorni perchè ho delle notizie interessanti….quindi…
stay tuned!
June 4th, 2008 by Delivery
No comments »
Il grande Michele Locuratolo è negli States in qualità di speaker al grande evento "TECH-ED 2008" ad Orlando.
Nel suo blog trovate i vari eventi e notizie su questo suo meraviglioso viaggio, in particolare questo
suo diretto intervento….
In bocca al lupo Miki!!!!!
Ci becchiamo al tuo ritorno 
e non dimenticarti del regalino!!! jajajaj
May 7th, 2008 by Delivery
No comments »
May 5th, 2008 by Delivery
No comments »
In questi giorno ho ricevuto delle mail che mi segnalavano l’impossibilità a contattarmi mediante il form “Contact me” del mio blog. MI scuso con tutti quelli che hanno provato a farlo e che non sono riusciti.
Comunque il tutto è stato ripristinato
Grazie
April 29th, 2008 by Delivery
No comments »
A chi non è mai venuto in testa di crittare i propri dati in maniera abbastanza sicura? A me di certo capita tutti i giorni. Spero che questo breve tutorial possa aiutarvi a realizzare una encription abbastanza potente:
Vi allego la classe pronta all’utilizzo:
StringsExtensions.zip
Vi basterà importarla nel vostro codice:
ImportsWindowsApplication1.StringExtensions
ed utilizzare i metodi in questo modo:
Dim stringaDaCrittare = "Ciao Gaetano"
Dim stringaCrittata As String
stringaCrittata = stringaDaCrittare.Trim.CryptFromString("gaetano")
In questo modo abbiamo crittato la nostra stringa “stringaDaCrittare” con il metodo Rfc2898DeriveBytes messo a disposizione già dal Framework 2.0. Il metodo “CryptFromString” necessita si una password di crittazione assegnata ogni volta dall’utente (password di crittaggio e decrittaggio devono coincidere ovviamente)
Dim stringaCrittata = "A8 B4 C9 F1 A2"
Dim stringaDaDecrittare As String
stringaDaDecrittare = stringaCrittata.Trim.DecryptFromString("gaetano")
…qualora voleste decrittare una stringa precedentemente crittata con lo stesso metodo (e password!)
Semplice no?
Riferimenti alla classe “Rfc2898DeriveBytes” qui
April 24th, 2008 by Delivery
No comments »
Auguri di
alla mia dolce metà per il suo COMPLEANNOOOOOO!!!! 
FELIZ CUMPLEANOS MI NINITA!
April 23rd, 2008 by Delivery
No comments »
Con il seguente codice avrete la possibilità di gestire l’autenticazione del report principale e di tutti i sottoreport da esso richiamati, oltre alla possibilità di passare eventuali parametri impostati nel report (nell’esempio vengono letti da quarystring, ma potrebbero benissimo essere parametri di session…). Il mio problema era proprio quello di settare i parametri di connessione dei singoli sottoreport. E’ la funzione “SetDBLogonForSubreports” che svolge questo compito.
Spero possa esservi di aiuto: (prerequisiti: Visual Studio 2005 e CrystalReports)
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page
Private MyReport As ReportDocument
Private Sub ConfigureCrystalReports()
'carico il report
MyReport = New ReportDocument()
Dim reportPath As String = Server.MapPath("TuoReportMaster.rpt")
MyReport.Load(reportPath)
'passo i parametri di connessione al report
Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
'parametri presenti nel webconfig
myConnectionInfo.DatabaseName =
System.Configuration.ConfigurationManager.AppSettings("Database")
myConnectionInfo.UserID =
System.Configuration.ConfigurationManager.AppSettings("UserName")
myConnectionInfo.Password =
System.Configuration.ConfigurationManager.AppSettings("Password")
myConnectionInfo.ServerName =
System.Configuration.ConfigurationManager.AppSettings("Server")
'autentico il mio report principale
SetDBLogonForReport(myConnectionInfo, MyReport)
'autentico tutti i sottoreport richiamati dal report principale
SetDBLogonForSubreports(myConnectionInfo, MyReport)
'passo eventuali parametri al report principale
Dim paramFields As New ParameterFields()
Dim discreteVal As New ParameterDiscreteValue()
Dim parametro1 As New ParameterField()
Dim parametro2 As New ParameterField()
'passo il primo parametro
parametro1.ParameterFieldName = "@Parametro1DelReport"
discreteVal = New ParameterDiscreteValue()
discreteVal.Value = Request.QueryString("Parametro1")
'in questo caso leggo da una querysting
MyReport.SetParameterValue("@Parametro1DelReport", discreteVal.Value)
'passo il secondo parametro
parametro2.ParameterFieldName = "@Parametro2DelReport"
discreteVal = New ParameterDiscreteValue()
discreteVal.Value = Request.QueryString("Parametro1")
'secondo parametro anche passato in querysting
MyReport.SetParameterValue("@Parametro1DelReport", discreteVal.Value)
End Sub
Private Sub SetDBLogonForReport(ByVal myConnectionInfo
As ConnectionInfo, ByVal myReportDocument As ReportDocument)
'subroutine che setta i parametri di connessione del report principale
Dim myTables As Tables = myReportDocument.Database.Table
Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
For Each myTable In myTables
Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
myTableLogonInfo.ConnectionInfo = myConnectionInfo
myTable.ApplyLogOnInfo(myTableLogonInfo)
Next
End Sub
Private Sub SetDBLogonForSubreports(ByVal myConnectionInfo
As ConnectionInfo, ByVal myReportDocument As ReportDocument)
'subroutine che setta i parametri di connessione di
'tutti i sottoreport richiamati dal report principale
Dim mySections As Sections = myReportDocument.ReportDefinition.Sections
Dim mySection As Section
For Each mySection In mySections
Dim myReportObjects As ReportObjects = mySection.ReportObjects
Dim myReportObject As ReportObject
For Each myReportObject In myReportObjects
If myReportObject.Kind = ReportObjectKind.SubreportObject Then
Dim mySubreportObject As SubreportObject =
CType(myReportObject, SubreportObject)
Dim subReportDocument As ReportDocument =
mySubreportObject.OpenSubreport mySubreportObject.SubreportName)
SetDBLogonForReport(myConnectionInfo, subReportDocument)
End If
Next
Next
End Sub
Protected Sub Page_Load(ByVal sender As Object,
ByVal e As System.EventArgs) Handles Me.Load
'richiamo i parametri di configurzione
ConfigureCrystalReports()
'esporto il report in pdf
Dim oStream As New MemoryStream ' // using System.IO
oStream = MyReport.ExportToStream
(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/pdf"
Response.BinaryWrite(oStream.ToArray())
Response.End()
End Sub
End Class
Se tutto è stato impostato correttamente dovreste vedere il vostro bel pdf saltare fuori
April 21st, 2008 by Delivery
No comments »
Gironzolando per il web mi sono imbattuto in questa bellissima web-application interamente scritta in Silverlight:
http://www.windowsvista.si/main.htm
Davvero carina (anche se è tutto in sloveno).
April 19th, 2008 by Delivery
No comments »
In questi giorni mi sono dedicato interamente allo sviluppo di un’applicazione client ed avevo l’esigenza di modificare continuamente da form la connessione al Database (sqlServer). Immaginate quanto sia seccante ogni volta andare nell’ app.config e cambiare ogni volta i parametri. Beh..ecco un trucchetto che potrebbe esservi utile per fare una cosa del genere a Runtime:
Ovviamente non abbiamo accesso in scrittura all’app.config quindi la prima cosa da fare è crearci una Property all’interno del namespace My in questo modo:
Public WriteOnly Property RunTimeConnectionString() As String
Set(ByVal value As String)
My.Settings("MiaConnectionString") = value
End Set
End Property
Bene..ora nell’evento MySettings_PropertyChanged (cioè alla modifica delle nostre impostazioni) testiamo la connessione (non è obbligatorio ma facciamolo per evitare che l’applicazione vada in crash 
Private Sub MySettings_PropertyChanged(ByVal sender As Object, ByVal e As
System.ComponentModel.PropertyChangedEventArgs) Handles Me.PropertyChanged
Dim connection As New SqlClient.SqlConnection
connection.ConnectionString = My.Settings("MiaConnectionString")
Try
connection.Open()
Catch ex As Exception
MsgBox("Errore di connessione al Database. Verificare la connessione",
MsgBoxStyle.Critical, "Connessione")
Finally
connection.Close()
End Try
End Sub
Ok..ci siamo quasi. Ora creiamoci una bella form dove inserire i dati relativi alla nostra connessione al Database. Creiamo qualcosa di simile:

Ora non ci resta che salvare le impostazioni relative alla nostra connessione mediante la chiamata alla nostra Property creata in precedenza in questo modo:
My.Settings.RunTimeConnectionString = "Data Source=" & ServerTxt.Text & ";Initial Catalog=
" & dbTxt.Text & ";Persist Security Info=True;
User ID=" & userTxt.Text & "; Password=" & passTxt.Text
Le informazioni relative nostra conenssione sono state aggiornate!!! 